If you look at two genes that serve the same purpose in two different species, how can you rigorously compare these genes in order to see how they have evolved away from each other?
In the first part of the course, part of the Algorithms and Data Structures MicroMasters program, we will see how the dynamic programming paradigm can be used to solve a variety of different questions related to pairwise and multiple string comparison in order to discover evolutionary histories.
In the second part of the course, we will see how a powerful machine learning approach, using a Hidden Markov Model, can dig deeper and find relationships between less obviously related sequences, such as areas of the rapidly mutating HIV genome.
- Dynamic programming and how it applies to basic string comparison algorithms
- Sequence alignment, including how to generalize dynamic programming algorithms to handle different cases
- Hidden markov models
- How to find the most likely sequence of events given a collection of outcomes and limited information
- Machine learning in sequence alignment