| AUTHORS | ||
| LICENSE | ||
| README.md | ||
| TODO | ||
cs-guide
Some guidelines for computational scientists.
Introduction
Guidelines
-
Learn a scripting language. E.g. Python, Ruby, Perl. As a fallback, at least learn some modern shell (e.g. zsh, Bash).
-
Learn a programmable statistics package.
-
Save everything in text files.
-
use config files.
-
Delete data you don't need.
-
Learn the art of renaming data files and directories.
-
off-the-shelf third party software, always generate complete config files in a script.
-
Learn to use a command-line plotting program. E.g. gnuplot, R, mathplotlib
-
Get a real programming editor.
-
Automate everything
-
Beware of the NIH (Not Invented Here) syndrome. FBR: this is maybe better describbed as doing orthogonal modifications to OTS software
Meta guidelines
Work smart (related to automate everything).
Conclusion
References
Bosco K. Ho's blog post "Notes to a young computational biologist" http://boscoh.com/protein/notes-to-a-young-computational-biologist.html
Article: Best Practices for Scientific Computing DOI: 10.1371/journal.pbio.1001745 http://www.plosbiology.org/article/info:doi/10.1371/journal.pbio.1001745
Book: The Art of UNIX Programming Author: Eric S. Raymond http://www.catb.org/esr/writings/taoup/
Book: the pragmatic programmer http://pragprog.com/the-pragmatic-programmer
How to do Research At the MIT AI Lab http://www.cs.indiana.edu/mit.research.how.to.html