Bioinformatics Lectures

(b) indicates slides that contain primarily background information. (a) indicates "advanced" material. All slides (and errors) by Carl Kingsford unless noted. Often the material for a lecture was derived from some source material that is cited in each PDF file.

    Introduction to Computers and Biology

  1. Introduction and Computational Successes
  2. Quick Biology Introduction (b)
  3. Exact String Search

  4. Z-Algorithm
  5. Knuth-Morris-Pratt and Boyer-Moore (a)
  6. Seminumerical String Matching
  7. Dynamic Programming & Sequence Alignment

  8. Introduction to Dynamic Programming (b)
  9. More Dynamic Programming Examples: Subset Sum & Knapsack (b)
  10. Global Sequence Alignment
  11. Local Sequence Alignment
  12. General & Affine Gap Penalties [examples]
  13. Multiple Sequence Alignment
  14. Linear-space Sequence Alignment (a)
  15. Genome Sequencing & Assembly

  16. DNA (Sanger) Sequencing & Lander-Waterman Statistics
  17. Introduction to Graphs (b)
  18. Genome Assembly Paradigms
  19. Comparing Whole Genomes with MUMmer
  20. Data Structures for String Queries

  21. Introduction to Trees (b)
  22. (Optimal) Binary Search Trees (b)
  23. Suffix Tries & Trees [paper]
  24. Suffix Arrays (including Skew Algorithm) [examples]
  25. Burrows-Wheeler Transform [examples, paper]
  26. Structural Biology

  27. RNA Folding [examples]
  28. Protein Folding
  29. Linear Programming (a)
  30. Side-chain Positioning (a)
  31. Pattern Discovery

  32. Motif Finding with Gibbs Sampling [paper]
  33. Bacterial Gene Finding
  34. Hidden Markov Models and Eukaryotic Gene Finding [examples]
  35. Profile Hidden Markov Models
  36. Phylogenetics

  37. Phylogenetics [soon!]
  38. Clustering Biological Networks

  39. Yeast 2-hybrid
  40. Other Interaction Experiments
  41. Function Prediction
  42. Network Modularity (a)
  43. Clustering via Minimum Spanning Trees
  44. Kernighan-Lin Graph Partitioning & Clustering via Distances (a)
  45. MCL and Other Graph Clustering (MCODE, RNSC) (a)
  46. Aligning Biological Networks

  47. PathBLAST (a)
  48. Alignment via Color Coding (a)
  49. IsoRank (a)
  50. Random Models of Network Evolution

  51. Models of Network Evolution (a)
  52. Attack vs. Failure Response (a)
  53. Network Motifs & Symmetry Breaking (a)

Computer Science Background

All slides by Carl Kingsford unless noted. Often the material for a lecture was derived from some source material that is cited in each PDF file.

    Basic Data Structures

  1. Lists, Stacks, and Queues
  2. AVL Trees
  3. Splay Trees
  4. B-Trees
  5. Skip Lists
  6. Heaps
  7. Interval & Spatial Data Structures

  8. Quadtrees (PR, MX, Point)
  9. kd-Trees
  10. Searching in kd-Trees
  11. Range Trees
  12. Interval Trees
  13. Finding Closest Pair of Points
  14. Programming Languages

  15. Python [soon!]
  16. C++
  17. Network Flow Algorithms

  18. Network Flows
  19. Bipartite Matching
  20. Edge-disjoint paths
  21. Flows with Demands, etc.
  22. Shortest paths with negative weights
  23. The Theory of NP-Completeness

  24. The P and NP Complexity Classes
  25. NP-completeness
  26. SAT, Coloring, TSP Problems
  27. 3-dimensional Matching, Subset Sum Problems