The sequencing of the human genome fueled a computational revolution in biology. As a result, modern biology produces as many new algorithms as any other fundamental realm of science. Accordingly, the newly formed links between computer science and biology affect the way we teach applied algorithms to computer scientists.
This course has now been split into three smaller pieces:
- Finding Hidden Messages in DNA: This course begins a series of classes illustrating the power of computing in modern biology. Please join us on the frontier of bioinformatics to look for hidden messages in DNA without ever needing to put on a lab coat. After warming up our algorithmic muscles, we will learn how randomized algorithms can be used to solve problems in bioinformatics.
- Assembling Genomes and Sequencing Antibiotics: Biologists still cannot read the nucleotides of an entire genome or the amino acids of an antibiotic as you would read a book from beginning to end. However, they can read short pieces of DNA and weigh small antibiotic fragments. In this course, we will see how graph theory and brute force algorithms can be used to reconstruct genomes and antibiotics.
- Comparing Genes, Proteins, and Genomes: After sequencing genomes, we would like to compare them. We will see that dynamic programming is a powerful algorithmic tool when we compare two genes or two proteins. When we “zoom out” to compare entire genomes, we will employ combinatorial algorithms.
Each course parallels two chapters from a textbook covering a single biological question and slowly builds the algorithmic knowledge required to address this challenge. Along the way, coding challenges and exercises (many of which ask you to apply your skills to real genetic data) will be directly integrated into the text at the exact moment they are needed.
The course was based on six “chapters” covering the following central questions, with the algorithmic ideas that we will use to solve them in parentheses:
- Where Does DNA Replication Begin? (Algorithmic Warm-up)
- How Do We Sequence Antibiotics? (Brute Force Algorithms)
- Which DNA Patterns Act As Cellular Clocks? (Greedy and Randomized Algorithms)
- How Do We Assemble Genomes? (Graph Algorithms)
- How Do We Compare Biological Sequences? (Dynamic Programming Algorithms)
- Are There Fragile Regions in the Human Genome? (Combinatorial Algorithms)
Bioinformatics Algorithms (Part 2) is based around the following questions:
- Which Animal Gave Us SARS? (Evolutionary Trees)
- How Do We Locate Disease-Causing Mutations? (Combinatorial Pattern Matching)
- How Did Yeast Become Such a Good Wine Brewer? (Clustering Algorithms)
- Why Do We Still Not Have an HIV Vaccine? (Hldden Markov Models)
- Was T-Rex Just a Big Chicken? (Computational Proteomics)
- What Genetic Characteristics Do Human Populations Share? (Principal Components Analysis)
You should know the basics of programming in the language of your choice. We have the following suggestions for resources that will help you learn programming.
- The language tracks on Codecademy, particularly the Python track.
- An Introduction to Interactive Programming with Python, the acclaimed Coursera course.
- Introductory problems on Rosalind, a resource for learning bioinformatics created by the course instructors.
There are many other online resources for learning programming, and we encourage you to seek them out yourself!
Bioinformatics Algorithms: An Active-Learning Approach, by Compeau & Pevzner.
The class offered two ways of learning the material. In addition to a collection of lecture videos, the primary content for the course was the textbook Bioinformatics Algorithms: An Active-Learning Approach, by Phillip Compeau & Pavel Pevzner.
Q: Why was this course split into three courses?
Based on survey feedback, completion data, and studies of other courses, we realized that having shorter courses gives our students more flexibility around their busy schedules. Even though the courses have been split, the overall content remains the same, so we feel confident that we’re maintaining learning standards of our material.
Q: What if I earned a voucher for retaking this course? Can I use it in the new courses?
Vouchers from the older course will be valid for the newer courses. If you took the original course and earned a voucher, you will be issued a voucher for this course as well as for “Assembling Genomes and Sequencing Antibiotics” and “Comparing Genes, Proteins, and Genomes” (three vouchers total).
Q: Does this mean that the overall cost for earning Verified Certificates is greater now?
Yes. Since there are more courses now, the overall cost for Verified Certificates is greater than before. Coursera offers a Financial Aid program for learners who would face a serious hardship paying for our courses. Plus, if you just want to join and check out our course content, it’s still free and available to everyone.