Difference between revisions of "BCH394P BCH364C 2020"

From Marcotte Lab
Jump to: navigation, search
(Lectures & Handouts)
(Lectures & Handouts)
Line 100: Line 100:
'''Apr 7, 2020 - Classifiers'''
'''Apr 9, 2020 - Classifiers'''
* [https://twitter.com/JedMSP/status/1247920130941538304 A topical tSNE visualization]
* [http://www.marcottelab.org/users/BCH394P_364C_2020/BCH394P-364C_Classifiers_Spring2020.pdf Today's slides]
* [http://www.marcottelab.org/users/BCH394P_364C_2020/BCH394P-364C_Classifiers_Spring2020.pdf Today's slides]
* [http://www.marcottelab.org/users/BCH394P_364C_2020/MachineLearningReview.pdf A nice recent review explaining Support Vector Machines and k-NN classifiers]
* [http://www.marcottelab.org/users/BCH394P_364C_2020/MachineLearningReview.pdf A nice recent review explaining Support Vector Machines and k-NN classifiers]
* [http://www.marcottelab.org/users/BCH394P_364C_2020/AMLALLclassification.pdf Classifying leukemias]
* [http://www.marcottelab.org/users/BCH394P_364C_2020/AMLALLclassification.pdf Classifying leukemias]
* For those of you interesting in trying out classifiers on your own, here's the best stand alone open software for do-it-yourself classifiers and data mining: [http://www.cs.waikato.ac.nz/ml/weka/ Weka].  There is a great introduction to using Weka in this book chapter [http://link.springer.com/protocol/10.1007/978-1-4939-3578-9_17 Introducing Machine Learning Concepts with WEKA], as well as the very accessible Weka-produced book [http://www.cs.waikato.ac.nz/ml/weka/book.html Data Mining: Practical Machine Learning Tools and Techniques].
* For those of you interesting in trying out classifiers on your own, here's the best stand-alone open software for do-it-yourself classifiers and data mining: [http://www.cs.waikato.ac.nz/ml/weka/ Weka].  There is a great introduction to using Weka in this book chapter [http://link.springer.com/protocol/10.1007/978-1-4939-3578-9_17 Introducing Machine Learning Concepts with WEKA], as well as the very accessible Weka-produced book [http://www.cs.waikato.ac.nz/ml/weka/book.html Data Mining: Practical Machine Learning Tools and Techniques].
* There's a particularly nice Python library of simple, easy-to-use, classification, regression, machine learning and data mining tools called [https://scikit-learn.org/stable/ scikit-learn]
* There's a particularly nice Python library of simple, easy-to-use, classification, regression, machine learning and data mining tools called [https://scikit-learn.org/stable/ scikit-learn]

Revision as of 18:56, 8 April 2020

BCH394P/BCH364C Systems Biology & Bioinformatics

Course unique #: 53545/53436
Lectures: Tues/Thurs 11 – 12:30 PM in JGB 2.202
Instructor: Edward Marcotte, marcotte @ icmb.utexas.edu

  • Office hours: Wed 11 AM – 12 noon in MBB 3.148BA

TA: Brendan Floyd, bmfloyd @ utexas.edu

  • TA Office hours: Mon 1-2/Fri 1:30-2:30 in NHB 3.400B atrium (or MBB 3.128B) Phone: 512-232-3919

Lectures & Handouts

Apr 7, 2020 - Clustering II

Apr 2, 2020 - Functional Genomics & Data Mining - Clustering I

Problem Set 3, due before midnight Apr. 13, 2020. You will need the following software and datasets:

Mar 31, 2020 - Motifs

  • I hope that you're all safe & healthy, under the circumstances, and will be able to join class by zoom today. You should have received a zoom invitation by Canvas and email for class today, regular time. Your TA will record the class & we'll post it later to the Canvas in case you need to go back to it (or miss it). Slides will be from the Mar 12 posting below.
  • Rosalind is reactivated for those of you who didn't finish yet.
  • Please send project write-ups ASAP. Besides problem set #3 (to be assigned next lecture), this project will be your major course grade, so it's important to nail down the subject now. This write-up is 5 points out of the 25 points assigned to the project.

Mar 26, 2020 Heads Up

  • Just some info to get organized for the upcoming restart of class. We'll use the plan we worked out in the last class, at least at first to see how it goes. (We will obviously have to be a bit flexible here!) The plan is to hold lectures by Zoom during the normally scheduled class time. We'll be trying to record the lectures & post the recordings afterward on Canvas so any of you who might be in other timezones or otherwise be unable to make class will have the opportunity to watch them. As always, slides will be posted before class so you can follow along with the material. The Mar 31 lecture will cover the motif-finding lecture we skipped on Mar 12 in favor of the COVID19 response modeling (rather more important at the time!). We will be flexible on deadlines under the circumstances, but do please try to wrap up Rosalind and think about a project, which obviously needs to be one that can be done from available online resources.
  • We will email the class zoom link to everyone registered in Canvas. If you're auditing & you didn't get it, drop the TA an email & we will send to you too.

Mar 17-26, 2020 - SPRING BREAK

  • Don't forget to finish HW3 and turn in the proposal for your course project by "March 30th". Under the circumstances, we're going to suspend late penalties, but do please make a good effort, where possible, to get it in on time. Also, FYI, I updated the Rosalind problem set as noted below (March 10).

Mar 12, 2020 - Motifs

  • News of the day, COVID-19: This is a detailed writeup from a data modeler trying to make some scaling arguments on the virus spread and how many cases are undiagnosed in the US and elsewhere. The key point is that early interventions in "social distancing" (including closing schools, etc) have a disproportionate impact down the line, as you would expect on any exponential process. The virus is a near-perfect exponential fit right now. Here's the plot from a few days ago (note the log scale y axis).
  • The Johns Hopkins Univ Coronavirus Map is a phenomenal example of bio data sciences in a crisis.
  • In light of COVID-19 preparations, I'm going to suspend late penalties for the remainder of the semester. We'll talk in class about the likely transitioning online after our now 2-week spring break, but stay tuned to this page for continuing updates.
  • Today's slides
  • Due March 30 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, last class's nanopore sequencing run (+ the test run on the same pore) gave ~500Mb sequencing, now low by nanopore standards, but still respectable, with the longest reads >30kb.

Mar 10, 2020 - 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 23, extended to March 30. Also, note that one of the original problems assigned using the Uniprot database appears to be broken in Rosalind, so I've substituted a problem using the Meme motif finding site. In the past, we've run into problems with Rosalind timing out before Meme completes (although it just performed fine in tests in I ran), so be warned you may have to try it a couple of times.
  • We're going to be live-demoing a nanopore single molecule DNA sequencer in class, assuming all goes well. Specifically, 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 videos 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 5, 2020 - Guest Lecture: Anna Battenhouse, NGS Analysis Best Practices

  • Practical advice and best practices for NGS mapping and analysis
  • Today's slides

Mar 3, 2020 - Genomes II

Feb 27, 2020 - Genome Assembly

  • Today's slides
  • A gentle reminder that Problem Set 2 is due by 11:59PM March 4
  • Also, next Tuesday will be the first of our guest lecturers, Anna Battenhouse, on practical aspects of genome sequencing/assembly
  • DeBruijn Primer and Supplement
  • 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.
  • From last time, some definitions of sensitivity/specificity & precision/recall. Note that the gene finding community settled early on to a different definition of specificity that corresponds to the precision or PPV in other fields. Other fields define specificity as the true negative rate.

Feb 25, 2020 - Gene finding II

  • We're finishing up the slides from last time.

Feb 20, 2020 - Gene finding

Problem Set 2, due before midnight Mar. 4, 2020:

Reading (a couple of old classics + a review):

Feb 18, 2020 - HMMs II

Feb 13, 2020 - Hidden Markov Models

  • Happy Day-Before-Valentine's Day!
  • Don't forget: Rosalind Homework #2 (worth 10% of your final course grade) is due by 11:59PM February 19.
  • More stats for comp biologists worth checking out: Modern Statistic for Modern Biology, by Susan Holmes and Wolfgang Huber. It's currently available online and available on dead tree. (FYI, all code is in R.)
  • Today's slides


Feb 11, 2020 - Biological databases

  • Homework #2 (worth 10% of your final course grade) has been assigned on Rosalind and is due by 11:59PM February 19.
  • 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, 2020 - BLAST

Feb 4, 2020 - Sequence Alignment II

Jan 30, 2020 - Sequence Alignment I

Problem Set I, due before midnight Feb. 10, 2020:

  • 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 weekly peer-led open coding hour happening on Wednesday 12:30-1:30pm in MBB 2.232 (2nd floor lounge). It's a very informal setting where you can work and ask questions of more experienced programmers.


Jan 28, 2020 - Intro to Python #2

  • We'll be finishing Python slides from last time, plus Rosalind help & programming Q/A, maybe a glimpse of next lecture.
  • Statistics in Python

Jan 23, 2020 - Intro to Python

Jan 21, 2020 - Introduction

  • Today's slides
  • Some warm-up videos to get you started on Python (2 not 3, unless you pay for an upgrade): Code Academy's Python coding for beginners
  • Khan Academy has archived their videos on Python here
  • We'll be conducting homework using the online environment Rosalind. Go ahead and register on the site, and enroll specifically for BCH394P/364C (Spring 2020) Systems Biology/Bioinformatics 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 30.
  • 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!!!

Syllabus & course outline

Course syllabus

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 graduate students and upper division undergrads (with permission) in natural sciences and engineering. Prerequisites: Basic familiarity with molecular biology, statistics & computing, but realistically, it is expected that students will have extremely varied backgrounds. Undergraduates have additional prerequisites, as listed in the catalog.

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 27, 2020. The last 2.5 classes will be spent presenting your projects to each other. (The presentation will account for 5/25 points for 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 Sec. 11–402. Academic Dishonesty) and cause for dismissal with a failing grade.

The final project web site is due by midnight April 27, 2020.