Bioinformatics, as I see it, is the application of the tools of computer science (things like programming languages, algorithms, and databases) to address biological problems (for example, inferring the evolutionary relationship between a group of organisms based on fragments of their genomes, or understanding if or how the community of microorganisms that live in my gut changes if I modify my diet). Bioinformatics is a rapidly growing field, largely in response to the vast increase in the quantity of data that biologists now grapple with. Students from varied disciplines (e.g., biology, computer science, statistics, and biochemistry) and stages of their educational careers (undergraduate, graduate, or postdoctoral) are becoming interested in bioinformatics.
I teach bioinformatics at the undergraduate and graduate levels at Northern Arizona University. This repository contains some of the materials that I've developed in these courses, and represents an initial attempt to organize these materials in a standalone way. If you'd like to read a little more about the project, see my blog post on microbe.net.
This project is in very early development stage. It's not ready for prime-time by any means, but I fall firmly into the "publish early, publish often" mindset, hence its public availability. I am very interested in feedback. The best way to get feedback to me is through the IAB issue tracker, and the best way to get me contributions is through pull requests.
The code in the iab module is not sufficiently tested, documented, or optimized for production use. As code reaches those quality standards it will be ported to scikit-bio. I do not recommend using the code in the iab module outside of these notebooks. In other words, don't
import iab outside of the notebooks - if you want access to the functionality in your own code, you should
Currently, the best example of where I'm hoping to go with these materials is the multiple sequence alignment chapter.
To browse the book, start here.
There are two ways to use An Introduction To Applied Bioinformatics:
The recommended way is to install it and work with it interactively. See the instructions below.
The easiest way is to view the static notebooks online using nbviewer. You should:
If you're going to read An Introduction to Applied Bioinformatics interactively (recommended), you'll need to install it. The following commands should work for Linux and Mac OS X users:
pip install numpy wget https://github.com/gregcaporaso/An-Introduction-To-Applied-Bioinformatics/archive/0.1.0.tar.gz tar -xzf 0.1.0.tar.gz cd An-Introduction-To-Applied-Bioinformatics-0.1.0 pip install .
Then, launch the IPython Notebook to get started (be sure that you're in the
An-Introduction-To-Applied-Bioinformatics directory when you run this command):
ipython notebook Index.ipynb
These materials are primarily being developed by Greg Caporaso (GitHub: @gregcaporaso) in the Caporaso Lab at Northern Arizona University. You can find information on the courses I teach on my teaching website and information on my research and lab on my lab website.
See the repository's contributors page for information on who has contributed to the project.
An Introduction to Applied Bioinformatics is funded in part by the Alfred P. Sloan Foundation. Initial prototyping was funded by Arizona's Technology and Research Initiative Fund. The style of the project was inspired by Bayesian Methods for Hackers.
I want to thank the IPython Developers for all of their work on the IPython Notebook, as well as the QIIME developers and scikit-bio developers for the countless discussions over the years that helped me develop my understanding of the material presented here. This project wouldn't be possible without all of you, and I look forward to many more years of productive, fun and exciting work together!
An Introduction to Applied Bioinformatics by The Caporaso Laboratory is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at https://github.com/gregcaporaso/An-Introduction-To-Applied-Bioinformatics.