Course Schedule

Below is a tentative schedule for the semester. Please check back regularly for updates and modifications, particularly for project due dates.

Homework listed here is to be done before class on the indicated date. Complete the indicated units in Code Academy's Python course, and read the listed pages in the Pevsner text.

  • September 7: Course introduction. Sequence comparison: global and local pairwise alignment. Alignment scoring. Programming concepts: variables, algorithms, Python interpreter, arithmetic.
  • September 12: BLAST for sequence comparison and identification. Python: variables, types, using built-in functions, intro to user-defined functions.
    • CodeAcademy: Python Syntax, Tip Calculator, Strings and Console Output
    • Pevsner: pages 19-42 (sequence databases); pages 69-79 (pairwise alignment, up through Dayhoff Model Step 2); and pages 91-96 (starting with "practical usefulness of PAM matrices"; you don't need to understand the equations in this section, but do look at the PAM and BLOSUM matrices in Figures 3.14, 3.15, and 3.17.)
    • In class exercise: BLAST worksheet.
  • September 14: Lab 1: BLAST off. Alignment, BLAST, variables, built-in functions.
    • Check your tufts.edu email for information about your CS department computer account. Follow the instructions to choose or reset your password if need be. Please be sure you know your user ID and password before lab.
    • Pevsner: 121-134 (running a BLAST search) and 145-154 (interpreting BLAST output)
  • September 19: more on scoring matrices, advanced BLAST. Find-a-gene Project introduction. Conditionals and control flow. More on functions. Quiz 1.
    • CodeAcademy: Date and Time, Conditionals and Control Flow
    • Pevsner: pages 155-159 (find-a-gene project); 167-179 (advanced BLAST).
  • September 21: Lab 2: BLASTing ahead. Choosing which BLAST and options to use, writing functions, if/elif/else
    • CodeAcademy: Pig Latin
  • September 26: More on understanding scoring matrices and alignment scoring schemes. Functions and return values. Testing code, programming style and methods.
  • September 28: Multiple sequence alignment.
    • Pevsner: pages 205-222 (multiple sequence alignment)
    • Due: Find-a-gene project, part 1.
    • Antiquiz on writing loops
    • Powerpoint slides from class: see Resources section of Trunk site
  • October 3: Lab 3: Multiple sequence alignment, functions and control flow, arguments, lists.
    • CodeAcademy: Functions (screens 7-19), Python Lists and Dictionaries (just screens 1-9; don't worry about Dictionaries for now)
  • October 5: Introduction to molecular phylogeny. Quiz 2.
    • Pevsner: pages 245-294 (phylogeny; you can skip or skim the details of "stage 3 (substitution models)" and "stage 4 (algorithms)")
  • October 10: NO CLASS (Indigenous Peoples' Day)
  • October 12: More on molecular phylogeny, selective pressure, MEGA.
  • October 17: Lab 4: Phylogenetics in MEGA; lists and loops.
  • October 19: Loops, lists, functions.
    • CodeAcademy: Lists and Functions [we know that this involves skipping a few units; that's okay]
  • October 24: Intro to gene expression analysis. Differential expression.
    • Due: Find-a-gene project, part 2.
    • Pevsner: pages 450-469 (mRNA, microarrays and RNAseq), 511-519 (array data analysis), 528-529 (functional enrichment), 566-573 (Gene Ontology)
  • October 26: Lab 5: Loopy riddles: loops and lists and file I/O;
    • CodeAcademy: Battleship! (under Lists and Functions)
  • October 31: Differential expression + functional enrichment. RNAseq alignment. Quiz 3
    • CodeAcademy: File I/O; Loops (just screens 9-13 and 15-16)
    • Pevsner: pages 482-495 (GEO2R)
  • November 2: Lab 6: Online expression databases and functional analysis of gene lists. student file lookup.
    • could get a start on CodeAcademy assignment for Monday
  • November 7: Python dicts and while loops.
    • CodeAcademy: Lists and Dicts (screens 10-14), Day at the Supermarket, Loops (screens 1-8 and 14)
  • November 9: Lab 7: It's in the dictionary: practice with lists and dicts.
    • Due: Gene Expression Project, Part 1
  • November 14: Sequence assembly and variation; dbSNP.
    • Pevsner: pages 720-737 (sequencing)
  • November 16: Metagenomics, sequencing files. Quiz 4
    • Due: Gene Expression Project, Part 2
    • CodeAcademy: Student becomes the teacher
    • Pevsner: pages 797-814 (microbiome)
  • November 21: Lab 8: sequence variation, python practice
  • November 23: NO CLASS (Thanksgiving break)
  • November 28: Metagenomics project; Bayesian probability for metagenomic classification.
    • CodeAcademy: Student becomes the teacher.
  • November 30: Lab 9: The zoo in you. Metagenomics.
    • CodeAcademy: Exam Statistics; Advanced Topics in Python (screens 1-6)
  • December 5: Incidentalome ideas, Bayes thm, randomness and simulation in code. Quiz 5
    • Skim additional reading: Assignment of rRNA Sequences into the New Bacterial Taxonomy. Q. Wang, G. M. Garrity, J. M. Tiedje, J. R. Cole. Appl. Environ. Microbiol. 73(16):5261, 2007.
  • December 7: Lab 10: The Incidentalome. Simulation.
    • Additional reading: The Incidentalome: A Threat to Genomic Medicine. I. S. Kohane, D. R. Masys, R. B. Altman. JAMA 296(2):212-5, 2006.
  • December 12: Systems thinking; problem assessment. Going forward.
    • Due: Metagenomics Project