Computational Molecular Biology

(MA206, Semester I)

(Mathematics Department, NUI Galway)

This 24-lecture course presents algorithmic ideas in computational biology and shows how they are connected to molecular biology and biotechnology. The course has a large "computational biology without formulas" component that presents biological motivation and computational ideas in a simple way. The course should be accessible to computer scientists interested in learning about this new area, and to biologists who do not have sufficient background for more involved computational techniques.

No previous knowledge of biology or of computer algorithms is required by students taking the course.
The course covers some material from the textbook:

Computational Molecular Biology: An Algorithmic Approach
 by Pavel A. Pevzner (MIT Press, 2000)

In Semester II students can take a further 24-lecture course: MA207 - Computational Molecular Biology.

MA206 (Semester I)

Lecturer: Lectures:
Dr Graham Ellis
1. Introduction to DNA. (Lecture 1)
2. Longest Common Subsequences and a first algorithm. (Lecture 2 and BLAST software)
3. Local alignments and the Smith-Waterman algorithm. (Lecture 3. See here also.)
4. Problem session. (Lecture 4)
5. Introduction to the Python programming language. (Lecture 5. See the Python tutorial also.)
6. Programming the LCS algorithm in Python.  (Lecture 6 and the Python LCS program.)
7. Mathematical Digression: Increasing Subsequences and Young Tableaux. (Lecture 7)
8. Continued Digression: Robinson Knuth Schensted algorithm. (Lecture 8 and a Python KRS program)
9. Average length of a LCS between two sets of words. (Lecture 9)
10. Problem session. (Lecture 10)
11. Phylogenetic trees and ClustalW2 software for producing them. (Lecture 11)
12. Phylogenetic tree metrics. (Lecture 12)
13. Neighbour-joining algorithm. (Lecture 13)
14. Introduction to topology. (Lecture 14)
15. DNA sequencing by hybridization. (Lecture 15)
16. Problem Session

The two homeworks are:
1) Implement the Smith-Waterman algorithm for finding the score of an optimal local alignment.
2) Implement the nearest neighbour algorithm for constructing a phylogenetic tree. (Some python code that might be of use can be found here.)

17. Python tutorial
18. Python tutorial
19. Python tutorial
20. Python tutorial
21. Python tutorial
22. Python tutorial

Tuesday 1.10-2.00, AC215
    Thursday 1.10-2.00, AC204

There will be an end of semester exam countin 80%. Two homework assignments will count 20%.  The winter 2007 paper can be found here.