BCH339N 2018
BCH339N Systems Biology & Bioinformatics
Course unique #: 54510
Lectures: Tues/Thurs 11 – 12:30 PM in BUR 212
Instructor: Edward Marcotte, marcotte @ icmb.utexas.edu
- Office hours: Wed 9 AM – 10 AM in MBB 3.148BA
TA: Riddhiman Garge, riddhimankg @ utexas.edu
- TA Office hours: Mon/Tue 3 PM - 4 PM in MBB 2.204 (or 3.128AA) Phone: 512-232-3919
Lectures & Handouts
Apr 3, 2018 - Principal Component Analysis (& the curious case of European genotypes)
- Today's slides
- European men, their genomes, and their geography
- The tSNE interactive visualization tool also performs PCA
- Relevant to today's discussion for his eponymous distance measure: Mahalanobis
A smattering of links on PCA:
- NBT Primer on PCA
- A PCA overview (.docx format) & the original post
- Science Signaling (more specifically, Neil R. Clark and Avi Ma’ayan!) had a nice introduction to PCA that I've reposted here (with slides)
- Python code for performing PCA yourself. This example gives a great intro to several important numerical/statistical/data mining packages in Python, including pandas and numpy.
Mar 29, 2018 - Classifiers I
- Today's slides
- A nice recent review explaining Support Vector Machines and k-NN classifiers
- Classifying leukemias
- For those of you interesting in trying out classifiers on your own, here's the best open software for do-it-yourself classifiers and data mining: Weka. There is a great introduction to using Weka in this book chapter Introducing Machine Learning Concepts with WEKA, as well as the very accessible Weka-produced book Data Mining: Practical Machine Learning Tools and Techniques.
Mar 27, 2018 - 3D Protein Structure Modeling
- Guest speaker: Dr. Kevin Drew, formerly of New York University and now at the UT Center for Systems and Synthetic Biology
- Today's slides
- The Rosetta software suite for 3D protein modeling, and what it can do for you
- The Protein Data Bank, HHPRED, MODELLER, and Pymol
Mar 22, 2018 - Clustering II
- Fun article: All biology is computational biology
- We're finishing up the slides from Mar. 20.
- Fuzzy k-means
- SOM gene expression
- Links to various applications of SOMs: 1, 2, 3. You can run SOMs on the following web site. You can also run SOM clustering with the Open Source Clustering package with the '-s' option, or GUI option (here's the manual). (FYI, it also supports PCA). If you are not happy with Cluster's SOM function, the statistical package R also provides a package for calculating SOMs (http://cran.r-project.org/web/packages/som/index.html).
- t-SNE
- Links to various applications of t-SNE: 1, 2, 3, 4. You can run t-SNE on the following web site.
Problem Set 3, due before midnight Apr. 10, 2018. You will need the following software and datasets:
- The clustering software is available here. There is an alternative package here that you can download and install on your local computer if you prefer.
- Yeast protein sequences
- Yeast protein phylogenetic profiles
- Yeast protein fractionation/mass spectrometry profiles. These additionally have common gene names (LocusID_commonname_location) which may help with the interpretation. These data come from this paper.
Mar 20, 2018 - Functional Genomics & Data Mining - Clustering I
- Today's slides
- Clustering
- Primer on clustering
- K-means example (.ppt)
- B cell lymphomas
- Review of phylogenetic profiles
- RNA-Seq
Mar 13-15, 2018 - SPRING BREAK
- Finish HW3 and turn in the proposal for your course project.
Mar 8, 2018 - Motifs
- Today's slides
- Due March 19 by email - One to two (full) paragraphs describing your plans for a final project, along with the names of your collaborators. This assignment (planning out your project) will account for 5 points out of your 25 total points for your course project. Here are a few examples of final projects from previous years: 1, 2, 3, 4, 5 6 7 8 9 10 11 12 13 14
- NBT Primer - What are motifs?
- NBT Primer - How does motif discovery work?
- The biochemical basis of a particular motif
- Gibbs Sampling
- FYI, The nanopore sequencing run we started in class ran for a day and collected >9000 basecalled reads, with average lengths of several thousand nucleotides. Our longest read was almost 70 kb! We'll clean up the data and post it to the course web site so that some of you can use it for projects, if desired.
Mar 6, 2018 - Live Demo: Next-next-...-generation Sequencing (NGS) by nanopore
- Homework #3 (worth 10% of your final course grade) has been assigned on Rosalind and is due by 11:59PM March 19.
- We're trying an experiment this year to see if we can sequence a genome (or at least some reasonable portion of it) in the space/time of a single class (!). We'll be using an Oxford Nanopore MinION sequencer, which differs substantially from these major alternatives:
- Youtube video of Illumina/Solexa Sequencing by Synthesis
- Youtube video of Pacific Biosciences single molecule sequencing by synthesis in zero mode waveguides
- Here's Oxford nanopore's own video explaining the tech. DNA sequences are collected first as electrical traces. A big breakthrough was learning to convert these traces to DNA nucleotide sequences using hidden Markov model based algorithms very similar in spirit to those we've already talked about in class (e.g., as in this open source HMM-based nanopore base-caller). The latest base-callers are moving towards neural network algorithms.
Mar 1, 2018 - Genomes II
- We're finishing up the slides from Feb. 27. Note that we give short shrift to read mapping/alignment algorithms, of which there are now a very long list. Here's an interesting discussion by Lior Pachter of the major developments in that field.
- The BWA paper gives a clear introduction to how the Burrows–Wheeler transform can be used to construct an index.
Feb 27, 2018 - Genome Assembly
- Follow up from the last lecture: 1/3 of known E. coli operons were just extended by at least 1 gene
- Today's slides
- A gentle reminder that Problem Set 2 is due by 11:59PM March 5
- DeBruijn Primer and Supplement
- Here are a few explanations of using the BWT for indexing: 1 2
- If you would like a few examples of proteins annotated with their transmembrane and soluble regions (according to UniProt) to help troubleshoot your homework, here are some example yeast protein sequences.
Feb 22, 2018 - Gene finding II
- We're finishing up the slides from Feb. 20, then moving on into Genome Assembly
Feb 20, 2018 - Gene finding
- We'll finish slides from Feb 15, then start today's slides on gene finding
- The UCSC genome browser
Problem Set 2, due before midnight Mar. 5, 2018:
- Problem Set 2.
- You'll need these 3 files: State sequences, Soluble sequences, Transmembrane sequences
Reading:
Feb 15, 2018 - HMMs II
- We're finishing up the slides from Feb. 13.
- News of the day: (1) A group in San Diego was just recognized by the Guinness Book of World Records for sequencing a newborn infant's genome and diagnosing a genetic disease in <20 hours. The particular sequencing platform they used claims a throughput of 6 Tb and 20 B reads in < 2 days. (2) Relevant to today's lecture, researchers at Nottingham University reported sequencing and assembling a near-complete human genome using a nanopore sequencer. The data interpretation relied heavily on hidden Markov models. Here's the paper.
Feb 13, 2018 - Hidden Markov Models
- Don't forget: Homework #2 (worth 10% of your final course grade) is due on Rosalind by 11:59PM February 19.
- Linking out to UniProt, discussed last time
- Today's slides
Reading:
- HMM primer and Bayesian statistics primer #1, Bayesian statistics primer #2, Wiki Bayes
- Care to practice your regular expressions? (In python?)
Feb 8, 2018 - Biological databases
- Just a note that we'll be seeing ever more statistics as go on. Here's a good primer from Prof. Lauren Myers to refresh/explain basic concepts.
- Today's slides
Feb 6, 2018 - BLAST
- Homework #2 (worth 10% of your final course grade) has been assigned on Rosalind and is due by 11:59PM February 19.
- Our slides today are modified from a paper on Teaching BLAST by Cheryl Kerfeld & Kathleen Scott.
- The original BLAST paper
- The protein homology graph paper. Just for fun, here's a link to a stylized version we exhibited in the engaging Design and the Elastic Mind show at New York's Museum of Modern Art.
Feb 1, 2018 - Guest lecture: Homologs, orthologs, and evolutionary trees
- We'll have a guest lecture by Ben Liebeskind, a postdoctoral fellow in the Center for Systems and Synthetic Biology, on decoding the evolutionary relationships among genes.
Jan 30, 2018 - Sequence Alignment II
- News of the day: Naked mole rats apparently don't age!?!
- We're finishing up the slides from Jan. 25.
- Dynamic programming primer
- An example of dynamic programming using Excel, created by Michael Hoffman (a former U Texas undergraduate, now U Toronto professor, who took a prior incarnation of this class)
- A few examples of proteins with internally repetitive sequences: 1, 2, 3
Jan 25, 2018 - Sequence Alignment I
- For those of you who might be interested, Rosalind is having a Bioinformatics Contest. Sign up runs until Feb. 3, the qualification round is Feb. 3-11, and Feb. 24 is the final round, with 24 hours to solve as many problems as you can. First prize in 2017 was to get your genome (exome) sequenced!
- Today's slides
Problem Set I, due before midnight Feb. 5, 2018:
- Problem Set 1
- H. influenzae genome. Haemophilus influenza was the first free living organism to have its genome sequenced. NOTE: there are some additional characters in this file from ambiguous sequence calls. For simplicity's sake, when calculating your nucleotide and dinucleotide frequencies, you can just ignore anything other than A, C, T, and G.
- T. aquaticus genome. Thermus aquaticus helped spawn the genomic revolution as the source of heat-stable Taq polymerase for PCR.
- 3 mystery genes (for Problem 5): MysteryGene1, MysteryGene2, MysteryGene3
- *** HEADS UP FOR THE PROBLEM SET *** If you try to use the Python string.count function to count dinucleotides, Python counts non-overlapping instances, not overlapping instances. So, AAAA is counted as 2, not 3, dinucleotides. You want overlapping dinucleotides instead, so will have to try something else, such as the python string[counter:counter+2] command, as explained in the Rosalind homework assignment on strings.
- For those of you who could use more tips on programming, there's a peer-led open coding hour happening on Tuesdays 3-4pm in MBB 2.232 (2nd floor lounge). It's a very informal setting where you can ask questions of more experienced programmers.
Reading:
- BLOSUM primer
- The original BLOSUM paper (hot off the presses from 1992!)
- BLOSUM miscalculations improve performance
- There is a good discussion of the alignment algorithms and different scoring schemes here
Jan 23, 2018 - Finishing Python intro, plus Rosalind help & programming Q/A, maybe a glimpse of next lecture
- news of the day--your neurons communicate with proteins related to retroviruses, reporting on 2 very nice back-to-back papers in cell: 1, 2
- Statistics in Python
- We'll be finishing Python slides from last time.
Jan 18, 2018 - Intro to Python
- Given SNOWPOCALYPSE 2018 and our lost first day of class, we'll pick up mid-stream: Today's lecture will combine the planned short intro from lecture 1 with a plunge right into Python...
- REMINDER: My email inbox is always fairly backlogged (e.g., my median time between non-spam emails was 11 minutes when I measured last year), so please copy the TA on any emails to me to make sure they get taken care of.
- Today's slides
- Python primer
- E. coli genome
- Python 2 vs 3?. For compatibility with Rosalind and other materials, we'll use version 2.7. The current plan is for Python 2.7 support to be halted in 2020, but there is some hope (wishful thinking?) that Python 4 will be backwards compatible, unlike Python 3. Regardless, you're welcome to use whichever version you prefer, but we'll use 2.7 for all class explanations in the interests of simplicity and consistency. For beginners, the differences are quite minimal.
Jan 16, 2018 - Introduction
- Today's slides
- Some warm-up videos to get you started on Python: Code Academy's Python coding for beginners
- We'll be conducting homework using the online environment Rosalind. Go ahead and register on the site, and enroll specifically for BCH339N-Spring2018 using this link. Homework #1 (worth 10% of your final course grade) has already been assigned on Rosalind and is due by 11:59PM January 25.
- A useful online resource if you get bogged down: Python for Biologists. (& just a heads-up that some of their instructions for running code relate to a command line environment that's a bit different from the default one you install following the Rosalind instructions. It won't affect the programs, just the way they are run or how you specific where files are located.) However, if you've never programmed Python before, definitely check this out!!!
- An oldie (by recent bioinformatics standards) but goodie: Computers are from Mars, Organisms are from Venus
Syllabus & course outline
An introduction to systems biology and bioinformatics, emphasizing quantitative analysis of high-throughput biological data, and covering typical data, data analysis, and computer algorithms. Topics will include introductory probability and statistics, basics of Python programming, protein and nucleic acid sequence analysis, genome sequencing and assembly, proteomics, synthetic biology, analysis of large-scale gene expression data, data clustering, biological pattern recognition, and gene and protein networks.
Open to upper division undergrads in natural sciences and engineering.
Prerequisites: Biochemistry 339F, Computer Science 303E, and Statistics and Data Sciences 328M (or Statistics and Scientific Computation 318M, 328M) with a grade of at least C-
Note that this is not a course on practical sequence analysis or using web-based tools. Although we will use a number of these to help illustrate points, the focus of the course will be on learning the underlying algorithms and exploratory data analyses and their applications, esp. in high-throughput biology.
Most of the lectures will be from research articles and slides posted online, with some material from the...
Optional text (for sequence analysis): Biological sequence analysis, by R. Durbin, S. Eddy, A. Krogh, G. Mitchison (Cambridge University Press),
For biologists rusty on their stats, The Cartoon Guide to Statistics (Gonick/Smith) is very good. A reasonable online resource for beginners is Statistics Done Wrong.
Some online references:
An online bioinformatics course
Assorted bioinformatics resources on the web: Assorted links
Online probability texts: #1, #2, #3
No exams will be given. Grades will be based on online homework (counting 30% of the grade), 3 problem sets (given every 2-3 weeks and counting 15% each towards the final grade) and an independent course project (25% of final grade). The course project will consist of a research project on a bioinformatics topic chosen by the student (with approval by the instructor) containing an element of independent computational biology research (e.g. calculation, programming, database analysis, etc.). This will be turned in as a link to a web page. The final project is due by midnight, April 25, 2018. The last three classes will be spent presenting your projects to each other. (The presentation will account for 5% of the project.)
Online homework will be assigned and evaluated using the free bioinformatics web resource Rosalind.
All projects and homework will be turned in electronically and time-stamped. No makeup work will be given. Instead, all students have 5 days of free “late time” (for the entire semester, NOT per project, and counting weekends/holidays). For projects turned in late, days will be deducted from the 5 day total (or what remains of it) by the number of days late (in 1 day increments, rounding up, i.e. 10 minutes late = 1 day deducted). Once the full 5 days have been used up, assignments will be penalized 10 percent per day late (rounding up), i.e., a 50 point assignment turned in 1.5 days late would be penalized 20%, or 10 points.
Homework, problem sets, and the project total to a possible 100 points. There will be no curving of grades, nor will grades be rounded up. We’ll use the plus/minus grading system, so: A= 92 and above, A-=90 to 91.99, etc. Just for clarity's sake, here are the cutoffs for the grades: 92% = A, 90% = A- < 92%, 88% = B+ < 90%, 82% = B < 88%, 80% = B- < 82%, 78% = C+ < 80%, 72% = C < 78%, 70% = C- < 72%, 68% = D+ < 70%, 62% = D < 68%, 60% = D- < 62%, F < 60%.
Students are welcome to discuss ideas and problems with each other, but all programs, Rosalind homework, problem sets, and written solutions should be performed independently . Students are expected to follow the UT honor code. Cheating, plagiarism, copying, & reuse of prior homework, projects, or programs from CourseHero, Github, or any other sources are all strictly forbidden and constitute breaches of academic integrity (UT academic integrity policy) and cause for dismissal with a failing grade.
The final project web site is due by midnight April 25, 2018.
- How to make a web site for the final project
- Google Site: https://support.google.com/sites/answer/153197?hl=en