I took a computer class as an undergraduate, but I didn’t use programming in research until my master’s degree. There I assembled ~100 kb chloroplast genomes from Illumina short reads, which meant learning Linux, Bash and scripting along the way. I enjoyed it so much that I chose bioinformatics for my PhD.
When I started my PhD at the University of Florida, my advisor handed me Sams Teach Yourself Perl in 21 Days. After working through it, I jumped into real projects, and I have believed ever since that learning by doing is the best way into bioinformatics and genomics. BioPerl had many useful examples for processing and analyzing data. The field moves fast, and searching for answers online was my best teacher along the way.
I picked up more Python and R as my PhD progressed. The choice of language often depends on the lab; my postdoc lab worked mostly in R. Today, Biopython and R’s Bioconductor both offer packages for large-scale biological data analysis. For machine learning, Python has scikit-learn, and An Introduction to Statistical Learning is an excellent book with labs in both R and Python.
Here are a few more resources I found useful.
Perl#
- Unix and Perl Primer for Biologists, Korf Lab, UC Davis (archived copy)
Bioinformatics in general#
- Bioinformatics Data Skills by Vince Buffalo
R#
- Posit (RStudio) cheat sheets
- R for Data Science by Hadley Wickham and colleagues
Python#
- Python Data Science Handbook by Jake VanderPlas
- The official Python tutorial
Community#
- Capital of Statistics (统计之都), a Chinese-language statistics and data science community
Updated October 2026: links checked, and dead links replaced or removed.
