Description: Study of commonly used bioinformatic algorithms, with an emphasis on string, tree, and graph algorithms. Presentation of probabilistic and clustering methods. Implementation of the studied algorithms and design of applications.
Objectives
- Understand how popular bioinformatics algorithms work
- Learn how to design algorithms for solving biological problems
- Be able to implement and use these algorithms in tool development in a context of biological data analysis
- Gain knowledge needed to understand more advanced topics and current research literature in the field of bioinformatics.
Course Learning Outcomes: See objectives.
Program Learning Outcomes
- a. Students can apply knowledge of computing and mathematics appropriate to the discipline
- b. Students can analyze a problem, and identify and define the computing requirements appropriate to its solution
- c. Students can design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- i. Students can use current techniques, skills, and tools necessary for computing practice
Prerequisites: 475 or consent.
Textbook(s): Jones, N.C. and Pevzner P.A. An Introduction to Bioinformatics Algorithms MIT Press
Grading: Programming assignment: 30%
Class participation: 10%
Midterm exam: 30%
Final Exam : 30%
Schedule
- Week 1: Algorithm and Complexity
- Week 2-3: Mapping DNA and Finding Signals: Exhaustive Search
- Week 4: Genome Rearrangement and Signals: Greedy Algorithm
- Week 4-7: Sequence Comparison and Gene Prediction: Dynamic Programming
- Week 8: Midterm Exam
- Week 9: Comparing Sequences: Divide and Conquer Algorithms
- Week 10-12: Sequencing DNA, DNA Arrays: Graph Algorithm
- Week 13-14: Repeat Analysis and Sequence Comparison: Combinatorial Pattern Matching
- Week 15-16 : DNA Arrays and Evolution: Clustering and Trees