Why I program

Programing has become my most commonly used tool in my research even though I am not trained as a computer scientist. My working tools are R, Python, and Linux. I work in Ubuntu most of the time which makes things easier than working in Windows and more importantly it is free. Although nothing replaces Excel, nothing.


Best practices

I have learn about coding best practices through painful experiences and also through reading PLOS Computational Biology and have created these guidelines (With the help of Lee Bergstrand and Roli Wilhelm). The guideline are based on these three articles:


Best Practices for Scientific Computing (download)

Ten Simple Rules for Reproducible Computational Research (download)

Ten Simple Rules for the Open Development of Scientific Software (download)


My codes

The codes I use are freely available in this Github repository.




R is a powerful language and and environment to do statistical analysis and graphical displays. Get it here.


I recommend using Rstudio, which is an alternative graphi user interface (GUI) for R that is more informative and more organized than the native R GUI. Get it here.


If you like visualization you can also try ggplot2, a plotting system for R that can make easy to produce complex and beautiful graphs.


For coding in Windows I used Notepad++, a light but powerful plain text editor. It understands the grammar rules for different programming languages and can help you by pointing mistakes in indentation, closing parenthesis, etc. Get it here


To learn about basic programming in Unix, and version control go to Software Carpentry


Do you want to learn how to do assembly, mapping and all the basic bioinformatics tool? go to:

Titus Brown tutorial at Michigan State


Question in Bioinformatics? Try Biostar