This repository contains presentations and code for Algorithms in Bioinformatics course
- Algorithm definition, algorithms complexity, Big O notation
- Python basics
- String algorithms: string match, substring search, edit distance, alignment
- Divide and Conquer algorithms. Dynamic programming.
- Suffix array, Burrows Wheeler Transform
- Fuzzy search, heuristic algorithms
- Graphs, basic graph algorithms: DFS, BFS, topological sort
- Genome assembly algorithms, De Bruijn graphs
- Computational Mass Spectrometry algorithms
- Phylogeny Tree Algorithms
| № | Lecture | Links | Homework |
|---|---|---|---|
| 1 | What is algorithm? How do we compare algorithms? Algorithms complexity | -- | -- |
| 2 | Python Basics, String Algorithms | lecture2 lecture 3 |
-- |
| 3 | Alignment Algorithms | lecture4 | ba9m BWT Matching ba5f Local Alignment |
| 4 | Graph Algorithms, Assembly Algorithms | lecture5 | ba3h De Bruijn Assembly ba3j Paired De Bruijn Assembly |
| 5 | Hidden Markov Models | lecture6 | ba10g HMM Alignment |
| 6 | Phylogeny Tree Algorithms | lecture7 | ba7d UPGMA ba7e Neighbor Joining |
| 7 | Mass Spectrometry Algorithms | lecture8 | ba11e Sequence a Peptide |