BCH394P BCH364C 2023

From Marcotte Lab
Jump to: navigation, search

BCH394P/BCH364C Systems Biology & Bioinformatics

Course unique #: 55425/55330
Lectures: Tues/Thurs 11 – 12:30 PM WEL 2.110
Instructor: Edward Marcotte, marcotte @ utexas.edu

  • Office hours: Mon 4 – 5 PM on the class Zoom channel (available on Canvas)

TA: Matt McGuffie, mmcguffie @ utexas.edu

  • TA Office hours: Wed 1 - 2 PM / Thu 12:30 - 1:30 in MBB 1.448BA or by appointment on Zoom

Class Canvas site: https://utexas.instructure.com/courses/1352289

Lectures & Handouts

April 11, 2023 - Synthetic Biology, highly compressed

  • Reminder: All projects are due by 10PM, April 12. 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 6, 2023 - Orthologs and Phenologs

  • Remember: The final project web page is due by 10PM April 12, 2023, 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 4, 2023 - 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 probably 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.MAP2.
    • 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.


Mar 30, 2023 - Principal Component Analysis (& the curious case of European genotypes)

A smattering of links on PCA:

Mar 28, 2023 - Classifiers

Mar 23, 2023 - Proteomics

  • Guest speaker: Dr. Peter Faull, who earned his Ph.D. at the University of Edinburgh and subsequently served as Head of Proteomics at the MRC UK Clinical Sciences Centre and as a senior lab research scientist at the Francis Crick Institute in London before joining us at UT, where he now serves as Principal Proteomics Scientist in the UT Biological Mass Spectrometry core.

Mar 21, 2023 - 3D Protein Structure Modeling

  • Reminder: Your project topic is due today, and Problem Set #3 is due tomorrow.
  • Guest speaker: Prof. Y. Jessie Zhang, an expert on RNA polymerase, its post-translational modifications, and their effects on eukaryotic transcription. She combines experimental structure determination by X-ray crystallography with computational structure prediction using techniques like AlphaFold, and will talk about protein 3D structure modeling and prediction.
  • 3D macromolecular structural modeling software: UCSF ChimeraX, the Rosetta software suite, and an overview of what it can do for you, and last but not least: AlphaFold predicted structures and the AlphaFold colab where you can run your own structure predictions.
  • & a few other useful 3D structure tools: The Protein Data Bank, MODELLER, and Pymol

Mar 20, 2023 - Apologies, no office hours today. Feel free to reach out by email or attend the TA office hours this week.

Mar 14,16, 2023 - SPRING BREAK

  • Don't forget to turn in the proposal for your course project by March 21st and finish HW3 by March 22nd.

Mar 9, 2023 - Clustering II

  • We'll be continuing the slides from last time
  • I'm also posting the next (last) problem set:

Problem Set 3, due before 10PM Mar. 22, 2023. You will need the following software and datasets:


Mar 7, 2023 - Functional Genomics & Data Mining - Clustering I

  • Due March 21 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 a class_projects channel on the 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: 1 2 3 4 5 6 7 8 9 10 11 12 13 14
  • Science news of the day: The genome of Antarctic krill (the crustacean E. superba) has been sequenced and is crazy. It's 48 Gb in size, so 15x the human genome (!), one of the largest genomes ever assembled. And >92% of that is repetitive DNA. Solved with a combination of short and long read DNA sequencing.
  • Today's slides


Mar 2, 2023 - Motifs

Feb 28, 2023 - NGS analysis best practices

  • Homework #3 (worth 10% of your final course grade) has been assigned on Rosalind and is due by 10:00PM March 9. 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. Meme also runs faster using the "zero to one" or "one" occurrence per sequence option, rather than the "any number of repeats" option.
  • Guest speaker: Anna Battenhouse from the Center for Biomedical Research Support, where she maintains the Biomedical Research Computing Facility.
  • Today's slides

Feb 23, 2023 - Genome Assembly/Mapping II

Supporting reading:

human autosomes and Chromosome X)

Feb 21, 2023 - Genome Assembly


  • 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 16, 2023 - Gene finding II

  • Short classes at UT start this week in genome sequencing, proteomics, and bioinformatics
  • Several of you have asked about programming the Viterbi algorithm for the homework, so I wanted to make sure everyone realized that you are not required to program it. The sequence is short enough that you can solve it in a spreadsheet if that's easier for you.
  • We're finishing up the slides from last time.


Feb 14, 2023 - Gene finding

Reading (a couple of old classics + a review + better splice site detection):

Feb 9, 2023 - HMMs II

  • Science news of the day: a fun preprint illustrating the scale of efforts to identify protein families. This one clustered "19 billion sequences in 18 days on 27 high performance computing nodes, using 250,000 CPU hours in total". In all, they found 544 million sequence families (clusters) capturing ~94% of all known proteins, giving a sense of the overall size of the universe of proteins.

Problem Set 2, due before 10 PM, Feb. 20, 2023:

Feb 7, 2023 - Hidden Markov Models

  • Don't forget: Rosalind Homework #2 (worth 10% of your final course grade) is due by 10 PM February 8. Note: choose one of the two protein translation problems and see the update below on the IUPAC code example.
  • 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



  • It looks like a number of people are struggling with the Rosalind problem titled Protein Translation. As an alternative option, I've assigned a problem titled Translating RNA into Protein. Choose one; you'll get credit regardless of which of them you do. Also, it looks like the problem titled "Complementing a Strand of DNA" uses a now out-of-date call for IUPAC codes in the Programming Shortcut. Just delete the "from Bio.Alphabet import IUPAC" line & delete the ", IUPAC.unambiguous_dna" portion of the Seq() functions and it should work fine.

Feb 2, 2023 - We'll have a guest lecture from your TA Matt McGuffie on advancing your Python data analysis skills

  • WEATHER WARNING #2: Change of plans! UT has now officially canceled in-person classes, but more to the point, >100,000 people have lost power in Austin today. We're going to cancel the live zoom class tomorrow, and Matt will instead record the lecture and upload it to Canvas for viewing.
  • Matt is an expert in the bioinformatic analyses of plasmid sequences and developed the popular pLannotate tool to annotate and visualize plasmid features, based on a large database of genetic parts and protein sequences. Funny enough, he first described an early version of pLannotate as his project for this class back in 2019. He'll be introducing several useful Python libraries, including the Pandas package for handling large tables and a data visualization library for plotting data.

Jan 31, 2023 - Biological databases

  • WEATHER WARNING: UT just announced a campus closure for the morning, so for those of you that are able to attend online, I'll plan to hold it at the normal time on the class zoom channel (link available on Canvas). However, for those that can't make it, don't stress! We'll record the lecture and post the video to Canvas so that you can watch it later. Note: the next Rosalind homework is assigned below.
  • Science news of the day: Cell, Nature, Science, eLife, and the Lancet ban listing ChatGPT as a co-author
  • Today's slides

Homework #2 (worth 10% of your final course grade) has been assigned on Rosalind and is due by 10 PM February 8:

  • Besides giving a bit more programming experience, these questions will also introduce you to the BioPython Python library (see the "programming shortcuts" at the bottom of several questions). If you need to install BioPython on your computer, open an Anaconda prompt window (on a PC) or launch a console window from the Anaconda Navigator & type "pip install biopython". (You can use this approach to install most Python libraries.) There's a very useful tutorial here (also downloadable as a pdf file)

Extra reading/classes:

Jan 26, 2023 - BLAST

Jan 24, 2023 - Sequence Alignment II

Jan 19, 2023 - Sequence Alignment I

  • Science news of the day, relevant to our discussion of ChatGPT last class: CNET & other news sources used it to write articles; this Gizmodo story reports that "the AI-program fabricates information and bungles facts like nobody’s business" and CNET "has been forced to issue multiple, major corrections". So, if you do opt to try ChatGPT to help with Python, be sure to check (and then double-check) everything.
  • Today's slides

Problem Set I, due 10PM Jan. 30, 2023:

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

Extra reading, if you're curious:

Jan 17, 2023 - Intro to Python II

  • 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.
  • *** Rosalind assignments are due by 10 PM January 18. ***
  • We'll talk a bit about ChatGPT today for co-programming
  • Another strong recommendation (really) to the Python newbies to download Eric Matthes's GREAT, free Python command cheat sheets that he provides to accompany his Python Crash Course book.

Jan 12, 2023 - Intro to Python

  • STANDARD 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 all emails to help us make sure they get taken care of.
  • Today's slides. Remember that today and the next lecture are dedicated to the Python Boot Camp to start getting those of you with minimal coding skills up to speed on the basics. Advanced programmers can skip class!
  • E. coli genome
  • Don't forget that the Rosalind assignments are due by 10 PM January 18. Please do start if you haven't already, or you won't have time to get help if you have any issues installing Python.
  • Python 2 vs 3? We'll exclusively use Python 3 (any recent version will be fine). Some legacy materials, notably for us Rosalind, are only available in Python 2.7, so we'll generally try to be version-agnostic for compatibility. 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 10, 2023 - 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 2023) 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 10:00PM January 18.

Here are some online Python resources that you might find useful:

  • First and foremost, and very, very useful if you're a complete Python newbie: Eric Matthes's Python Crash Course book. He made some GREAT, free Python command cheat sheets to support the book.
  • Learn Python in Y Minutes is a great resource for examples of syntax and concepts
  • Practical Python, worth checking out!
  • If you have any basic experience at all in other programming languages, Google offered an extremely good, 2 day intro course to Python (albeit version 2) that is now available on Youtube.
  • Khan Academy has archived their older intro videos on Python here (again, version 2)

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, exploratory data analyses, and their applications, esp. in high-throughput biology. By the end of the course, students will know the fundamentals of important algorithms in bioinformatics and systems biology, will be able to design and implement computational studies in biology, and will have performed an element of original computational biology research.

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 & stats texts: #1, #2 (which has some lovely visualizations)

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), which can be collaborative (1-3 students/project). 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 10 PM, April 12, 2023. The last 3 classes will be spent presenting your projects to each other. (The presentation will account for 5/25 points of the project grade.)

If at some point, we have to go into coronavirus lockdown, that portion of the 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 time zones 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 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 (except the final collaborative project). 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 and cause for dismissal with a failing grade, possibly expulsion (UT's academic integrity policy). In particular, no materials used in this class, including, but not limited to, lecture hand-outs, videos, assessments (papers, projects, homework assignments), in-class materials, review sheets, and additional problem sets, may be shared online or with anyone outside of the class unless you have the instructor’s explicit, written permission. 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 10 PM April 12, 2023.

  • How to make a web site for the final project