Syllabus for Math 5233, Mathematical Foundations of Bioinformatics

This page will be updated throughout the semester.

Instructor: Marshall Hampton

Office: 172 SCC

Email: mhampton at (preferred contact method)

Telephone: 726-6329

Office hours: M 11-1, W: 11-2 and by appointment.

Class homepage:

Lecture/Lab Times and Locations: 3 - 3:50 pm, M, W, F (1/22 - 5/10). On Mondays we will be working in a computer lab (MonH 209), on Wednesdays and Fridays we will be in SCC 120.

Prerequisites: Any two of the following: Biol 5233, Math 3355, CS 1511, Stat 3611, or equivalents. Please come see me if you have any questions about the preparation required for this course. Since Biol 5233 has not been offered recently, other biology coursework in genetics and biochemistry is acceptable.

Textbook: Bioinformatics and Molecular Evolution, by Paul Higgs and Teresa Attwood. Blackwood Publishing, ISBN-13: 978-1405106832.

Topics: The official course description is "Mathematical, algorithmic, and computational foundations of common tools used in genomics and proteomics. Topics include: sequence alignment algorithms and implementations (Needleman-Wunsch, Smith-Waterman, BLAST, Clustal), scoring matrices (PAM, BLOSUM), statistics of DNA sequences (SNPs, CpG islands, isochores, satellites), and phylogenetic tree methods (UPGMA, parsimony, maximum likelihood). Other topics will be covered as time permits: RNA and protein structure prediction, microarray analysis, post-translational modification prediction, gene regulatory dynamics, and whole-genome sequencing techniques." One thing not mentioned there that I would like to at least briefly cover is hidden Markov models (HMMs). We will be using the programming language Python as our primary computational tool, with the biopython module. All of the software we will be using is free.

Exams: There will be a midterm Wednesday, March 13th, and a final exam on Thursday, May 16th, in SCC 120.
Practice midterm.
Practice final exam.

Projects: There will be several projects and presentations for small groups.

Grading: You will be evaluated in a variety of ways: homework/labs, class participation (including worksheets) and presentations, and exams. The midterm exam will be count for approximately 15% of the grade, and the final exam about 25%.

Assignments and labs: Most of the assignments will be either readings or group lab assignments. Labs will mostly be done using the computational platform Sage. Sage can be accessed through a browser at either or or You can access that off campus if you are on a VPN connection (see this for how to get on a VPN).


Khan Academy. These videos are usually 15 minutes or less and focus on one topic at a time. For this course, the biology video "DNA" is most relevant, but many of them might be useful for providing some context, particularly those focused on molecular biology such as "Chromosomes, Chromatids, Chromatin, etc." and the series starting with "Introduction to Cellular Respiration".

NCBI education site. This has many links to tutorials and primers on a variety of subjects.

NCBI Entrez Often the right place to start

UCSC Genome Browser

Sage This is a python-based open-source math project includes biopython as an optional package.

Interactive Python tutorial. This is a very nicely done introduction to some of the basic features of the Python language.

Rosalind, a good site for practicing using biopython for bioinformatics.

Python Tutorial A short tutorial by the creator of python, Guido van Rossum. In addition, the Python Library Reference has more complete documentation.

Think Python by Allen Downey. He has some other good free books that use Python that may be useful or interesting to you: Think Stats and Think Complexity.

Biopython tutorial. Covers many things, such as parsing structure files from the Protein Data Bank, that we will not cover in this course (as well as a lot that we will cover).

Python course in bioinformatics. This and the following link are from courses designed for biologists.

An introduction to programming for biologists.

Student Conduct Code: see the full description at

Policy statement: The University of Minnesota is committed to the policy that all persons shall have equal access to its programs, facilities, and employment without regard to race, religion, color, sex, national origin, handicap, age, veteran status, or sexual orientation.

Disabilities: An individual who has a disability, either permanent or temporary, which might affect his/her ability to perform in this class should contact the instructor as soon as possible so that he can adapt methods, materials and/or tests as needed to provide for equitable participation.