Course detail

Programming in Bioinformatics

FEKT-MPA-PRGAcad. year: 2026/2027

The course provides an overview of algorithmic and computational methods used in bioinformatics and focuses on the analysis and implementation of algorithms for processing biological sequences. It also covers motif search, sequence indexing, algorithms used in genome assembly and read mapping, and probabilistic models, particularly Markov models. Předmět poskytuje přehled algoritmických a výpočetních metod používaných v bioinformatice a zaměřuje se na analýzu a implementaci algoritmů pro zpracování biologických sekvencí. Dále se věnuje vyhledávání motivů, indexování sekvencí, algoritmům používaným při skládání genomu a mapování sekvenačních čtení, a pravděpodobnostním modelům, zejména Markovovým modelům.

Language of instruction

English

Number of ECTS credits

5

Mode of study

Not applicable.

Offered to foreign students

Of all faculties

Entry knowledge

Basic knowledge of programming in at least one high-level programming language (e.g. Python), fundamental principles of algorithm design, and bioinformatics is required.

Rules for evaluation and completion of the course

The conditions for successful completion of the course are determined by the annually updated directive of the course guarantor.
Students must meet the following requirements:
1. active participation in compulsory exercises in computer lab,
2. completion and presentation of a team project,
3. successful completion of a credit test.

 

Podmínky úspěšného absolvování předmětu stanovuje každoročně aktualizovaná vyhláška garanta předmětu.


Studenti musí splnit následující požadavky:
1. aktivní účast na povinných počítačových cvičeních,
2. vypracování a prezentace týmového projektu,

3. absolvování zápočtové písemky. 

Aims

The aim of the course is to provide students with a basic understanding of algorithmic and computational methods used in bioinformatics, to teach them how to analyze and implement algorithms for processing biological sequences, and to introduce them to graph-based and probabilistic approaches for solving bioinformatics problems.

Upon completion of the course, the student is able to:
- evaluate and optimize the time and memory complexity of algorithms,
- use appropriate data structures for efficient handling of sequencing data,
- implement algorithms for motif search in biological sequences,
- implement algorithms for genome assembly and read mapping,
- apply and interpret probabilistic models, particularly Markov models.

Study aids

Not applicable.

Prerequisites and corequisites

Not applicable.

Basic literature

Compeau P., Pevzner P.A.: Bioinformatics Algorithms: An Active Learning Approach. Active Learning Publishers, 2018. (EN)
Jones N.C., Pevzner P.A: An Introduction to Bioinformatics Algorithms. The MIT Press, 2004 (EN)

Recommended reading

Not applicable.

Classification of course in study plans

  • Programme MPC-BTB Master's 1 year of study, winter semester, compulsory
  • Programme MPA-BTB Master's 1 year of study, winter semester, compulsory
  • Programme MPCN-BTB Master's 1 year of study, winter semester, compulsory

  • Programme MPCN-BIO Master's

    specialization MPC-BIO_TECH , 1 year of study, winter semester, compulsory-optional

Type of course unit

 

Lecture

12 hours, optionally

Teacher / Lecturer

Syllabus

1. Analysis of Algorithms
2. Motif Search
3. Genome Assembly
4. Reads Mapping
5. RNA Sequencing
6. Markov Models in Bioinformatics

Exercise in computer lab

39 hours, compulsory

Teacher / Lecturer

Syllabus

1. Úvod do objektově orientovaného programování
2. Analýza algoritmů, výpočetní náročnost
3. Regulární výrazy
4. Vyhledávání motivů
5. Teorie grafů
6. Skládání genomu
7. Indexování a sufixové stromy
8. Markovovy modely v bioinformatice
9. Týmové projekty – přidělení projektu
10. Týmové projekty – brífink a konzultace k projektu
11. Týmové projekty – brífink a konzultace k projektu
12. Týmové projekty – brífink a konzultace k projektu

13. Týmové projekty – obhajoba projektu 

 

1. Introduction to Object-Oriented Programming
2. Algorithm Analysis and Computational Complexity
3. Regular Expressions
4. Motif Search
5. Graph Theory
6. Genome Assembly
7. Indexing and Suffix Trees
8. Markov Models in Bioinformatics
9. Team Projects – Project Assignment
10. Team Projects – Project Briefing and Consultations
11. Team Projects – Project Briefing and Consultations
12. Team Projects – Project Briefing and Consultations
13. Team Projects – Project Defense

Project

20 hours, compulsory

Teacher / Lecturer

Syllabus

Work on a group project (teams of 1–3 members).

Práce na skupinovém projektu (1-3 členné skupiny). 

Individual preparation - working on the assigned tasks

50 hours, optionally

Teacher / Lecturer

Syllabus

Throughout the semester, students complete assigned tasks focused on the practical implementation of selected bioinformatics algorithms. The tasks include programming in Python, algorithm analysis, and evaluation of computational complexity. Students independently implement solutions based on the knowledge gained from lectures and exercises, with the possibility of consulting with the instructor.

V průběhu semestru studenti vypracovávají zadané úkoly zaměřené na praktickou implementaci vybraných bioinformatických algoritmů. Úkoly zahrnují programování v Pythonu, analýzu algoritmu a vyhodnocení jeho náročnosti. Studenti samostatně implementují řešení na základě získaných znalostí z přednášek a cvičení, přičemž mohou konzultovat s vyučujícím.