SubjectsSubjects(version: 942)
Course, academic year 2023/2024
   Login via CAS
Bioinformatics Algorithms - NTIN084
Title: Bioinformatické algoritmy
Guaranteed by: Department of Software and Computer Science Education (32-KSVI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2023
Semester: winter
E-Credits: 5
Hours per week, examination: winter s.:2/2, C+Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: not taught
Language: Czech, English
Teaching methods: full-time
Teaching methods: full-time
Guarantor: RNDr. František Mráz, CSc.
Class: Informatika Mgr. - Teoretická informatika
Classification: Informatics > Theoretical Computer Science
Is incompatible with: NTIX084
Is interchangeable with: NTIX084
Annotation -
Last update: RNDr. František Mráz, CSc. (21.05.2013)
In recent decades, biology has raised a lot of challenging mathematical problems aiming at deciphering the language of DNA sequences. Bioinformatics is a rapidly developing area of computer science driving further biological developments. This course is focused on explaining the main algorithmic principles applicable to the solution of various biological problems. This shall provide the students with a solid foundation to understand more easily also other parts of this emerging field. The lecture is for students of computer science without background in biology.
Aim of the course -
Last update: RNDr. František Mráz, CSc. (19.04.2013)

An introduction to bioinformatics and algorithms used within bioinformatics.

Course completion requirements -
Last update: RNDr. František Mráz, CSc. (29.09.2020)

A) The lab

Step by step, in an accompanying Moodle course, there will be published assignments and quizzes.


Each assignment has a deadline until which the assignment should be submitted for grading. A draft solution of an assignment can be edited at any time, but the time of submission is the time you click the button "Submit assignment". After clicking this button, you cannot edit your submission anymore, but you can ask (per e-mail) your teacher to return the assignment into the draft state. Each submitted assignment will be graded by the teacher with 0–10 points. During the semester, you will solve 4 assignments.

A typical solution for an assignment will consist of a text – a description of the solution – and a code of a program/script used for solving the assignment. Submit your texts as a PDF-file and the source codes as plain ASCII files. Alternatively, a solution can be submitted as a Jupyter notebook containing both code and the description.

Warning: If N≥2 participants of the course will submit solutions that are identical or very similar, all these solutions will be considered as a single solution. The solution will be graded by B points according to its quality and all students who submitted it will obtain only the integer part of the value B/N points.


Besides the assignments, you will solve several on-line quizzes. During the semester, there will be assigned several short quizzes for at most 20 points altogether. Each quiz will have set up also a deadline. In contrast to the assignments, it will be not possible to solve any quiz after its deadline.

For obtaining credits for the lab it is necessary:

  1. To solve all the assignments and to obtain at least 1 point for each solution. WARNING: late submission of a solution will be penalized by 2 points decrease for each started week of the delay after the deadline
  2. To prepare and to present a term project in a lab in the last week of this term or on a date (during the following exam period) which will be set-up on the lab within the last week of this term. The subject of the project will be discussed in the middle of the semester. Each project will be graded up to 15 points according to its quality.

The quizzes are not among the necessary conditions for obtaining credits for the lab. During labs, it is possible to obtain additional points

  • for demonstrating a solution of a problem assigned during a lab – 1 point,
  • for demonstrating a solution submitted as a solution for an assignment in Moodle (after its deadline) – the integer part of the half of the number of points awarded for the solution (after evaluating by the teacher)

Except for the additional points, it is possible to obtain up to 75 points. All points obtained during labs will be accounted for up to 40% of the final score of the exam. However, when a student will obtain more than 75 points within labs (counting also additional points), these points will still account for only 40% of the final score of the exam.

Continuous work throughout the whole term is required to obtain the credits, therefore there will be no additional possibilities to acquire them later.

B) The lecture

The lecture will be given once per week according to the schedule. As already mentioned above, the points acquired within the lab will account for up to 40% of the final score for the exam. The exam at the end of this term will add up to the remaining 60% to the final score. The following table gives the final grade according to the achieved score:

grade 1 grade 2 grade 3 failure
100%–86% 85%–71% 71%–56% less than 56%

Literature -
Last update: RNDr. František Mráz, CSc. (28.09.2020)

[1] Neil C. Jones and Pavel Pevzner: An Introduction to Bioinformatics Algorithms, MIT Press, 2004

[2] Richard Durbin, Sean R. Eddy, Anders Krogh and Graeme Mitchison: Biological sequence analysis. Cambridge University Press 1998

[3] Marketa J. Zvelebil and Jeremy O. Baum: Understanding bioinformatics. Taylor&Francis, 2008

[4] Phillip Compeau and Pavel Pevzner. Bioinformatics algorithms: an active learning approach. Vol. 1 & 2. La Jolla, California: Active Learning Publishers, 2015.

Requirements to the exam -
Last update: RNDr. František Mráz, CSc. (29.09.2020)

The exam consists of a written and oral part. The oral part, which follows immediately after the written part, comprises discussion and evaluation of the written part. The written part contains three questions. The first two questions are two subjects from the lecture and the third question is either an application of an algorithm from the lecture, or designing an algorithm for solving a new variant of a problem from the lecture or the seminar.

The requirements for the exam correspond to the syllabus of the lecture within the extent which was presented during the lecture or the seminar. The final grade of the exam is set based on the points awarded for the exam as well as on the points obtained for student’s work throughout the semester – see “Terms of passing the course”. In order to take part in the exam, it is necessary to obtain Final course credit.

Syllabus -
Last update: RNDr. František Mráz, CSc. (29.09.2020)

  1. Introduction to bioinformatics:

    • Bioinformatics - its subject, history and main problems
    • Introduction to molecular biology - the structure of DNA and its analysis, genes, proteins

  2. Classical bioinformatics algorithms:

    • Exhaustive search – restriction mapping, motif finding
    • Greedy algorithms – genome rearrangements, motif finding
    • Dynamic Programming Algorithms – similarity of DNA sequences, sequence alignment, alignment with gap penalties, gene prediction
    • Divide-and-conquer algorithms – space and time efficient sequence alignment
    • Graph algorithms – DNA sequencing, protein sequencing and identification, peptide sequencing
    • Combinatorial pattern matching – exact pattern matching, keywords trees, suffix trees, heuristic similarity search, approximate pattern matching, BLAST and FASTA

  3. Advanced bioinformatics algorithms:

    • Hidden Markov Models – decoding algorithm, HMM parameter estimation
    • Randomized algorithms – Gibbs sampling, random projections
    • Computing similarity by compression

Charles University | Information system of Charles University |