Caporaso Lab Teaching Website

Current courses (Spring 2016)

An Introduction to Applied Bioinformatics (IAB)

My interactive, IPython Notebook-based introductory bioinformatics text, An Introduction to Applied Bioinformatics, is available for free here. For more information see my blog post on IAB and the IAB website.

Caporaso Lab Office Hours

All lab member office hours are open to the public. These are held in ARD 220.

Bioinformatics @ Northern Arizona University

There is not an undergraduate or graduate bioinformatics program at NAU, but there are some courses that will start to prepare you for a career in bioinformatics. Biology, Computer Science and Statistics are the most relevant undergraduate degrees. If you’re interested in a graduate degree and have a biology background, you’d likely want to come in to either the PhD or Master’s Biology program. You would then work with a faculty member whose research is bioinformatics-heavy, and they would guide you toward relevant coursework. You can find some more information on graduate studies in biology on the department website.

BIO/CS 499/599 Fundamentals of Bioinformatics (three credits)

Instructor: Dr. Greg Caporaso (

This course covers fundamental concepts in bioinformatics, method and tool benchmarking, and in depth coverage of several specific high-interest topics. This course was previous taught in Fall 2011, Spring 2013, and Spring 2014 as BIO/CS 299, and in Spring 2015 as BIO/CS 290 and BIO 599. The previous course websites are listed above.

You do not need to know how to program to take this course!

For students who are looking to get a head-start on the material, I recommend An Introduction to Applied Bioinformatics and the materials in my resources section below.

CS 499 counts as a Technical Elective for Computer Science and Applied Computer Science degree programs. BIO 499 counts as a major elective for the Biology degree programs.

This course is generally taught every Spring semester.

Independent research

Instructor: Dr. Greg Caporaso (

I occasionally mentor exceptional undergraduate and graduate students in bioinformatics-related research projects. If you’re interested in this, contact me with details about the type of project you’d like to work on, and about your educational background. These are considerably harder than a single semester course in bioinformatics, and require you to be highly self-motivated. I do not accept all students who are interested.

Some resources for getting started with bioinformatics and Python

My interactive, IPython Notebook-based introductory bioinformatics text. This is in early development, but is (in my unbiased opinion) a good place to get for both Biologists and Computer Scientists interested in Bioinformatics. For more information see my blog post on IAB and the IAB website.

For biologists who want to develop computational skills

Online materials and in-person workshops covering essential computational skills for scientists.

Practical Computing for Biologists by Steven Haddock and Casey Dunn
A great introduction to many computational skills that are required of modern biologists. I highly recommend this book to all Biology undergraduate and graduate students.

Practical Programming: A Introduction to Computer Science Using Python by Jennifer Campbell, Paul Gries, Jason Montojo, Greg Wilson
An introduction to the python programming language and basic computer science. This is a great first programming book for people interested in bioinformatics or scientific computing in general.

Another good python introduction. This one is very focused on exercises and is great for practicing python. My students have complained that it doesn’t provide enough background information (i.e., what you’re doing and why it works) and for that reason I recommend using this in conjunction with Practical Programming. Beware that the two don’t follow each other exactly. One strategy that some students use is to work through these exercises in order and use Practical Programming as a reference.

For computer scientists who want to learn biology

The Processes of Life by Lawrence Hunter
An introduction to biology for computer scientists. (Chapter 1 is available for free here.)

Molecular Biology of the Cell by Bruce Alberts, Alexander Johnson, Julian Lewis, Martin Raff, Keith Roberts, Peter Walter
One of the best texts on molecular biology. This is fairly advanced (it’s generally used in upper division molecular biology courses) so it may not be the best place to start. You’ll find it invaluable though if you plan to go on in Bioinformatics. This book is available via the NIH Bookshelf (for example, from Chapter 1: The Universal Features of Cells on Earth and The Diversity of Genomes and the Tree of Life).

Brock Biology of Microorganisms by Michael T. Madigan, John M. Martinko, David Stahl, David P. Clark
One of the best textbooks on microbiology. This is also fairly advanced, but if you’re interested in microbial ecology or other aspects of microbiology it will likely be extremely useful.

For students in either discipline who want to learn the fundamentals of bioinformatics

Inferring Phylogenies by Joseph Felsenstein
One of the definitive texts on algorithms used in bioinformatics: particularly focused on building phylogenetic trees.

Biological Sequence Analysis by Richard Durbin, Sean R. Eddy, Anders Krogh, Graeme Mitchison
Another of the definitive texts on algorithms used in bioinformatics.

Biometry by Robert Sokal and James Rohlf
An excellent (and highly referenced) basic statistics book for biology.