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.
Recommended optional programme components
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
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.