To join and be a good member of the Oncinfo Lab, you need to:
apply()
in R when possible. DataCamp facilitates reading about R and running examples at the same time using a browser. Those who know R to some extent can use these books: Computational Genomics with R, Bioinformatics with R Cookbook, Advanced R (2nd Edition) by Hadley Wickham, etc. to gradually learn more as they proceed in a project. The next step after learning R is to learn Bioconductor. You can install most packages that we use in the lab by: source(“~/proj/alzheimer/code/utilities/makeOncinfoUt.R”);
OncinfoUt::call.libraries()
sudo apt-get install emacs
. On OS X, you can install Emacs For MAC OS X, which is better than Aquamacs. A less recommended option is Emacs Modified for macOS, which supports ESS and AUCTeX. You can customize your emacs by editing .emacs file. Feel free to copy some, but not all, commands from Habil's .emacs file for macOS. You can add these commands and automatically install the following packages by installing oncinfo.el Emacs package, which is not tested well yet. As of 2019, Habil's favorite packages include: rainbow-delimiters, idle-highlight-in-visible-buffers-mode, auto-highlight-symbol, auto-complete-auctex, auto-complete, ess, and yaml. For guidelines on installing these packages and other emacs customizations, see the notes on How to page.rsync -avz -e ssh <usrname>@ls6.tacc.utexas.edu
or scp
to transfer files between the cluster and your computer, and document the exact paths in a readme file in the corresponding folder. Add the readme file to the repository./work/03270/zare/Install/oncinfo_settings
in your .bashrc or other bash scripts so that you do not need to install the software that we often need and are already installed by other lab members. We usually use Lonestar and Maverick for computing, and we archive large data on Ranch based on this protocol. A simple test for running a job on the Lonestar cluster is the following. Look at their user guide and this table of commands for more details. $ ssh <username>@ls6.tacc.utexas.edu
$ cd ~zare
login1.ls6(1099)$ cat ./test.mpi
login1.ls6(1099)$ sbatch ./test.mpi
squeue -u <usrname>
. The output will be saved in the ~/temp
subfolder. If there are multiple files in this folder, look at the newest one. login1.ls6(1099)$ sbatch -p normal -n 1 -t 2 ./test.mpi
habilzare/oncinfo:oncinfo-<version>
and modify only habilzare/oncinfo:oncinfo-dev-<version>
.x ← 5
” for assigning a value to a variable. Do NOT use “x = 5
” or “x←5
”. We usecamelCasein R, so do NOT use underscore, '_', and dot, '.', in variable or function names. E.g., instead of “inverse_of
”, use “inverseOf
” as a variable name or function name so that you can select it by 1 click. Almost all functions must return a list so that extending them will be easy. Use “##
” for comments NOT a single “#
”. Boolean flags and variable names start with and as auxiliary verb like do
, is
, or has
, e.g., doPlot
, isSingle
, hasMeta
, etc. Write the name of the loaded object in a comment in front of load()
. =
in function calls. Good example: average ← mean(feet[ ,“real”]/12+inches, na.rm=TRUE) ## Spaces only around “←” and after “,”
. The space in “[ ,
” is OK, which refers to all rows. It is better to place a space before the parenthesis after “if (
”, “for (
”, and alike, but do NOT use space between a function name and “(”
e.g., write plot(Data)
. Write the FULL name of arguments when calling a function and do NOT reply on their order, which may change in the future. sum
and paste
work on vectors, but not lists. To add or modify a new element to a list use double square brackets like this , not “$
”. You can use “$
” to access elements of a list like A1 ← list1$matrixA
(with some caveates), but NOT to access a column of a data frame. Do not use pipes in R (i.e., %>%
and |>
) due to its drawbacks outlined by Hadley Wickham.chmod -R g+rwX,o-rwx $HOME $WORK $SCRATCH
chmod 600 ~/.ssh/id_rsa ## If you have this file, it MUST be private.
chmod g-w ~ ## Home must NOT be writable by the group otherwise submiting jobs will not be allowed.
chmod 700 ~/.ssh ## Nobody other than you is allowed to change the sensative .ssh folder.
chmod 644 ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys ~/.ssh/known_hosts
~/.ssh/id_rsa
, which must be readable only by you. On Ranch, adding umask in .bashrc. does not work. Instead, create or modify ~/.cshrc. You need to do the above modifications on ALL clusters you use including Lonestar and Ranch.