Course detail

Programming in Bioinformatics

FEKT-FPRGAcad. year: 2017/2018

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

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 (local, global, backtrace)
- Implement algorithms for cluster analysis
- 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.

Recommended or required reading

Jones N.C., Pevzner P.A: An Introduction to Bioinformatics Algorithms. The MIT Press, 2004 (EN)
Moorhouse M, Barry P: Bioinformatics Biocomputing and Perl: An Introduction to Bioinformatics Computing Skills and Practice. Wiley; 1 edition, 2004. (EN)
Chao K.-M., Zhang L.: Sequence Comparison. Springer-Verlag, 2009 (EN)
Zaplatílek K, Doňar B: Matlab tvorba uživatelských aplikací, Technická literatura BEN, Praha 2004 (CS)

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. test: basic principles of algorithms (min 15 points, max 30 points)
2. test: implementation of algorithms (min 15 points, max 30 points)
3. final test (min 20 points, max 40 points).
Individual activities check students' ability to implement algorithms in Matlab for the analysis of genomic data.

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 or Matlab.

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 BTBIO-F Master's

    branch F-BTB , 1. year of study, winter semester, 6 credits, compulsory

  • Programme EEKR-CZV lifelong learning

    branch ET-CZV , 1. year of study, winter semester, 6 credits, compulsory

Type of course unit



13 hours, optionally

Teacher / Lecturer

Exercise in computer lab

52 hours, compulsory

Teacher / Lecturer