Detail předmětu
Programming in Bioinformatics
FEKT-MPA-PRGAk. rok: 2025/2026
Předmět je zaměřen na programování v oblasti bionformatiky. Zaměřuje se na seznámení s různými typy programů a konkrétními algoritmy používaných pro analýzu sekvencí DNA a proteinů.
Jazyk výuky
angličtina
Počet kreditů
5
Garant předmětu
Zajišťuje ústav
Nabízen zahraničním studentům
Pouze domovské fakulty
Vstupní znalosti
Jsou požadovány znalosti na úrovni bakalářského studia.
Pravidla hodnocení a ukončení předmětu
Studenti musí získat minimálně 50 bodů ze 100 bodů v dílčích aktivitách:
1. půlsemestrální test (max. 30 bodů),
2. semestrální test (max. 30 bodů),
3. bodované programování (min. 20 bodů, max. 40 bodů).
Dílčí aktivity mají prověřit schopnosti studenta realizovat algoritmy ve vybraném programovém prostředí.
Počítačová cvičení jsou povinná, řádně omluvené zmeškané cvičení lze po domluvě s vyučujícím nahradit individuálně.
1. půlsemestrální test (max. 30 bodů),
2. semestrální test (max. 30 bodů),
3. bodované programování (min. 20 bodů, max. 40 bodů).
Dílčí aktivity mají prověřit schopnosti studenta realizovat algoritmy ve vybraném programovém prostředí.
Počítačová cvičení jsou povinná, řádně omluvené zmeškané cvičení lze po domluvě s vyučujícím nahradit individuálně.
Učební cíle
Cílem předmětu je seznámení a osvojení základních algoritmů pro analýzu sekvencí DNA a proteinů a jejich podrobný rozbor. Studenti jsou vedeni k samostatnému programování probíraných algoritmů v programovacím prostředí R.
Student je schopen:
- řešit algoritmy iteračně i rekurzivně
- vyhodnotit náročnost algoritmů
- realizovat algoritmy pro vyhledávání (hrubou silou, branch&bound algoritmus, greedy algoritmus)
- realizovat algoritmy zarovnání sekvencí využívající dynamické programování s rekurzí
- realizovat algoritmy pro učení skrytých markovových modelů a pro jejich použití
Student je schopen:
- řešit algoritmy iteračně i rekurzivně
- vyhodnotit náročnost algoritmů
- realizovat algoritmy pro vyhledávání (hrubou silou, branch&bound algoritmus, greedy algoritmus)
- realizovat algoritmy zarovnání sekvencí využívající dynamické programování s rekurzí
- realizovat algoritmy pro učení skrytých markovových modelů a pro jejich použití
Základní literatura
Chao K.-M., Zhang L.: Sequence Comparison. Springer-Verlag, 2009
Jones N.C., Pevzner P.A: An Introduction to Bioinformatics Algorithms. The MIT Press, 2004
Moorhouse M, Barry P: Bioinformatics Biocomputing and Perl: An Introduction to Bioinformatics Computing Skills and Practice. Wiley; 1 edition, 2004.
Zaplatílek K, Doňar B: Matlab tvorba uživatelských aplikací, Technická literatura BEN, Praha 2004
Jones N.C., Pevzner P.A: An Introduction to Bioinformatics Algorithms. The MIT Press, 2004
Moorhouse M, Barry P: Bioinformatics Biocomputing and Perl: An Introduction to Bioinformatics Computing Skills and Practice. Wiley; 1 edition, 2004.
Zaplatílek K, Doňar B: Matlab tvorba uživatelských aplikací, Technická literatura BEN, Praha 2004
Zařazení předmětu ve studijních plánech
Typ (způsob) výuky
Přednáška
13 hod., nepovinná
Vyučující / Lektor
Osnova
1. Typy algoritmů, analýza algoritmů, rekurze a iterace.
2. Dynamické programování s rekurzí.
3. Restrikční mapování a vyhledávání motivů.
4. Třídící algoritmy.
5. Algoritmy pro de novo skládání genomu.
6. Markovovy modely v bioinformatice.
2. Dynamické programování s rekurzí.
3. Restrikční mapování a vyhledávání motivů.
4. Třídící algoritmy.
5. Algoritmy pro de novo skládání genomu.
6. Markovovy modely v bioinformatice.
Cvičení na počítači
39 hod., povinná
Vyučující / Lektor
Osnova
1. Základy Git a GitHub.
2. Regulární výrazy.
3. Analýza algoritmů, výpočetní náročnost.
4. Typy algoritmů, rekurze a iterace.
5. Dynamické programování s rekurzí.
6. Algoritmy pro restrikční mapování (exhaustive search).
7. Vyhledávání motivů (branch and bound algoritmy).
8. Třídící algoritmy (greedy algoritmy).
9. Algoritmy pro de novo skládání genomu.
10. Sufixové stromy.
11. Markovovy modely v bioinformatice.
2. Regulární výrazy.
3. Analýza algoritmů, výpočetní náročnost.
4. Typy algoritmů, rekurze a iterace.
5. Dynamické programování s rekurzí.
6. Algoritmy pro restrikční mapování (exhaustive search).
7. Vyhledávání motivů (branch and bound algoritmy).
8. Třídící algoritmy (greedy algoritmy).
9. Algoritmy pro de novo skládání genomu.
10. Sufixové stromy.
11. Markovovy modely v bioinformatice.