UCSC BME 205 Fall 2009

Bioinformatics: models and algorithms

(Last Update: 14:59 PST 3 November 2009 )
link to homework
Student photos
link to schedule
This is a required course for bioinformatics students—both undergraduate and graduate students (pre-requisite to BME 220 and BME 230). Those who need permission codes to register can get them on the first day of class.

For catalog copy and pre-requisites, see the main page for BME205.

Who, When, and Where:

Instructor: Kevin Karplus ( karplus@soe.ucsc.edu) http://www.soe.ucsc.edu/~karplus
Office hours: PSB 318, W 10:30-11:30
+1-831-459-4250
TA: None this year

Lectures: MWF 2-3:10 PSB 305

Online discussion forum: BME 205 forum

Texts

There will be one required text, one optional text, plus additional readings that will be distributed either on paper or via the Web:
Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids from Cambridge University Press by R. Durbin, S. Eddy, A. Krogh, and G. Mitchison.
REQUIRED

This book is a tutorial introduction to the use of hidden Markov models and other probabilistic models for sequence analysis problems in computational molecular biology, but is aimed mainly at a graduate-student audience. We've been using it for years in this class, and have not yet found as detailed a text.

This is a text and reference book that every bioinformatics programmer should have. I don't follow the book very closely, so you will have to figure out for yourself when it is appropriate to read various sections.

Get the second edition, if you can, which has made corrections as indicated on the errata page.

Python in a Nutshell, Second Edition By Alex Martelli July 2006 ISBN 10: 0-596-10046-9 | ISBN 13: 9780596100469
OPTIONAL

BME 205 will be using Python, rather than Perl this year. Since I am just learning Python myself, I have not had time to review all the available books. I initially told the bookstore to order Programming Python by Mark Lutz, based on the parallelism with the Programming Perl book we have used in the past, but this was a mistake, as it is a sequel to Learning Python by Mark Lutz, and both are really terrible for this class. It take Lutz forever to get to the point of anything, and material is scattered in random order. I read over a hundred pages of Learning Python, was still not prepared to write even a short Python program, and was heartily sick of the Python boosterism. Python in a Nutshell is much better organized and gets to the point immediately, but is short on examples.

The best source I've found is the online documentation at http://docs.python.org/tutorial/, http://docs.python.org/reference/, and http://docs.python.org/library/. One Python user highly recommends the index http://docs.python.org/genindex.html, but I've done just as well using Google with python and the subject I'm interested in.

If you need a more tutorial introduction, I see that the undergrad course CMPS 5P has used Python for Software Design: How to think like a computer scientist by Allen Downey (Green Tea Press) as a text. An earlier manuscript of the book is available for free.

Lynn Olson, a new PhD student, recommends Dive into Python, a free on-line book for experienced programmers.

An Introduction to Bioinformatics Algorithms
Neil Jones and Pavel Pevzner
MIT Press
OPTIONAL

This is book came out in summer 2004. It looks like it may be a valuable supplementary text, as it seems to be easier to read and at a slightly less advanced level than the Durbin et al. book. The description of sequence-sequence alignment and HMMs does not seem quite detailed enough for this class though.

Darling models
I added some assignments in 2003 to build physical models of peptides (and DNA base pairs) using the Darling model kits. These kits are available over the web at http://www.darlingmodels.com/ (Note: Amie reports problems with that site, but that the http://www.molecularvisions.com/ worked for her.) I recommend getting the "Biochemistry" kit, though the cheaper "protein alpha helix–pleated sheet" kit may suffice. I have found these kits to give me a much better insight into protein flexibility and rigidity than the standard ball-and-stick models used in organic chemistry classes, and they are fun to play with. To reduce costs, it is quite reasonable for students to share a kit.

Note: the science library now has Darling model kits that you can check out! Also, several of the more advanced graduate students may be willing to lend their model kits.

Some initial instructions for building a protein backbone with this model kit are available.

Reading assignments

Reading assignments in Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acids by R. Durbin, S. Eddy, A. Krogh, and G. Mitchison.

Date Have read these sections
2 Oct 2009 1.1–1.4
9 Oct 2009 11.1–11.6
15 Oct 2009 2.1–2.9
23 Oct 2009 3.1–3.6
30 Oct 2009 5.1–5.8
6 Nov 2009 4.1–4.5
13 Nov 2009 6.1–6.5
20 Nov 2009 7.1–7.6

Homework

Date (to be) releasedAssignmentDate Due
31 Aug 2009prereq survey 25 Sept 2009
1 Sept 2009 python1 (FASTA parsing) 9 Oct 2009
18 Sept 2009 fellowship application 16 Oct 2009
4 Sept 2009 python2 (Markov chains) 23 Oct 2009
20 Oct 2009 Darling models 30 Oct 2009
10 Sept 2009 python3 (finding palindromes) 6 Nov 2009
14 Sept 2009 python4 (null models) 13 Nov 2009
3 Nov 2009 web and literature search 20 Nov 2009
16 Sept 2009 python5 (affine-gap alignment)Mon 30 Nov 2009
6 Sept 2009 python6 (cassette mutagenesis) Mon 7 Dec 2009

Every student in the class will need a School of Engineering computer account. I will want assignments turned in by providing me with a publicly readable file (PDF for written assignments) or directory (for multi-file assignments) containing the assignment on the SoE machines. All Python programs must execute correctly on the SoE machines, without needing to install additional Python modules. I would prefer to get paper copies of assignments in addition to the electronic ones (to save me the time of printing them), but I will accept electronic-only submissions from those who are too ill to attend class.

To get an SoE computer account see http://support.soe.ucsc.edu/new-accounts

Evaluation

There will be four types of assignments for the class:

As has been my practice since Fall 2001, there will be no exams, and we will not meet during the final exam period (Mon 7 Dec 2009, 7:30 p.m.) It turns out to be very difficult to make up small enough problems for examination—almost all the homework exercises are much larger problems than could reasonably be given on a timed exam.

The assignments will be distributed on the web.

The relative weights of the different types of assignment in the evaluation has not been determined yet—it should be roughly proportional to how much time the different assignments take to do well. I will try to assign points to each assignment as it is given, but the total number of points won't be known until I've tweaked all the assignments. I expect that most of the assignments will be similar to ones given in previous years, with a few parts tweaked to update them, but I may replace one or more assignments with new ones, if I can think of new problems at the appropriate level of difficulty. Note: since we are switching from Perl to Python this year, the assignments may need more tweaking than usual.

Academic Integrity

Anyone caught cheating in the class will be reported to their college provost (see UCSC policy on academic integrity) and may fail the class. Cheating includes any attempt to claim someone else's work as your own. Plagiarism in any form (including close paraphrasing) will be considered cheating. Use of any source without proper citation will be considered cheating. If you are not certain about citation standards, please ask, as I hate having to fail students because they were improperly taught how to cite sources.

Collaboration without explicit written acknowledgment will be considered cheating. Collaboration on lab assignments with explicit written acknowledgment is encouraged—guidelines for the extent of reasonable collaboration will be given in class.

Classroom Accommodations for Disabilities

If you qualify for classroom accommodations because of a disability, please submit your Accommodation Authorization from the Disability Resource Center (DRC) to me during my office hours in a timely manner, preferably within the first two weeks of the quarter. Contact DRC at 459-2089 (voice), 459-4806 (TTY).

Rough list of topics we'll probably cover (not necessarily in order)

Note: The schedule will be updated throughout the quarter to reflect what really happens.
  1. Quick review of the fundamental dogma of biology: DNA->RNA->protein, bases, codons, amino acids, ...
    (2 hours)
  2. Stochastic models, Bayes Rule, 0-order Markov chain, first-order Markov chain, length model versus stop character for finite strings, use of log-probability for computations, adding probabilities in log-prob representation (efficient computation of log(exp(x)+exp(y)) ). (1.5 hour)
  3. Constructing a model from data. Training, cross-training, and testing. Maximum-likelihood estimate. Pseudocounts to get mean posterior estimate. (1.5 hours)
  4. Converting arbitrary scores to stochastic models: P-value and E-value. Brief discussion of Z-scores (Gaussian dist.) and fat tails of extreme-value (Gumbel dist.) (1.5 hour)
  5. Entropy, relative entropy, Mutual information, sequence logos. (1.5 hour)
  6. What fellowship reviewers look for. Relationship between relative entropy and difference in encoding cost in a train/test framework (clarification for homework exercise). Interpreting classification results: true/false positives, specificity, sensitivity, ROC curves, ROC_n numbers What is a substitution matrix? (1.5 hour)
  7. Substitution matrices and sequence alignment scores. Aligning sequences to sequences, dynamic programming We'll do the the simple, but inefficient algorithm (for arbitrary gap costs) first. (1 hour: Blosum substitution matrices and gapless scoring) (1 hour: the alignment problem and global dynamic programming with arbitrary gap costs) (1 hour: global dynamic programming with linear gap costs, traceback) (1 hour: affine gap costs. Global and local dynamic programming)
  8. Introduction to Hidden Markov models (1.5 hour on HMMs and profiles) (1.5 hours on profile HMMs giving Viterbi algorithm and forward-backward)
    See powerpoint slides by Rachel Karchin (not used in class this year).
  9. Pair HMMs as a way of explaining alignment algorithms (3 hours?)
  10. Wed, 4 Nov. Guest Lecture. Science librarians will give a presentation on bioinformatics resources available through the library, as well as talking about some of the challenges that face the UCSC library in building an adequate collection in new fields like bioinformatics. We'll meet in the Science Library for the guest lecture.
  11. Protein secondary structure (DSSP and STRIDE), in order to explain second track of 2-track HMM. Discuss secondary structure prediction using neural nets. (1.5 hours)
  12. Sequence weighting (Henikoff's technique for relative weighting and target bit savings for total weight) (1 hour) Multiple alignment techniques Overview and progressive alignment (0.5 hour)
  13. Fast methods for searching (BLAST and BLAT). (In some years, Jim Kent has given an excellent lecture on these.)
  14. Multiple alignment techniques: Muscle, Probcons, AMAP

    documentation on MUSCLE:
    http://www.drive5.com/muscle/docs.htm Refereed paper: Edgar, Robert C. (2004), MUSCLE: multiple sequence alignment with high accuracy and high throughput, Nucleic Acids Research 32(5), 1792-97.

    PROBCONS web site (including overview of algorithm): http://probcons.stanford.edu

    AMAP http://bio.math.berkeley.edu/amap
    Ariel S. Schwartz and Lior Pachter
    Multiple alignment by sequence annealing
    Bioinformatics 2007 23(2):e24-e29; doi:10.1093/bioinformatics/btl311

    Oher multiple alignment programs:
    paper on T-coffee:
    T-Coffee: A novel method for fast and accurate multiple sequence alignment.
    Notredame C, Higgins DG, Heringa J.
    J Mol Biol 2000 Sep 8;302(1):205-17
    doi:10.1006/jmbi.2000.4042

    paper on MAFFT:
    Kazutaka Katoh, Kazuharu Misawa, Kei-ichi Kuma and Takashi Miyata. MAFFT: a novel method for rapid multiple sequence alignment based on fast Fourier transform. Nucleic Acids Research 30(14):3059-3066, 2002.

  15. Phylogeny: brief mention of maximum-likelihood and parsimony. Additivity assumption. UPGMA algorithm presented, ultrametric assumption and molecular clocks, intro to neighbor-joining (no proofs) (1.5 hour)
  16. RNA structure and Stochastic Context-Free Grammars (1.5 hour)
  17. A protocol for evaluating local structure alphabets. This talk ( http://www.soe.ucsc.edu/~karplus/papers/local-structure-germany02.pdf) presented some of the main results from Rachel Karchin's PhD thesis. The following two papers are the guts of the method:

    Rachel Karchin, Melissa Cline, Yael Mandel-Gutfreund, and Kevin Karplus. Hidden Markov models that use predicted local structure for fold recognition: alphabets of backbone geometry. Proteins: Structure, Function, and Genetics, 51(4):504–514, June 2003. doi:10.1002/prot.10369 reprint

    Rachel Karchin, Melissa Cline, and Kevin Karplus. Evaluation of local structure alphabets based on residue burial. Proteins: Structure, Function, and Genetics, 55(3):508–518, 5 March 2004. doi:10.1002/prot.20008 reprint

Topics for last week requested by students

Rough list of topics we didn't have enough time to do more than briefly mention in recent years.

Other resources on the web

http://genome.ucsc.edu/
UCSC Genome Browser—gateway to at least 47 eukaryotic genomes.
http://microbes.ucsc.edu/
UCSC Microbial Browser—gateway to more than 300 archeal and bacterial genomes.
http://genome-test.cse.ucsc.edu/eng/
Getting Started on the UCSC Genome Project Team
User's Guide to the Human Genome (in Nature Genetics).


baskin-icon
SoE home
sketch of Kevin Karplus by Abe
Kevin Karplus's home page
BME-slug-icon
Biomolecular Engineering Department
BME 205 home page BME 205 discussion forum Karplus's lab page UCSC Bioinformatics research

Questions about page content should be directed to Kevin Karplus
Biomolecular Engineering
University of California, Santa Cruz
Santa Cruz, CA 95064
USA
karplus@soe.ucsc.edu
1-831-459-4250
318 Physical Sciences Building

Locations of visitors to pages with this footer (started 3 Nov 2008)