Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
how_to [2019/10/18 20:50] – [Access a Bioconductor package source code?] admin | how_to [2020/02/04 21:32] – [Install R locally (e.g. on a cluster)?] admin |
---|
| |
---- | ---- |
| |
| ==== Read and write excel files in R ==== |
| |
| Use [[https://cran.r-project.org/web/packages/openxlsx/index.html|openxlsx]] package to read, write and edit xlsx files in R. Package's integration with C++ makes it faster and easier to use. Simplifies the creation of Excel .xlsx files by providing a high level interface to writing, styling and editing worksheets. Through the use of 'Rcpp', read/write times are comparable to the 'xlsx' and 'XLConnect' packages with the added benefit of removing the dependency on Java. |
| |
| <code> |
| E.g. Writing four dataframes in four sheets of excel workbook can be done as follows: |
| library(openxlsx) |
| listDataFrames <- list("GO-BP"=data.frame(egoBP), "GO-MF"=data.frame(egoMF), |
| "KEGG" = data.frame(eKEGG), "NCG" = data.frame(ncg)) |
| xlsFile <- file.path(resultPath, paste0(l1, "_ORA_results.xlsx")) |
| write.xlsx(x=listDataFrames, file=xlsFile) |
| </code> |
| |
| ---- |
| |
| |
==== Set local mirror for Rscript ==== | ==== Set local mirror for Rscript ==== |
---- | ---- |
| |
Add only [[http://stackoverflow.com/questions/7124726/git-add-only-modified-changes-and-ignore-untracked-files|modified]] changes and ignore untracked files using git? | ===== Add only modified changes and ignore untracked files using git? ===== |
| |
<code> | <code> |
</code> | </code> |
| |
If there is a conflict at push time, first pull. Now, you need to look for ">>>" in the code, and manually fix the conflict. Then, push again. | The [[https://stackoverflow.com/questions/7124726/git-add-only-modified-changes-and-ignore-untracked-files|above]] should work if there is no conflict. If there is a conflict at push time, first pull. Now, you need to look for ">>>" in the code, and manually fix the conflict. Then, push again. |
| |
---- | ---- |
| |
| |
==== Use a package that is being developed? ==== | ==== Use a package that is being developed? ==== |
| |
**Convert pdf to MS word?** \\ | **Convert pdf to MS word?** \\ |
Try whatever you can to avoid conversion! Instead, educate your team and your collaborators to use [[https://www.authorea.com/users/54336|Authorea]], [[https://www.overleaf.com/|Overleaf]] or at least google doc. __Only__ if your biologist collaborators cannot [[http://www.dedoimedo.com/computers/latex.html|unfortunately]] edit the LaTeX source, consider using a conversion tool such as docs.[[https://docs.zone/|zone]]. Alternatively, Acrobat Pro can export a .pdf as a .doc file. If Bibtex is not an option, use [[http://www.easybib.com/|EasyBib]]. | Try whatever you can to avoid conversion! Instead, educate your team and your collaborators to use [[https://www.authorea.com/users/54336|Authorea]], [[https://www.overleaf.com/|Overleaf]] or at least Google Doc. In Google Doc, references can be easily handled using [[https://gsuite.google.com/marketplace/app/paperpile/894076725911|Paperpile]], and figures can be automatically numbered using the the [[https://gsuite.google.com/marketplace/app/cross_reference/269114033347?pann=cwsdp&hl=en|Cross Reference]] add-on as suggested in these [[https://lcolladotor.github.io/2019/04/02/how-to-write-academic-documents-with-googledocs/#.Xjne6RNKjUI|guidelines]] on how to write academic documents with Google Docs . __Only__ if your biologist collaborators cannot [[http://www.dedoimedo.com/computers/latex.html|unfortunately]] edit the LaTeX source, consider using a conversion tool such as docs.[[https://docs.zone/|zone]]. Alternatively, Acrobat Pro can export a .pdf as a .doc file. If Bibtex is not an option, use [[http://www.easybib.com/|EasyBib]]. |
| |
---- | ---- |
---- | ---- |
| |
**Write a scientific paper?** \\ | ===== Write a scientific paper? ===== |
Put the figures together and then [[http://www.scidev.net/global/publishing/practical-guide/how-do-i-write-a-scientific-paper-.html|draft]] different [[https://www.nature.com/articles/nmeth.4532?WT.ec_id=NMETH-201712&spMailingID=55474826&spUserID=MTIyMzczNjc4MDI2S0&spJobID=1285409878&spReportId=MTI4NTQwOTg3OAS2|sections]]. Focus the [[http://www.grantcentral.com/strategies-for-avoiding-common-problems-with-research-manuscripts/|Discussion]]. Be careful about [[http://colah.github.io/posts/2019-05-Collaboration/index.html|authorship]]. | Put the figures together and then [[http://www.scidev.net/global/publishing/practical-guide/how-do-i-write-a-scientific-paper-.html|draft]] different [[https://www.nature.com/articles/nmeth.4532?WT.ec_id=NMETH-201712&spMailingID=55474826&spUserID=MTIyMzczNjc4MDI2S0&spJobID=1285409878&spReportId=MTI4NTQwOTg3OAS2|sections]]. Focus the [[http://www.grantcentral.com/strategies-for-avoiding-common-problems-with-research-manuscripts/|Discussion]]. Be careful about [[http://colah.github.io/posts/2019-05-Collaboration/index.html|authorship]]. |
| |
---- | ---- |
| |
**Prepare or review computational biology papers for Nature methods?** \\ | ===== Prepare or review computational biology papers for Nature methods? ===== |
Read their "Reviewing computational methods" ([[http://www.nature.com/nmeth/journal/v12/n12/full/nmeth.3686.html|2015]]) and "Guidelines for algorithms and software in Nature Methods" ([[http://blogs.nature.com/methagora/2014/02/guidelines-for-algorithms-and-software-in-nature-methods.html|2014]]) articles. Provide source code, pseudocode, compiled executables, and the mathematical description. Softwares must be accompanied with documentation, sample data and the expected output, and a license (e.g., GPL≥2). Have a look at [[:the_list_of_computational_biology_papers_in_nature_methods|The list of computational biology papers in Nature Methods]] published in 2015, and the [[https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=9&cad=rja&uact=8&ved=0ahUKEwic2Oum3dvJAhUGeSYKHWurD-EQFghQMAg&url=http%3A%2F%2Ford.ntu.edu.tw%2Ftc%2Fincludes%2FGetFile.ashx%3FmID%3D253%26id%3D1744%26chk%3De15262f3-87bf-4a7e-be6a-4103cbc61968&usg=AFQjCNHfNXyryLDQMWBRrInOpJVKIL0LCA&sig2=8C9UE1arY4vi2q_CUdsdiQ|hints]] by an editor of Nature Communications. | Read their "Reviewing computational methods" ([[http://www.nature.com/nmeth/journal/v12/n12/full/nmeth.3686.html|2015]]) and "Guidelines for algorithms and software in Nature Methods" ([[http://blogs.nature.com/methagora/2014/02/guidelines-for-algorithms-and-software-in-nature-methods.html|2014]]) articles. Provide source code, pseudocode, compiled executables, and the mathematical description. Softwares must be accompanied with documentation, sample data and the expected output, and a license (e.g., GPL≥2). Have a look at [[:the_list_of_computational_biology_papers_in_nature_methods|The list of computational biology papers in Nature Methods]] published in 2015, and the [[https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=9&cad=rja&uact=8&ved=0ahUKEwic2Oum3dvJAhUGeSYKHWurD-EQFghQMAg&url=http%3A%2F%2Ford.ntu.edu.tw%2Ftc%2Fincludes%2FGetFile.ashx%3FmID%3D253%26id%3D1744%26chk%3De15262f3-87bf-4a7e-be6a-4103cbc61968&usg=AFQjCNHfNXyryLDQMWBRrInOpJVKIL0LCA&sig2=8C9UE1arY4vi2q_CUdsdiQ|hints]] by an editor of Nature Communications. |
| |
---- | ---- |
| |
**Set the default width of fill mode (line length) in emacs?** \\ | ===== Set the default width of fill mode (line length) in emacs? ===== |
[[http://stackoverflow.com/questions/3566727/how-to-set-the-default-width-of-fill-mode-to-80-with-emacs|Use]] 'M-x customize-variable' to set 'fill-column' (100 in Oncinfo). Use DejaVu Sans Mono (~[[http://www.leancrew.com/all-this/2009/10/the-compleat-menlovera-sans-comparison/|Menlo]] on MacOS) size 18-20 is an [[http://ergoemacs.org/emacs/emacs_unicode_fonts.html|appropriate]] font for programming in Emacs. To do so, you may need to manually edit your .emacs in [[https://stackoverflow.com/questions/4821984/emacs-osx-default-font-setting-does-not-persist|macOS]], and add the following [[https://stackoverflow.com/questions/4879785/can-i-break-the-long-line-in-emacs-non-windows-to-the-next-line|line]]: | [[http://stackoverflow.com/questions/3566727/how-to-set-the-default-width-of-fill-mode-to-80-with-emacs|Use]] 'M-x customize-variable' to set 'fill-column' (100 in Oncinfo). Use DejaVu Sans Mono (~[[http://www.leancrew.com/all-this/2009/10/the-compleat-menlovera-sans-comparison/|Menlo]] on MacOS) size 18-20 is an [[http://ergoemacs.org/emacs/emacs_unicode_fonts.html|appropriate]] font for programming in Emacs. To do so, you may need to manually edit your .emacs in [[https://stackoverflow.com/questions/4821984/emacs-osx-default-font-setting-does-not-persist|macOS]], and add the following [[https://stackoverflow.com/questions/4879785/can-i-break-the-long-line-in-emacs-non-windows-to-the-next-line|line]]: |
| |
| |
---- | ---- |
| |
| |
==== Get older versions using git? ==== | ==== Get older versions using git? ==== |
---- | ---- |
| |
**Convert gene or protein IDs?** \\ | ===== Convert gene or protein IDs? ===== |
[[https://www.biostars.org/p/22/|Use]] [[https://biodbnet-abcc.ncifcrf.gov/db/db2db.php|bioDBnet]], BioMart - Ensembl, or [[https://bioconductor.org/packages/release/bioc/html/AnnotationDbi.html|AnnotationDbi]] package in R to convert between Entrez Gene, RefSeq, Ensemble, and many more. | [[https://www.biostars.org/p/22/|Use]] [[https://biodbnet-abcc.ncifcrf.gov/db/db2db.php|bioDBnet]], BioMart - Ensembl, or [[https://bioconductor.org/packages/release/bioc/html/AnnotationDbi.html|AnnotationDbi]] package in R to convert between Entrez Gene, RefSeq, Ensemble, and many more. |
| |
---- | ---- |
| |
**Prepare attractive,** **scientific presentations****?** \\ | |
| ===== Prepare attractive, scientific presentations ? ===== |
Use a "home slide". Also, learn about other tips from Susan [[https://www.youtube.com/watch?v=Hp7Id3Yb9XQ|McConnell]]. | Use a "home slide". Also, learn about other tips from Susan [[https://www.youtube.com/watch?v=Hp7Id3Yb9XQ|McConnell]]. |
| |
---- | ---- |
| |
| |
==== Access a Bioconductor package source code? ==== | ==== Access a Bioconductor package source code? ==== |
| |
It is always better to a install the latest version of a package as directed in the corresponding Bioconductor page (e.g., [[https://bioconductor.org/packages/Pigengene|Pigengene]]). If you need to see more details in the source code, you can clone the source from the Bioconductor mirror, e.g., | It is always better to a install the latest version of a package as directed in the corresponding Bioconductor page (e.g., [[https://bioconductor.org/packages/Pigengene|Pigengene]]). If you need to see more details in the source code, or you need the development version, you can clone the source from the Bioconductor using the "Source Repository (Developer Access) " command, which is posted on the corresponding package [[https://bioconductor.org/packages/release/bioc/html/Pigengene.html|page]], e.g., |
| |
<code> | <code> |
mkdir ~/proj; cd ~/proj | mkdir ~/proj; cd ~/proj |
git clone git@git.bioconductor.org:packages/Pigengene | git clone git@git.bioconductor.org:packages/Pigengene |
| </code> |
| |
| Now, you can build the package fom the source using: |
| |
| <code> |
| R CMD REMOVE Pigengene; R CMD build Pigengene |
| </code> |
| |
| If the build is successful, a tarbal will be created. You can install the new package using: |
| |
| <code> |
| R CMD INSTALL Pigengene_<Version>.tar.gz |
</code> | </code> |
| |
| |
Logitech Control Center may help on the [[https://support.logi.com/hc/en-gb/articles/360025297833-Logitech-Control-Center-for-Macintosh-OS-X|Logitech]] MX mice older than 2019. | Logitech Control Center may help on the [[https://support.logi.com/hc/en-gb/articles/360025297833-Logitech-Control-Center-for-Macintosh-OS-X|Logitech]] MX mice older than 2019. |
| |
| ---- |
| |
| ===== Choose a solid state (SSD) external drive? ===== |
| |
| The non-volatile memory express (NVMe) devices are [[https://ssd.borecraft.com/SSD_Buying_Guide_List.pdf|better]] than SATA solid state drives. Good brands include [[https://smile.amazon.com/gp/product/B07X6CKHH1/ref=ox_sc_act_title_1?smid=A29Y8OP2GPR7PE&psc=1|Sabrent]] (Nano is smaller than Pro but gets hot when extensivly used), Seagete, Addlink, and Team. As of 2020, a speed of 1000 Mb/s is possible using USB 3.2. |
| |
| ---- |
| |
| |