Bioinformatics Algorithms

This course covers the foundational aspects of data science, including data collection, cleaning, analysis, and visualization. Students will learn practical skills for working with real-world datasets.

Instructor: Prof. Somayeh Koohi and Nahal Mirzaie

Term: Spring

Location: Department of Computer Engineering, Sharif University of Technology

Time: Saturday and Mondays, 10:30:00 AM - 12:00:00 PM

Course Description

This course introduces the algorithmic techniques underlying modern bioinformatics. Topics span sequence analysis, genome assembly, gene expression, and proteomics. The course is inspired by the Bioinformatics Algorithms textbook by Compeau and Pevzner, as well as the UCSD Bioinformatics Specialization.

Topics Covered

  • Sequence Alignment — pairwise and multiple sequence alignment
  • Genome Assembly — De Bruijn graphs, Burrows-Wheeler Transform (BWT)
  • Expectation Maximization — motif finding, Lloyd’s algorithm, clustering
  • Gene Expression — transcriptomics and expression analysis
  • Metagenomics — metagenomics tools and analysis pipelines
  • Proteomics — peptide sequencing and protein identification
  • Approximate Nearest Neighbors — Locality Sensitive Hashing (LSH)

References

  • Compeau, P. & Pevzner, P. Bioinformatics Algorithms: An Active Learning Approach. Active Learning Publishers.
  • Mäkinen, V., Belazzougui, D., Cunial, F., & Tomescu, A. I. Genome-Scale Algorithm Design. Cambridge University Press, 2015.
  • Mandoiu, I. & Zelikovsky, A. Bioinformatics Algorithms: Techniques and Applications. Wiley-Interscience.

Slides

Topic Slides
Sequence Alignment PDF
Genome Assembly PDF
Expectation Maximization PDF
Gene Expression PDF
Metagenomics PDF
Metagenomics Tools PDF
Proteomics PDF