| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| for_members [2025/07/15 19:19] – [General guidelines for conducting research in the Oncinfo Lab] habil | for_members [2025/12/06 17:49] (current) – [General guidelines for conducting research in the Oncinfo Lab] habil |
|---|
| - All experiments and analysis are done on **Unix**. That is a __real__ Unix system like Linux, OS X, etc., NOT a virtual machine. Start with a [[https://web.archive.org/web/20230815043906/http://www.ee.surrey.ac.uk/Teaching/Unix/|tutorial]] for beginners. | - All experiments and analysis are done on **Unix**. That is a __real__ Unix system like Linux, OS X, etc., NOT a virtual machine. Start with a [[https://web.archive.org/web/20230815043906/http://www.ee.surrey.ac.uk/Teaching/Unix/|tutorial]] for beginners. |
| - **[[http://www.r-project.org/|R]]** is primarily used for statistical analysis and other scripting purposes in Oncinfo Lab. [[https://www.coursera.org/course/rprog|This]] is a good online course on R which takes about 1 month to complete. A couple of days should be enough to read the [[http://cran.r-project.org/doc/manuals/R-intro.pdf|CRAN's]] good guide for starters to get the basic ideas, cover the [[http://www.r-tutor.com/r-introduction|introduction]] section from R-Tutorial, or learn R preliminaries [[https://rpubs.com/alinemati/learning_R_step_by_step|step by step]] when you have a goog [[https://cran.r-project.org/doc/contrib/Short-refcard.pdf|cheat]] sheet. Avoid using explicit [[https://www.datacamp.com/community/tutorials/tutorial-on-loops-in-r|loops]] and ''apply()'' in R when possible. [[https://www.datacamp.com/|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 [[https://compgenomr.github.io/book/|Genomics]] with R, Bioinformatics with R {{:bioinformatics-r-cookbook.pdf|Cookbook}}, [[http://adv-r.had.co.nz/|Advanced]] R ([[https://adv-r.hadley.nz/|2nd]] Edition) by Hadley Wickham, [[https://booksoncode.com/articles/best-r-books-for-beginners|etc]]. to gradually learn more as they proceed in a project. The next step after learning R is to learn [[http://www.nature.com/nmeth/journal/v12/n2/full/nmeth.3252.html|Bioconductor]]. You can install most packages that we use in the lab by: \\ ''source("~/proj/alzheimer/code/utilities/makeOncinfoUt.R"); \\ OncinfoUt::call.libraries()'' | - **[[http://www.r-project.org/|R]]** is primarily used for statistical analysis and other scripting purposes in Oncinfo Lab. [[https://www.coursera.org/course/rprog|This]] is a good online course on R which takes about 1 month to complete. A couple of days should be enough to read the [[http://cran.r-project.org/doc/manuals/R-intro.pdf|CRAN's]] good guide for starters to get the basic ideas, cover the [[http://www.r-tutor.com/r-introduction|introduction]] section from R-Tutorial, or learn R preliminaries [[https://rpubs.com/alinemati/learning_R_step_by_step|step by step]] when you have a goog [[https://cran.r-project.org/doc/contrib/Short-refcard.pdf|cheat]] sheet. Avoid using explicit [[https://www.datacamp.com/community/tutorials/tutorial-on-loops-in-r|loops]] and ''apply()'' in R when possible. [[https://www.datacamp.com/|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 [[https://compgenomr.github.io/book/|Genomics]] with R, Bioinformatics with R {{:bioinformatics-r-cookbook.pdf|Cookbook}}, [[http://adv-r.had.co.nz/|Advanced]] R ([[https://adv-r.hadley.nz/|2nd]] Edition) by Hadley Wickham, [[https://booksoncode.com/articles/best-r-books-for-beginners|etc]]. to gradually learn more as they proceed in a project. The next step after learning R is to learn [[http://www.nature.com/nmeth/journal/v12/n2/full/nmeth.3252.html|Bioconductor]]. You can install most packages that we use in the lab by: \\ ''source("~/proj/alzheimer/code/utilities/makeOncinfoUt.R"); \\ OncinfoUt::call.libraries()'' |
| - Using **[[https://en.wikipedia.org/wiki/Emacs|Emacs]]**as a powerful, general purpose, text editor is [[https://robertamezquita.github.io/post/2017-04-07-my-emacs-setup/|encouraged]] ([[http://www2.lib.uchicago.edu/keith/tcl-course/emacs-tutorial.html|tutorial]]). In terminal, you can start it by typing emacs even in an SSH session. On Ubuntu you can simply install Emacs using Software Center, or by Package Synaptics, or by the following command: ''sudo apt-get install emacs''. On OS X, you can install [[https://emacsformacosx.com/|Emacs]] For MAC OS X, which is better than Aquamacs. A less recommended option is [[https://vigou3.gitlab.io/emacs-modified-macos/|Emacs Modified for macOS]], which supports [[https://ess.r-project.org/|ESS]] and [[https://www.gnu.org/software/auctex/|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 [[https://www.dropbox.com/s/pdt6fbho57k421d/emacs_UTosx2018|macOS]]. You can add these commands and automatically install the following packages by installing [[https://www.dropbox.com/s/d21azt9hg65sv3f/oncinfo.el?dl=0|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|How to]] page. | - Using **[[https://en.wikipedia.org/wiki/Emacs|Emacs]]**as a powerful, general purpose, text editor is [[https://robertamezquita.github.io/post/2017-04-07-my-emacs-setup/|encouraged]] ([[http://www2.lib.uchicago.edu/keith/tcl-course/emacs-tutorial.html|tutorial]]). In terminal, you can start it by typing emacs even in an SSH session. On Ubuntu you can simply install Emacs using Software Center, or by Package Synaptics, or by the following command: ''sudo apt-get install emacs''. On OS X, you can install [[https://emacsformacosx.com/|Emacs]] For MAC OS X, which is better than Aquamacs. A less recommended option is [[https://vigou3.gitlab.io/emacs-modified-macos/|Emacs Modified for macOS]], which supports [[https://ess.r-project.org/|ESS]] and [[https://www.gnu.org/software/auctex/|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 [[https://www.dropbox.com/s/pdt6fbho57k421d/emacs_UTosx2018|macOS]]. You can add these commands and automatically install the following packages by installing [[https://www.dropbox.com/scl/fi/xjd4l7yzas1n3m7ako8fp/oncinfo.el?rlkey=noxmqf772ogk1c4iaheevbyqa|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|How to]] page. |
| - Using **proprietary** file formats is not professional when you are sharing information (e.g., your CV) with others. The pdf and png formats are OK and portable. Use Google Docs instead of .docx ([[http://You can use this sample as a template: https://docs.google.com/presentation/d/18kjTNomXuH0UUfL5KZYA1qjb3Zck39E8rnyZ-olocZQ/edit#slide=id.g6f6cf82c93_0_99|sample]]), Google Presentation instead of .ppt, .zip or tar.gz instead of rar, etc. See this [[https://free-for.dev/|list]] of free tiers for developers. | - Using **proprietary** file formats is not professional when you are sharing information (e.g., your CV) with others. The pdf and png formats are OK and portable. Use Google Docs instead of .docx ([[http://You can use this sample as a template: https://docs.google.com/presentation/d/18kjTNomXuH0UUfL5KZYA1qjb3Zck39E8rnyZ-olocZQ/edit#slide=id.g6f6cf82c93_0_99|sample]]), Google Presentation instead of .ppt, .zip or tar.gz instead of rar, etc. See this [[https://free-for.dev/|list]] of free tiers for developers. |
| - [[https://www.youtube.com/watch?v=WsofH466lqk|This]] video illustrates **transcription** ([[https://en.wikipedia.org/wiki/Transcription_(genetics)|wikipedia]], [[https://www.youtube.com/watch?v=5MfSYnItYvg|video 2]]), more videos on [[https://www.youtube.com/watch?v=OEWOZS_JTgk|gene expression]] ([[https://en.wikipedia.org/wiki/Gene_expression|wikipedia]]), [[https://www.youtube.com/watch?v=TfYf_rPWUdY|translation]] ([[https://www.youtube.com/watch?v=5bLEDd-PSTQ|detailed]]), etc. | - [[https://www.youtube.com/watch?v=WsofH466lqk|This]] video illustrates **transcription** ([[https://en.wikipedia.org/wiki/Transcription_(genetics)|wikipedia]], [[https://www.youtube.com/watch?v=5MfSYnItYvg|video 2]]), more videos on [[https://www.youtube.com/watch?v=OEWOZS_JTgk|gene expression]] ([[https://en.wikipedia.org/wiki/Gene_expression|wikipedia]]), [[https://www.youtube.com/watch?v=TfYf_rPWUdY|translation]] ([[https://www.youtube.com/watch?v=5bLEDd-PSTQ|detailed]]), etc. |
| - Make sure that your home, work, and scratch directories on the cluster are at least **readable to the group, and not readable to others**. E.g., in your .bashrc, set umask 007 and do the following: \\ ''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 '' \\ There might be some [[https://unix.stackexchange.com/questions/37164/ssh-and-home-directory-permissions|exceptions]] like your private ssh key at ''~/.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. | - Make sure that your home, work, and scratch directories on the cluster are at least **readable to the group, and not readable to others**. E.g., in your .bashrc, set umask 007 and do the following: \\ ''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 '' \\ There might be some [[https://unix.stackexchange.com/questions/37164/ssh-and-home-directory-permissions|exceptions]] like your private ssh key at ''~/.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. |
| - If you are unfamiliar with prior, **posterior**, and likelihood, read about [[https://en.wikipedia.org/wiki/Bayesian_inference|Bayesian inference]]. | - If you are unfamiliar with prior, **posterior**, and likelihood, read about [[https://en.wikipedia.org/wiki/Bayesian_inference|Bayesian inference]]. |
| - To use ref.bib **bibliography** in bibtex, do the following: \\ a) cd proj \\ b) git clone [[mailto:git@bitbucket.org:habilzare/refs.git|git@bitbucket.org:habilzare/refs.git]] \\ c) At the bottom of your LaTeX document, write: \\ \bibliography{\detokenize{~/proj/refs/refs}} \\ d) To add a new entry, find the appropriate format using "Google Scholar Button" (see above, click on the quotation mark at the to right, and then BibTeX at the bottom) copy the entry and see if it is already in the refs.bib file. If not, add it in "**its right location"** (i.e., key are alphabetically ordered) and push. Use the key with the \cite command in your LaTeX file. To compile, use pdflatex, bibtex (without .tex), and pdflatex *2. | - To use ref.bib **bibliography** in bibtex, do the following: \\ a) cd proj \\ b) git clone [[mailto:git@bitbucket.org:habilzare/refs.git|git@bitbucket.org:habilzare/refs.git]] \\ c) At the bottom of your LaTeX document, write: \\ \bibliography{\detokenize{~/proj/refs/refs}} \\ d) To add a new entry, exactly follow the instructions at the top of the file. \\ e) Use the key with the \cite command in your LaTeX file. To compile, use pdflatex, bibtex (without .tex), and pdflatex twice. |
| - Please **cc Habil **on any email that is related to scientific or logistic aspects of your research in the lab, your career development activities, and communications among lab members on issues related to the lab. When you send an email to multiple people, mention the primary addressee at the top. It helps draw the attention of the addressee, and also shows your respect to others who do not need to read your whole message. Usually using "reply-to-all" is preferred on emails with multiple recipients. When possible, reply to the previous email on a topic and avoid creating another thread unnecessarily, which will complicate future references. Emails should be receive some sort of reply within 24 hours even if it is short like "I'll work on it". Otherwise, you will start your next email with "Sorry for the delay". | - Please **cc Habil **on any email that is related to scientific or logistic aspects of your research in the lab, your career development activities, and communications among lab members on issues related to the lab. When you send an email to multiple people, mention the primary addressee at the top. It helps draw the attention of the addressee, and also shows your respect to others who do not need to read your whole message. Usually using "reply-to-all" is preferred on emails with multiple recipients. When possible, reply to the previous email on a topic and avoid creating another thread unnecessarily, which will complicate future references. Emails should be receive some sort of reply within 24 hours even if it is short like "I'll work on it". Otherwise, you will start your next email with "Sorry for the delay". |
| - As employees of UT Health, we can get facilitated appointments with UT Health **primary care physicians** (call: 210-450-9090), or alternatively use [[https://mdlnext.mdlive.com/home?matchtype=e&network=g&device=c&keyword=mdlive&adposition=&gclid=CjwKCAjwy_aUBhACEiwA2IHHQAXl6Lx_FzhKPaDyjCY5ry2vMwXnnqn7lFwcN4qM_rlQdqf3Be7V1BoCw60QAvD_BwE|MDLIVE]] to be virtually visited by a physician. | - As employees of UT Health, we can get facilitated appointments with UT Health **primary care physicians** (call: 210-450-9090), or alternatively use [[https://mdlnext.mdlive.com/home?matchtype=e&network=g&device=c&keyword=mdlive&adposition=&gclid=CjwKCAjwy_aUBhACEiwA2IHHQAXl6Lx_FzhKPaDyjCY5ry2vMwXnnqn7lFwcN4qM_rlQdqf3Be7V1BoCw60QAvD_BwE|MDLIVE]] to be virtually visited by a physician. |