BCH394P BCH364C 2021

From Marcotte Lab
Revision as of 12:13, 29 April 2021 by Marcotte (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

BCH394P/BCH364C Systems Biology & Bioinformatics

Course unique #: 55680/55580
Lectures: Tues/Thurs 11 – 12:30 PM on Zoom (log in to Canvas for the link)
Instructor: Edward Marcotte, marcotte @ utexas.edu

  • Office hours: Fri 11 AM – 12 noon on Zoom

TA: Vy Dang, vyqtdang @ utexas.edu

  • TA Office hours: Mon 3-4/Wed 1-2 on Zoom

Class Slack channel: bch394pbch364c2021.slack.com

Lectures & Handouts

Apr 29 - May 6, 2021 - Final Project Presentations

  • Welcome to the end of the course! You made it! The last 3 days will be presentations of your class projects.
  • We'll spend 5 minutes on the Course - Instructor Survey Thursday morning.

Here's a sampling of some of the completed course projects (posted with permission, with more to come):

April 27, 2021 - Synthetic Biology, highly compressed

  • Reminder: All projects are due by midnight, April 28. Turn them in as a URL to the web site you created, sent by email to the TA AND PROFESSOR.
  • Today's slides

A collection of further reading, if you're so inclined:

Food for thought

April 22, 2021 - Phenologs

  • Remember: The final project web page is due by midnight April 28, 2021, turned in as a URL emailed to the TA+Professor. Please indicate in the email if you are willing to let us post the project to the course web site. Also, note that late days can't be used for the final project
  • Today's slides
  • Phenologs and the drug discovery story we'll discuss in class. This is a fun example of the power of opportunistic data mining aka "research parasitism" in biomedical research.
  • Search for phenologs here. You can get started by rediscovering the plant model of Waardenburg syndrome. Search among the known diseases for "Waardenburg", or enter the human genes linked to Waardenburg (Entrez gene IDs 4286, 5077, 6591, 7299) to get a feel for how this works.

Tools for finding orthologs:

  • One good tool for discovering orthologs is InParanoid. Note: InParanoid annotation lags a bit, so you'll need to find the Ensembl protein id, or try a text search for the common name. Or, just link there from Uniprot. InParanoid tends towards higher recall, lower precision for finding orthologs. Approaches with higher precision include OMA (introduced in this paper), PhylomeDB, and EggNOG. The various algorithms basically have different trade-offs with regard to precision vs recall, and ease of use. For example, we use EggNOG in the lab for annotating genes in new genomes/transcriptomes because the EggNOG HMM ortholog models are easily downloadable/re-run on any set of genes you happen to be interested in.
  • All (well, at least some) of your ortholog definition questions answered!

Apr 20, 2021 - Networks

  • Today's slides
  • Metabolic networks: The wall chart (it's interactive. For example, can you find enolase?), the human metabolic reaction network, a review of mapping transcriptional networks by Chip-SEQ (with the current record holder in this regard held by ENCODE), and a review of protein interaction mapping in humans and how it is informing disease genetics.
  • Useful gene network resources include:
    • Reactome), which we've seen before, links human genes according to reactions and pathways, and also calculated functional linkages from various high-throughput data.
    • HumanNet (older versions for other organisms at netbiolab.org and FunctionalNet), which provides interactive searches of a human functional gene network. The earlier versions helped my own group find genes for a wide variety of biological processes.
    • STRING is available for many organisms, including large numbers of prokaryotes. Try searching on the E. coli enolase (Eno) as an example.
    • GeneMania, which aggregates many individual gene networks.
    • The best interactive tool for network visualization is Cytoscape. You can download and install it locally on your computer, then visualize and annotated any gene network, such as are output by the network tools linked above. There is also a web-based network viewer that can be incorporated into your own pages (e.g., as used in YeastNet). Here's an example file to visualize, the human protein complex map from Hu.MAP.
    • Clustering algorithms can be applied to networks. For example, we frequently use the Walktrap algorithm developed by Pascal Pons and Matthieu Latapy, which is available in the Python iGraph library. Here's a nice blog demonstration using it.


Apr 15, 2021 - Principal Component Analysis (& the curious case of European genotypes)

A smattering of links on PCA:

Apr 13, 2021 - Classifiers

Apr 8, 2021 - Clustering II

Apr 6, 2021 - Functional Genomics & Data Mining - Clustering I

Apr 1, 2021 - Motifs

  • We'll pick up today with regular lectures and talk about motif finding, using the slides posted on Mar 23. I'm also posting the next (last) problem set for the class:

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

Mar 30, 2021 - Proteomics

  • Guest speaker: Dr. Daniel Boutz, who earned his Ph.D. at UCLA, worked extensively in the UT Center for Systems and Synthetic Biology, and is now a scientist with the Army Research Laboratories - South in Austin
  • News of the day: relevant to the alphafold discussion in the last class, Google is now working with Pfam to improve on HMM calling of protein domains by using deep learning

Mar 25, 2021 - 3D Protein Structure Modeling

Mar 23, 2021 - Motifs

Mar 16,18, 2021 - SPRING BREAK

  • Don't forget to finish HW3 and turn in the proposal for your course project by "March 24th".

Mar 11, 2021 - Genomes II

  • Homework #3 (worth 10% of your final course grade) has been assigned on Rosalind and is due by 11:59PM March 24. In past years, we've run into problems with Rosalind timing out before Meme completes although it usually runs eventually, so be warned you may have to try it a couple of times.
  • Due March 25 by email to the TA+Instructor - One to two (full) paragraphs describing your plans for a final project, along with the names of your collaborators. Please limit to no more than 3 per group, please. It's also fine to do this independently, if you prefer. (Do you have a particular skill/interest/exciting dataset you need help analyzing? There is now a channel on the class slack where you can ask around for partners.) 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: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
  • We're finishing up the slides from last time. 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.
  • Here is an excellent explanation of how the BWT relates to a suffix tree and enables fast read mapping to a genome
  • If you want a more detailed explanation, the BWA paper more formally describes how the Burrows–Wheeler transform can be used to construct an index.
  • & here are two more examples of using the BWT for indexing: 1 2

Mar 9, 2021 - Genome Assembly

  • A gentle reminder that Problem Set 2 is due by 11:59PM tonight
  • 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.
  • Today's slides
  • DeBruijn Primer and Supplement

Mar 4, 2021 - Gene finding II

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

Mar 2, 2021 - Gene finding

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

Feb 25, 2021 - HMMs II

  • We're finishing up the slides from last time. I've also updated the syllabus to account for missing 3 lectures. Mainly, we'll go all the way to the last scheduled class day (previously, we stopped 1 day early), but we were otherwise able to accommodate most of the missing material in a way that doesn't add any additional load on you all.

Problem Set 2, due before midnight Mar. 9, 2021:

Feb 16,18,23, 2021 - Snowpocalypse 2021!!!!

  • Hope everyone managed to stay safe/warm/fed during the storm and have now had a chance to recover. As many of you already discovered, the due date on Rosalind HW #2 was advanced. I'll leave it open long enough for everyone to finish that homework. We'll restart tomorrow (Feb 25) by reviewing HMMs and finishing up slides from Feb 11.

Feb 11, 2021 - Hidden Markov Models

  • Happy Class-Before-Valentine's Day!
  • Don't forget: Rosalind Homework #2 (worth 10% of your final course grade) is due by 11:59PM February 17.
  • 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 9, 2021 - Biological databases

Feb 4, 2021 - BLAST

Feb 2, 2021 - Sequence Alignment II

Jan 28, 2021 - Sequence Alignment I

Problem Set I, due before midnight Feb. 8, 2021:

  • 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.


  • The UT Center for Biomedical Research Support is offering short (1 day) online courses in bioinformatics and biocomputing
  • For those of you who could use more tips on programming, there's a weekly peer-led open coding hour happening every Wednesday on zoom. The zoom link will be posted to Slack & Canvas. It's a very informal setting where you can work and ask questions of more experienced programmers.

Extra reading, if you're curious:

Jan 26, 2021 - Intro to Python #2

  • Reminder that today will be part 2 of the "Python boot camp" for those of you with little to no previous Python coding experience. We'll be finishing the slides from last time, plus Rosalind help & programming Q/A.
  • Statistics in Python

Jan 21, 2021 - Intro to Python

  • REMINDER: My email inbox is always fairly backlogged (e.g., my median time between non-spam emails was 11 minutes when I measured it some time ago, and it's gotten much worse since then), 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?. We'll use Python 3 (the latest version is 3.8), but Rosalind and some materials are only available in Python 2.7, so we'll generally try to be version agnostic for compatibility. Use whichever you wish, but be aware that support for Python 2.7 has officially been stopped. For beginners, the differences are quite minimal and are summarized in a table here. There's also a great cheat sheet here for writing code compatible with both versions.

Jan 19, 2021 - Introduction

  • Today's slides
  • We'll be conducting homework using the online environment Rosalind. Go ahead and register on the site, and enroll specifically for BCH394P/364C (Spring 2021) 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 27.
  • Here's a very nice online Python resource, worth checking out!
  • 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
  • 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, this also worth checking 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
Online probability texts: #1, #2

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 26, 2021. The last 3 classes will be spent presenting your projects to each other. (The presentation will account for 5/25 points for the project.)

In this semester of coronavirus lockdown, the entire class will be web-based. We will hold lectures by Zoom during the normally scheduled class time. Log in to the UT Canvas class page for the link, or, if you are auditing, email the TA and we will send the link by return email. Slides will be posted before class so you can follow along with the material. We'll 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. Note that the recordings will only be available on Canvas and are reserved only for students in this class for educational purposes and are protected under FERPA. The recordings should not be shared outside the class in any form. Violation of this restriction by a student could lead to Student Misconduct proceedings.

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. In particular, any materials found online (e.g. in CourseHero) that are associated with you, or any suspected unauthorized sharing of materials, will be reported to Student Conduct and Academic Integrity in the Office of the Dean of Students. These reports can result in sanctions, including failure in the course.

The final project web site is due by midnight April 28, 2021.