This is an archived file from the Spring 2022 version of the course.
See the current course website for a more recent version.


Class Meetings

Mondays and Wednesday, 12:30pm – 1:45pm in Olsson Hall 018.

Office Hours

David Evans: Mondays and Wednesdays, after class until 2:55pm in Rice 507 (or other locations on the way from class). To meet at another time, use to schedule a time.

Hyun Jae Cho: Tuesdays, 12-1PM in Rice 442.

Anshuman Suri: Fridays, 12-1PM in Rice 442.


These deadlines and the topics are likely to change (but will be updated when projects are assigned).

Project 1: Assembling Genomes (out Tuesday, 25 January, due Tuesday 8 February)
Project 2: Genome Alignment and Analysis (out Wednesday, 9 February, due Thursday 24 February)
Project 3: CRISPR (due Monday, 21 March)

Final Project: final projects due Monday 2 May (last day of class), with several intermediate deliverables and short presentations before then.


The planned topics listed here are just tentative ideas, and the actual topics will adapt to student interest and evolve as the course progresses.


Wednesday, 19 January: Class 1: Life

  • What is Life?
  • Carbon-Based Life

Genomes and Assembly

Monday, 24 January: Class 2: Genomes

  • Common platform for Life on Earth: Encoding, DNA Structure, DNA Replication, Interpreting Earth-Life Programs, tRNA, Evolution
  • Course Survey summary
  • Reading DNA
  • PCR (Making copies of DNA) - DNA Sequencing (Sanger Sequencing, Modern Sequencing)

Wednesday, 26 January: Class 3: Assembly (Human Genome Project)

  • Getting sequence data
  • Shortest common superstring problem
  • Strategies for solving (NP-)Hard problems
  • Human Genome Project
  • Gene patents
  • Outcomes of Human Genome Project

Monday, 31 January: Class 4: Analyzing Genomes

  • Instruction misalignment
  • Completing the Human Genome Project
  • Analyzing Genomes
  • Sequencing Alignment: Hamming Distance, Edit Distance, Memoization

Wednesday, 2 February: Class 5: Sequence Alignment

  • Global Sequence Alignment (Needleman-Wunsch)
  • Scoring Functions
  • Markov Property
  • PAM Matrix

Analyzing Genomes

Monday, 7 February: Class 6: More Sequence Alignments

  • Dynamic Programming
  • Cancer Risk
  • Measuring Evolutionary Distance
  • Local Sequence Alignment

Wednesday, 9 February: Class 7: Phylogeny

  • Introducing Phylogeny
  • Parsimony Scoring
  • Bayes Theorem

Monday, 14 February: Class 8: Distance-Based Phylogeny

  • Maximum Likelihood (continued from Class 7)
  • Properties of Trees
  • Multiple Alignment
  • Rate of Mutation
  • Distance-Fitting Tree

Wednesday, 16 February: Class 9: Neighbor-Joining Phylogeny

  • Grading Philosophy
  • Neighbor-Joining Algorithm
  • Origins of SARS-CoV-2

Genetic Engineering

Monday, 21 February: Class 10: Genotypes and Phenotypes

  • Inheritance (Mendel)
  • Genome Wide Association Studies

Wednesday, 23 February: Class 11: Editing Genomes

  • Brief History of Genetic Editing
  • Recombinant DNA

Monday, 28 February: Class 12: CRISPR in Bacteria

  • CRISPR mechanisms in bacteria
  • Story of CRISPR (and the CRISPR patent)

Wednesday, 2 March: Class 13: Project Planning

Spring Break: 5 — 13 March

Monday, 14 March: Class 14: CRISPR for Genome Editing

  • Designing the gRNA
  • DNA Repair Mechanisms
  • Mismatch Repair
  • Homologous Recombination Repair

Computing with Biology

Wednesday, 16 March: Class 15: Crispyr CRISPR

  • Finishing Homologous Recombination Repair
  • CRISPR Patent Dispute (using HDR to perform edits)
  • CRISPR without double-strand breaks
  • Base Editing (Deaminase)
  • Prime Editing

Monday, 21 March: Class 16: Protein Evolution and Similarity Searching (Guest Speaker: William Pearson)

Wednesday, 23 March: Class 17: Computing with DNA

  • Biological Computing
  • Theory of Computation Review
  • Computing Hamiltonian Path with DNA

Genomes and Privacy

Monday, 28 March: Class 18: Genomes and Privacy (guest lecture by Anshuman Suri)

Tuesday, 29 March (4:59pm): Due: Final Project Idea

Wednesday, 30 March: Class 19: Project Idea Presentations

Computing with Biology

Monday, 4 April: Class 20: Computing with Membranes

  • Membrane Computing
  • P-Systems

Wednesday, 6 April: Class 21: DNA Storage

  • Data density of DNA (including definition of a mole)
  • Information Theory
  • Church’s DNA Storage Experiment

Friday, 8 April (4:59pm): Due: Project Proposal

Monday, 11 April: Class 22: Implementing DNA Storage

  • Encoding for DNA Storage
  • Stability of DNA
  • Random Access DNA Storage

Wednesday, 13 April: Class 23: Programmable Pharmacueticals

  • Biological Circuits
  • Causes of Death
  • Apoptosis
  • Designing and Composing Biological Gates
  • Why haven’t we cured cancer yet?

Monday, 18 April: Class 24: Protein Folding and AlphaFold

  • Protein Structures
  • Anfin’s Experiment and the Thermodynamic Hypothesis
  • Protein Structure Prediction
  • AlphaFold

Tuesday, 19 April (4:59pm): Due: Project Update

Wednesday, 20 April: Class 25: Ensembles of Trees (Guest Speaker: Kristen Naegle)

Monday, 25 April: Class 26: Guest Speaker: Nathan Sheffield

Project Presentations

Wednesday, 27 April: Class 27: Final Project Presentations

Monday, 2 May: Class 28: Final Project Presentations