Kaisa_2012_3_photo by Veikko Somerpuro

Introduction to Algorithms in Biology Context

This introductory bioinformatics course is designed for interdisciplinary audience.

This bioinformatics course contains an introduction to elementary algorithm concepts including exhaustive search, dynamic programming, greedy algorithms, and a selection of graph algorithms. Each concept is properly motivated by a real biological phenomenon, whose modelling leads to a discrete problem to be solved using the algorithm machinery. The goal is that students with different background can follow the content.

Teaching methods of the course include some flipped classroom elements: There are weekly video lectures and materials assumed to be studied before attending the Friday lectures and Monday study groups, respectively. Weekly exercises give some continuous feedback on learning outcomes. Exercises consist of Python programming assignments that are automatically assessed using the Rosalind system.

Note: Monday study groups are compulsory. Exam is on the last lecture, Friday 18th October.

Teachers of the course are Veli Mäkinen, Leena Salmela and Jarkko Toivonen.

Enrol

Messages

Veli Mäkinen's picture

Veli Mäkinen

Published, 17.10.2019 at 16:35

Solutions to the last week's exercises are now available (login to see them). For the python assignments there are two sets of solutions (with slightly different approaches).

Veli Mäkinen's picture

Veli Mäkinen

Published, 16.10.2019 at 9:01

Course exam on this Friday 18.10 12:15-14:00 will be in room D122. This is more suitable for the exam, as there is more space.

Leena Salmela's picture

Leena Salmela

Published, 7.10.2019 at 17:01

You do not need to register for the course exam on Friday 18.10 (which is in the last lecture).

Veli Mäkinen's picture

Veli Mäkinen

Published, 3.9.2019 at 14:31

Welcome to the course on algorithms for bioinformatics!

Note that we will start already on this Thursday 10:15 - 12:00, C122, with a Python crash course and introduction to the exercise environment Rosalind. Take a laptop with so you can test the environment.

A more general introduction to the content of the course will be on this Friday 12:15-14:00, B119.

Study group takes place on Monday 10:15 - 12:00 C222: Check course page for materials to be studied in advance.

See you later this week!

Timetable

Thursday 5.9, Lecture -1 (Jarkko): Python crash course & introduction to Rosalind
Friday 6.9, Lecture 0 (Veli): Course introduction
Friday afternoon: Study the material for the Monday study group
Monday 9.9, Study group 0 (Veli)
Thursday 12.9, Exercise 1 (Jarkko)
Thursday afternoon: Watch the weekly video
Friday 13.9, Lecture 1 (Veli): Exhaustive search and randomized algorithms for motif discovery
Friday afternoon: Study the material for the Monday study group
Monday 16.9, Study group 1 (Veli)
Thursday 19.9, Exercise 2 (Jarkko)
Thursday afternoon: Watch the weekly video
Friday 20.9, Lecture 2 (Veli): Graph Algorithms for Genome Assembly
Friday afternoon: Study the material for the Monday study group
Monday 23.9, Study group 2 (Veli)
Thursday 26.9 Exercise 3 (Jarkko)
Thursday afternoon: Watch the weekly video
Friday 27.9, Lecture 3 (Leena): Dynamic Programming and Sequence Alignment
Friday afternoon: Study the material for the Monday study group
Monday 30.9 .Study group 3 (Leena)
Thursday 3.10, Exercise 4 (Jarkko)
Thursday afternoon: Watch the weekly video
Friday 4.10, Lecture 4 (Leena): Combinatorial Algorithms and Genomic Rearrangements
Friday afternoon: Study the material for the Monday study group
Monday 7.10, Study group 4 (Leena)
Thursday 10.10, Exercise 5 (Jarkko)
Thursday afternoon: Watch the weekly video
Friday 11.10, Lecture 5 (Jarkko): Combinatorial Pattern Matching
Friday afternoon: Study the material for the Monday study group
Monday 14.10, Study group 5 (Jarkko)
Thursday 17.10, Exercise 6 (Veli)
Friday 18.10 Exam (Veli)

DateTimeLocation
Thu 5.9.2019
10:15 - 12:00
Fri 6.9.2019
12:15 - 14:00
Thu 12.9.2019
10:15 - 12:00
Fri 13.9.2019
12:15 - 14:00
Thu 19.9.2019
10:15 - 12:00
Fri 20.9.2019
12:15 - 14:00
Thu 26.9.2019
10:15 - 12:00
Fri 27.9.2019
12:15 - 14:00
Thu 3.10.2019
10:15 - 12:00
Fri 4.10.2019
12:15 - 14:00
Thu 10.10.2019
10:15 - 12:00
Fri 11.10.2019
12:15 - 14:00
Thu 17.10.2019
10:15 - 12:00
Fri 18.10.2019
12:15 - 14:00

Other teaching

09.09. - 14.10.2019 Mon 10.15-12.00
Veli Mäkinen
Teaching language: English

Material

Video

Tasks

Study group 0

Read the material described in the assignments below before the study group meeting on Monday 9.9.

Exercise 1

Solve Rosalind problems BA1B, BA1C, BA1D, BA1E, BA1F, BA1H, BA1I,BA1J. Submit your solution to the Rosalind system before the exercise session on Thursday 12.9. and be prepared to present your solution.

To get started, a solution to the problem BA1B is provided below. (The file is python code but is called ba1b.txt because .py ending is not allowed.)

Study group 1

Read the material assigned to you (by your last name) before the study group session on Monday 16.9.

Exercise 2

Solve Rosalind problems BA2H, BA2B, BA2C, BA2D, BA2E, BA2F, and two additional problems below, before the exercise session on Thursday 19.9. and prepare to present your solutions.

Study group 2

Study the material assigned to you (by your *first* name) before the study group session on Monday 23.9.

Veli Mäkinen

Exercise 3

Solve Rosalind problems BA3A, BA3B, BA3D, BA3F, BA3G, BA3H before the exercise session on Thursday 26.9. and prepare to present your solutions.

Study group 3

Study the material assigned to you (by the *2nd* character of your *first* name) before the study group session on Monday 30.9.

Leena Salmela

Exercise 4

Solve the two additional problems below and the Rosalind problems BA5G, BA5C, BA5E, BA5F, BA5H, BA5I before the exercise session on Thursday 3.10. and prepare to present your solutions.

To help with problems BA5E and BA5F, python code for reading in the BLOSUM/PAM scoring matrix is provided below.

Study group 4

Study the material assigned to you (based on the length of you *last* name) before the study group session on Monday 7.10.

Leena Salmela

Exercise 5

Solve Rosalind problems BA6A and BA6B and the three additional problems before the exercise session on Thursday 10.10. and prepare to present your solutions.

Study group 5

Read the material assigned to you (by your first name) before the study group session on Monday 14.10.

Jarkko Toivonen

Exercise 6

Solve the Rosalind problems BA9A, BA9B, BA9G, BA9I and the two additional exercise problems given below before the exercise session on Thursday 17.10., and be prepared to present your solutions.

Conduct of the course

The course follows a weekly cycle consisting of the following steps for the students:
1. Watch lecture videos before lecture
2. Attend lecture on Friday. Prepare to ask questions raised by the videos.
3. Read the study group materials at home.
4. Attend study group session on Monday. Prepare to discuss the study group material.
5. Solve the exercises at home.
6. Attend exercise session on Thursday. Prepare to present your solutions.

To pass the course, the student needs to:
1. Attend all study group session. If you cannot attend a particular session, you need to submit a compensatory assignment to the course moodle.
2. Solve at least 30% of the exercises.
3. Take the course exam.

Grading:
The maximum score for the exam is 48 points. An additional 12 points can be earned through solved exercises (30%->1p,85%->12p, linear scale). The grading is based on the total points (30/60->1, 50/60->5, depending on the difficulty of the exam).

Feedback

We had a feedback session after the course exam, where couple of students participated. Anonymous feedback form was submitted by 14 students (that is, almost all who took the exam), and the statistics are shown below (scale 1-5 with 5 being strongly agree).

Anonymous textual feedback contains very good ideas how to improve the course. Study groups were frequently mentioned as the most useful part of the course. Exercise sessions could be flipped into workshops rather than checking the final solutions. Exam was a bit challenging due to its misalignment with coding exercises.

These considerations will be taken into account in the next edition, which is actually a new course that will replace this one: Elements of Bioinformatics, Autumn 2020.

Thanks everyone for very active attendance to the course and for excellent feedback!

***
The objectives of the course were clear to me from the beginning ("I knew what to learn")
4.07
The material used in the course (eg assignments, lecture material, other literature) supported the achievement of learning goals
4.5
Activity at the course (eg scheduling, guidance, other lessons) supported the achievement of learning goals
4.36
Assessment of the course (eg exercises, work, experiments, their relationship) measured the achievement of the core learning objectives
4.07
The course was laborious
4.07
I give the course as a whole the grade
4.14

Description

Master's Programme in Life Science Informatics is responsible for the course.

Module where the course belongs to:

  • Algorithmic bioinformatics

The course is available to students from other degree programmes.

Basic programming skills

Other courses in Algorithmic Bioinformatics study track

Describes the biological motivation, formulation as an algorithmic problem and a solution using basic algorithmic techniques of several computational problems in molecular biology. Solves small instances of the problems by simulating the algorithms and implements simple algorithms.

First or Second year, no prerequisite courses.

The course is offered in autumn, period 1, every second year (odd years)

The course introduces some basic algorithmic concepts and techniques through motivation by selected computational molecular biology problems.

The course follows the book: Phillip Compeau and Pavel Pevzner: Bioinformatics Algorithms - An Active Learning Approach. Active Learning Publishers, 2014.

An older course book covers a lot of the same topics: Neil C. Jones & Pavel A. Pevzner: An Introduction to Bioinformatics Algorithms. MIT Press, 2004.

The following is the current plan for Autumn 2017: teaching methods may evolve from year to year.

One chapter of the course book is covered in a one week period consisting of a lecture, a study group and exercises.
The lecture gives an overview of the topic. During the study group, students discuss additional material such as scientific articles, which they have read in advance.
To test their learning, students are given exercises, which they solve at home and then present and discuss during exercise session.

The following is the current plan for Autumn 2017: assesment practices may evolve from year to year.

Grading scale is 1...5.

One can earn up to 12 points from exercises and up to 48 points from course exam, up to 60 points in total.
Alternatively, one can earn up to 60 points from a separate exam, offered outside the course's contact teaching periods.

One should obtain 30 points to pass the course with grade 1. Grade 5 is obtained with 50 points out of the maximum 60. Linear scale is applied for other grades.
Deviations from the scheme are possible depending on the difficulty of the exam.

The contact teaching consists of weekly lectures, study groups and execises. Activive participation into the study groups and completion of sufficient number of exercises in addition to the course exam is required to pass the course as specified later.

Alternatively one can take a separate exam.