Principal theme | Prerequisite knowledge | Approaches the learning objectives | Reaches the learning objectives | Deepens the learning objectives |
---|---|---|---|---|
Alignments |
Some experience in dynamic programming [e.g. from one of the courses: Algorithms for Bioinformatics, String Processing Algorithms, or Design and Analysis of Algorithms] Basic probability calculus[ e.g. from course Johdatus todennäköisyyslaskentaan] Basic knowledge of data structures and graphs [e.g. from course Tietorakenteet ja algoritmit] |
Can explain the difference between variants of alignment formulations such as global, local, semi-local, overlap, multiple, progressive, DAG, jumping etc. | Can derive dynamic programming formulations for simple variants of the alignment formulations covered during the course, and optimize them for speed and space usage |
Can apply sparse dynamic programming, invariant technique, space optimizations and other dynamic programming techniques from the course to new problems in bioinformatics Can apply a suitable alignment formulation in the analysis of real data |
Hidden Markov models | Some experience in dynamic programming, basic probability calculus | Can program the given simple example HMM for gene finding | Can derive new HMM formulations for related problems like pair HMMs and profile HMMs | Can design a genome-scale HMM approach to annotate a new genome based on statistical features, biological knowlege, transcriptomics read data, etc. |
High-throughput sequencing data analysis | Basic knowlege of data structures | Can give an overview of how variant calling can be done based on read alignments | Can explain how read alignment and simple genome analysis tasks such as maximal repeat finding can be conducted time- and space-efficiently |
Understands the compressed data structures behind space-efficient read alignment on pan-genomic data Can program a competitive tool for structural variant detection |