Course detail
Programming in Bioinformatics
FEKT-MPA-PRGAcad. year: 2025/2026
The course is oriented to programming in bioinformatics area. It studies introduction to programming and alghoritms used for DNA and protein sequence analysis.
Language of instruction
English
Number of ECTS credits
5
Mode of study
Not applicable.
Guarantor
Offered to foreign students
The home faculty only
Entry knowledge
The subject knowledge on the Bachelor's degree level is requested.
Rules for evaluation and completion of the course
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.
Computer exercises are mandatory, properly excused missed lectures can be compensated individually after discussion with teacher.
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.
Computer exercises are mandatory, properly excused missed lectures can be compensated individually after discussion with teacher.
Aims
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.
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
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
Study aids
Not applicable.
Prerequisites and corequisites
Not applicable.
Basic literature
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
Recommended reading
Not applicable.
Classification of course in study plans
Type of course unit
Lecture
13 hod., optionally
Teacher / Lecturer
Syllabus
1. Types of algorithms, analysis of algorithms, recursion and iteration.
2. Dynamic programming with recursion.
3. Restriction mapping and motif search.
4. Sorting algorithms.
5. Algorithms for de novo genome assembly.
6. Markov models in bioinformatics.
2. Dynamic programming with recursion.
3. Restriction mapping and motif search.
4. Sorting algorithms.
5. Algorithms for de novo genome assembly.
6. Markov models in bioinformatics.
Exercise in computer lab
39 hod., compulsory
Teacher / Lecturer
Syllabus
1. Introduction to Git and GitHub.
2. Regular expressions.
3. Analysis of algorithms, time complexity.
4. Types of algorithms, recursion and iteration.
5. Dynamic programming with recursion.
6. Restriction mapping (exhaustive search).
7. Motif search (branch and bound algorithms).
8. Sorting algorithms (greedy algorithms).
9. Algorithms for de novo genome assembly.
10. Suffix trees.
11. Markov models in bioinformatics.
2. Regular expressions.
3. Analysis of algorithms, time complexity.
4. Types of algorithms, recursion and iteration.
5. Dynamic programming with recursion.
6. Restriction mapping (exhaustive search).
7. Motif search (branch and bound algorithms).
8. Sorting algorithms (greedy algorithms).
9. Algorithms for de novo genome assembly.
10. Suffix trees.
11. Markov models in bioinformatics.