Course detail

Programming in Bioinformatics

FEKT-MPA-PRGAcad. year: 2022/2023

The course is oriented to programming in bioinformatics area. It studies introduction to programming and alghoritms used for DNA and protein sequence analysis.

Offered to foreign students

The home faculty only

Learning outcomes of the course unit

Student is able to:
- Solve problems iteratively and recursively
- Evaluate the performance of algorithms
- Implement algorithms for searching (brute force, branch-and-bound, greedy algorithms)
- Implement algorithms for sequence alignment using dynamic programming with recursion
- Implement algorithms for learning hidden Markov models and their use


The subject knowledge on the Bachelor's degree level is requested.


Not applicable.

Recommended optional programme components

Not applicable.


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.
Chao K.-M., Zhang L.: Sequence Comparison. Springer-Verlag, 2009
Zaplatílek K, Doňar B: Matlab tvorba uživatelských aplikací, Technická literatura BEN, Praha 2004

Planned learning activities and teaching methods

Teaching methods depend on the type of the course unit as specified in the article 7 of BUT Rules for Studies and Examinations.

Assesment methods and criteria linked to learning outcomes

Students have to obtain at least 50 points out of 100 in the sub-activities:
1. midterm test (max. 30 points),
2. final test (max. 30 points),
3. implementation of algorithms (min 20 points, max 40 points).
Individual activities check students' ability to implement algorithms in chosen programming language.

Language of instruction


Work placements

Not applicable.

Course curriculum

1. Basics of algorithmization.
2. Types of algorithms, recursion and iteration.
3. Regular expressions.
4. Sorting algorithms (greedy algoritmy).
5. Restriction mapping (exhaustive search).
6. Motive search (branch and bound algorithms).
7. Dynamic programming with recursion.
8. Algorithms for de novo genome assembly.
9. Markov models in bioinformatics.
10. Suffix trees.


The aim of the course is introduction to algorithms for analyzing DNA and protein sequences and their detailed analysis. Students program the discussed algorithms in programming environment R.

Specification of controlled education, way of implementation and compensation for absences

Computer exercises are mandatory, properly excused missed lectures can be compensated individually after discussion with teacher.

Classification of course in study plans

  • Programme MPC-BTB Master's, 1. year of study, winter semester, 5 credits, compulsory

Type of course unit



13 hours, optionally

Teacher / Lecturer

Exercise in computer lab

39 hours, compulsory

Teacher / Lecturer