Difference between revisions of "BCH394P BCH364C 2019"

From Marcotte Lab
Jump to: navigation, search
(Lectures & Handouts)
(Lectures & Handouts)
(14 intermediate revisions by one user not shown)
Line 28: Line 28:
 
** [https://github.com/Dclove123/Bioinformatics_Project Determining L- and V- regions of an Antibody Amino Acid Sequence using Hidden Markov Models and the Viterbi Algorithm, by Kevin Valdez, Kelly Sim, and Ghenica-Rose Delfin]
 
** [https://github.com/Dclove123/Bioinformatics_Project Determining L- and V- regions of an Antibody Amino Acid Sequence using Hidden Markov Models and the Viterbi Algorithm, by Kevin Valdez, Kelly Sim, and Ghenica-Rose Delfin]
 
** [https://sites.google.com/utexas.edu/bch339n-petbiodegradation/home PET Biodegradation, by Candice Chen, Nick Brzezniak, Max Rector]  
 
** [https://sites.google.com/utexas.edu/bch339n-petbiodegradation/home PET Biodegradation, by Candice Chen, Nick Brzezniak, Max Rector]  
 +
  
 
'''April 30, 2019 - Synthetic Biology II'''
 
'''April 30, 2019 - Synthetic Biology II'''
 
* '''Reminder: All projects are due by midnight, April 29'''.  Turn them in as a URL to the web site you created, sent by email to the TA AND PROFESSOR.   
 
* '''Reminder: All projects are due by midnight, April 29'''.  Turn them in as a URL to the web site you created, sent by email to the TA AND PROFESSOR.   
 
* We'll be finishing the slides from Apr. 19.
 
* We'll be finishing the slides from Apr. 19.
 +
  
 
'''April 25, 2019 - Synthetic Biology I'''
 
'''April 25, 2019 - Synthetic Biology I'''
Line 55: Line 57:
 
* An example of metabolic engineering: [http://www.nature.com/nature/journal/vaop/ncurrent/full/nature12051.html yeast making anti-malarial drugs]
 
* An example of metabolic engineering: [http://www.nature.com/nature/journal/vaop/ncurrent/full/nature12051.html yeast making anti-malarial drugs]
 
[http://www.popsci.com/woolly-mammoth-dna-brought-life-elephant-cells Food for thought]
 
[http://www.popsci.com/woolly-mammoth-dna-brought-life-elephant-cells Food for thought]
 +
  
 
'''April 23, 2019 - Phenologs'''
 
'''April 23, 2019 - Phenologs'''
Line 64: Line 67:
 
* One good tool for discovering orthologs is [http://inparanoid.sbc.su.se/cgi-bin/index.cgi InParanoid].  Note: InParanoid annotation lags a bit, so you'll need to find the [http://www.ensembl.org/index.html Ensembl] protein id, or try a text search for the common name. Or, just link there from [http://www.uniprot.org/ Uniprot]. InParanoid tends towards higher recall, lower precision for finding orthologs. Approaches with higher precision include [http://omabrowser.org/oma/home/ OMA] (introduced in [http://www.marcottelab.org/users/BCH394P_364C_2019/OMA.pdf this paper]), [http://phylomedb.org/ PhylomeDB], and [http://eggnogdb.embl.de/#/app/home EggNOG]
 
* One good tool for discovering orthologs is [http://inparanoid.sbc.su.se/cgi-bin/index.cgi InParanoid].  Note: InParanoid annotation lags a bit, so you'll need to find the [http://www.ensembl.org/index.html Ensembl] protein id, or try a text search for the common name. Or, just link there from [http://www.uniprot.org/ Uniprot]. InParanoid tends towards higher recall, lower precision for finding orthologs. Approaches with higher precision include [http://omabrowser.org/oma/home/ OMA] (introduced in [http://www.marcottelab.org/users/BCH394P_364C_2019/OMA.pdf this paper]), [http://phylomedb.org/ PhylomeDB], and [http://eggnogdb.embl.de/#/app/home EggNOG]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/Sonnhammer2002TiG.pdf All your ortholog definition questions answered!]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/Sonnhammer2002TiG.pdf All your ortholog definition questions answered!]
 +
  
 
'''April 18, 2019 - Networks II'''
 
'''April 18, 2019 - Networks II'''
Line 72: Line 76:
 
-->
 
-->
 
<!--
 
<!--
 +
  
 
'''Apr 16, 2019 - Networks'''
 
'''Apr 16, 2019 - Networks'''
Line 88: Line 93:
 
* [http://www.marcottelab.org/paper-pdfs/JProteomics_GBAReview_2010.pdf Review of predicting gene function and phenotype from protein networks]
 
* [http://www.marcottelab.org/paper-pdfs/JProteomics_GBAReview_2010.pdf Review of predicting gene function and phenotype from protein networks]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/NBTPrimer-NetworkVisualization.pdf Primer on visualizing networks]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/NBTPrimer-NetworkVisualization.pdf Primer on visualizing networks]
 +
  
 
'''Apr 11, 2019 - Principal Component Analysis (& the curious case of European genotypes)'''
 
'''Apr 11, 2019 - Principal Component Analysis (& the curious case of European genotypes)'''
Line 105: Line 111:
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/AMLALLclassification.pdf Classifying leukemias]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/AMLALLclassification.pdf 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: [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 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].
 +
  
 
'''Apr 4, 2019 - Clustering II'''
 
'''Apr 4, 2019 - Clustering II'''
Line 114: Line 121:
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/tSNE.pdf t-SNE]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/tSNE.pdf t-SNE]
 
** Links to various applications of t-SNE: [https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding 1], [http://lvdmaaten.github.io/tsne/ 2], [https://www.youtube.com/watch?v=RJVL80Gg3lA 3], [http://distill.pub/2016/misread-tsne/ 4]. You can run t-SNE on the [http://projector.tensorflow.org/ following web site].  
 
** Links to various applications of t-SNE: [https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding 1], [http://lvdmaaten.github.io/tsne/ 2], [https://www.youtube.com/watch?v=RJVL80Gg3lA 3], [http://distill.pub/2016/misread-tsne/ 4]. You can run t-SNE on the [http://projector.tensorflow.org/ following web site].  
 +
  
 
'''Apr 2, 2019 - Functional Genomics & Data Mining - Clustering I'''
 
'''Apr 2, 2019 - Functional Genomics & Data Mining - Clustering I'''
Line 129: Line 137:
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/yeast_phyloprofiles2.txt Yeast protein phylogenetic profiles]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/yeast_phyloprofiles2.txt Yeast protein phylogenetic profiles]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/yeast_cofractionationdata.txt 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 [http://www.marcottelab.org/paper-pdfs/Nature_AnimalComplexes_2015.pdf this paper].
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/yeast_cofractionationdata.txt 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 [http://www.marcottelab.org/paper-pdfs/Nature_AnimalComplexes_2015.pdf this paper].
 +
  
 
'''Mar 28, 2019 - Guest Lecture'''<br>
 
'''Mar 28, 2019 - Guest Lecture'''<br>
 +
  
 
'''Mar 26, 2019 - 3D Protein Structure Modeling'''
 
'''Mar 26, 2019 - 3D Protein Structure Modeling'''
Line 137: Line 147:
 
* The [https://www.rosettacommons.org/software Rosetta] software suite for 3D protein modeling, and [http://www.marcottelab.org/users/BCH394P_364C_2019/RosettaOverview.pdf what it can do for you]
 
* The [https://www.rosettacommons.org/software Rosetta] software suite for 3D protein modeling, and [http://www.marcottelab.org/users/BCH394P_364C_2019/RosettaOverview.pdf what it can do for you]
 
* The [http://www.rcsb.org/pdb/ Protein Data Bank], [http://toolkit.tuebingen.mpg.de/hhpred HHPRED], [https://salilab.org/modeller/ MODELLER], and [http://www.pymol.org/ Pymol]
 
* The [http://www.rcsb.org/pdb/ Protein Data Bank], [http://toolkit.tuebingen.mpg.de/hhpred HHPRED], [https://salilab.org/modeller/ MODELLER], and [http://www.pymol.org/ Pymol]
 +
  
 
'''Mar 19-21, 2019 - SPRING BREAK'''
 
'''Mar 19-21, 2019 - SPRING BREAK'''
 
* Finish HW3 and turn in the proposal for your course project.
 
* Finish HW3 and turn in the proposal for your course project.
 +
  
 
'''Mar 14, 2019 - Motifs'''
 
'''Mar 14, 2019 - Motifs'''
Line 149: Line 161:
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/GibbsSampling.pdf Gibbs Sampling]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/GibbsSampling.pdf 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! <s>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.</s>  Here are the nanopore reads if you'd like to play with them.  There are 3 fastq files, each gzipped and ~10-30GB in size:  [http://www.marcottelab.org/users/BCH394P_364C_2019/fastq_runid_fbea4bea7410dfda4bf285ff8f07fef0c49a6b4f_0.fastq.gz 0], [http://www.marcottelab.org/users/BCH394P_364C_2019/fastq_runid_fbea4bea7410dfda4bf285ff8f07fef0c49a6b4f_1.fastq.gz 1], [http://www.marcottelab.org/users/BCH394P_364C_2019/fastq_runid_fbea4bea7410dfda4bf285ff8f07fef0c49a6b4f_2.fastq.gz 2]
 
* 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! <s>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.</s>  Here are the nanopore reads if you'd like to play with them.  There are 3 fastq files, each gzipped and ~10-30GB in size:  [http://www.marcottelab.org/users/BCH394P_364C_2019/fastq_runid_fbea4bea7410dfda4bf285ff8f07fef0c49a6b4f_0.fastq.gz 0], [http://www.marcottelab.org/users/BCH394P_364C_2019/fastq_runid_fbea4bea7410dfda4bf285ff8f07fef0c49a6b4f_1.fastq.gz 1], [http://www.marcottelab.org/users/BCH394P_364C_2019/fastq_runid_fbea4bea7410dfda4bf285ff8f07fef0c49a6b4f_2.fastq.gz 2]
 +
  
 
'''Mar 12, 2019 - Live Demo: Next-next-...-generation Sequencing (NGS) by nanopore'''
 
'''Mar 12, 2019 - Live Demo: Next-next-...-generation Sequencing (NGS) by nanopore'''
Line 156: Line 169:
 
* [https://www.youtube.com/watch?v=NHCJ8PtYCFc Youtube video] of Pacific Biosciences [https://en.wikipedia.org/wiki/Single_molecule_real_time_sequencing single molecule sequencing by synthesis in zero mode waveguides]
 
* [https://www.youtube.com/watch?v=NHCJ8PtYCFc Youtube video] of Pacific Biosciences [https://en.wikipedia.org/wiki/Single_molecule_real_time_sequencing single molecule sequencing by synthesis in zero mode waveguides]
 
* Here's [https://nanoporetech.com/resource-centre/videos/nanopore-dna-sequencing 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 [https://academic.oup.com/bioinformatics/article/33/1/49/2525680 this open source HMM-based nanopore base-caller]).  [https://nanoporetech.com/about-us/news/new-basecaller-now-performs-raw-basecalling-improved-sequencing-accuracy The latest base-callers] are moving towards neural network algorithms.
 
* Here's [https://nanoporetech.com/resource-centre/videos/nanopore-dna-sequencing 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 [https://academic.oup.com/bioinformatics/article/33/1/49/2525680 this open source HMM-based nanopore base-caller]).  [https://nanoporetech.com/about-us/news/new-basecaller-now-performs-raw-basecalling-improved-sequencing-accuracy The latest base-callers] are moving towards neural network algorithms.
 +
  
 
'''Mar 7, 2019 - Genomes II'''<br>
 
'''Mar 7, 2019 - Genomes II'''<br>
Line 161: Line 175:
 
* The [http://www.marcottelab.org/users/BCH394P_364C_2019/BWApaper.pdf BWA paper] gives a clear introduction to how the Burrows–Wheeler transform can be used to construct an index.
 
* The [http://www.marcottelab.org/users/BCH394P_364C_2019/BWApaper.pdf BWA paper] gives a clear introduction to how the Burrows–Wheeler transform can be used to construct an index.
 
* Here are a few explanations of using the BWT for indexing: [http://blog.avadis-ngs.com/2012/04/elegant-exact-string-match-using-bwt-2/ 1] [http://www.di.unipi.it/~ferragin/Libraries/fmindexV2/index.html 2]
 
* Here are a few explanations of using the BWT for indexing: [http://blog.avadis-ngs.com/2012/04/elegant-exact-string-match-using-bwt-2/ 1] [http://www.di.unipi.it/~ferragin/Libraries/fmindexV2/index.html 2]
 +
  
 
'''Mar 5, 2019 - Guest Lecture: [https://sites.cns.utexas.edu/cbrs/bioinformatics/staff Anna Battenhouse], NGS Analysis Best Practices'''<br>
 
'''Mar 5, 2019 - Guest Lecture: [https://sites.cns.utexas.edu/cbrs/bioinformatics/staff Anna Battenhouse], NGS Analysis Best Practices'''<br>
 
* Practical advice and best practices for NGS mapping and analysis
 
* Practical advice and best practices for NGS mapping and analysis
 +
  
 
'''Feb 28, 2019 - Genome Assembly'''
 
'''Feb 28, 2019 - Genome Assembly'''
Line 170: Line 186:
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/DeBruijnPrimer.pdf DeBruijn Primer] and [http://www.marcottelab.org/users/BCH394P_364C_2019/DeBruijnSupplement.pdf Supplement]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/DeBruijnPrimer.pdf DeBruijn Primer] and [http://www.marcottelab.org/users/BCH394P_364C_2019/DeBruijnSupplement.pdf 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 [http://www.marcottelab.org/images/5/5a/Annotated_peptides.txt example yeast protein sequences].
 
* 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 [http://www.marcottelab.org/images/5/5a/Annotated_peptides.txt example yeast protein sequences].
 +
  
 
'''Feb 26, 2019 - Gene finding II'''
 
'''Feb 26, 2019 - Gene finding II'''
 
* We're finishing up the slides from Feb. 21, then moving on into [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C_GenomeAssembly_Spring2019.pdf Genome Assembly]
 
* We're finishing up the slides from Feb. 21, then moving on into [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C_GenomeAssembly_Spring2019.pdf Genome Assembly]
 +
* Peer-led open coding hour has been resurrected!  Wed 12:30-1:30 in the MBB 2nd floor student lounge (the newly revamped eating space)
  
 +
-->
 
'''Feb 21, 2019 - Gene finding'''
 
'''Feb 21, 2019 - Gene finding'''
* We'll finish slides from Feb 19, then start [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C-GeneFinding-Spring2019.pdf today's slides on gene finding]
+
* We'll finish HMM slides from Feb 19, then start [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C-GeneFinding-Spring2019.pdf today's slides on gene finding]
 +
* Some science news of the day:  [https://amp.economist.com/graphic-detail/2018/07/26/python-is-becoming-the-worlds-most-popular-coding-language "In the past 12 months Americans have searched for Python on Google more often than for Kim Kardashian"]
 +
* For a few more examples of HMMs in action, here's the [http://www.marcottelab.org/users/BCH394P_364C_2019/MinionHumanGenome.pdf recent paper on sequencing the human genome by nanopore], which used HMMs in 3-4 different ways for polishing, contig inspection, repeat analysis and 5-methylcytosine detection.
 
* [http://genome.ucsc.edu/cgi-bin/hgTracks?db=hg38&lastVirtModeType=default&lastVirtModeExtraState=&virtModeType=default&virtMode=0&nonVirtPosition=&position=chr11%3A61755389-61788517&hgsid=477602291_ccTRfcOcZIQHnMkBKGzbQLBRc6HL The UCSC genome browser]
 
* [http://genome.ucsc.edu/cgi-bin/hgTracks?db=hg38&lastVirtModeType=default&lastVirtModeExtraState=&virtModeType=default&virtMode=0&nonVirtPosition=&position=chr11%3A61755389-61788517&hgsid=477602291_ccTRfcOcZIQHnMkBKGzbQLBRc6HL The UCSC genome browser]
 
Problem Set 2, due before midnight Mar. 6, 2019:<br>
 
Problem Set 2, due before midnight Mar. 6, 2019:<br>
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C_ProblemSet2_Spring2019.pdf '''Problem Set 2'''].   
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C_ProblemSet2_Spring2019.pdf '''Problem Set 2'''].   
 
* You'll need these 3 files: [http://www.marcottelab.org/users/BCH394P_364C_2019/state_sequences State sequences], [http://www.marcottelab.org/users/BCH394P_364C_2019/soluble_sequences Soluble sequences], [http://www.marcottelab.org/users/BCH394P_364C_2019/transmembrane_sequences Transmembrane sequences]
 
* You'll need these 3 files: [http://www.marcottelab.org/users/BCH394P_364C_2019/state_sequences State sequences], [http://www.marcottelab.org/users/BCH394P_364C_2019/soluble_sequences Soluble sequences], [http://www.marcottelab.org/users/BCH394P_364C_2019/transmembrane_sequences Transmembrane sequences]
Reading:<br>
+
Reading (a couple of old classics + a review):<br>
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/EukGeneAnnotation.pdf Eukaryotic gene finding], [http://www.marcottelab.org/users/BCH394P_364C_2019/GeneMark.hmm.pdf GeneMark.hmm], and [http://www.marcottelab.org/users/BCH394P_364C_2019/BurgeKarlin-main.pdf GENSCAN]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/EukGeneAnnotation.pdf Eukaryotic gene finding], [http://www.marcottelab.org/users/BCH394P_364C_2019/GeneMark.hmm.pdf GeneMark.hmm], and [http://www.marcottelab.org/users/BCH394P_364C_2019/BurgeKarlin-main.pdf GENSCAN]
 +
  
 
'''Feb 19, 2019 - HMMs II'''
 
'''Feb 19, 2019 - HMMs II'''
 
* We're finishing up the slides from Feb. 14.  
 
* We're finishing up the slides from Feb. 14.  
* News of the day: (1) A group in San Diego [https://www.rchsd.org/about-us/newsroom/press-releases/new-guinness-world-records-title-set-for-fastest-genetic-diagnosis/ 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 [https://www.illumina.com/systems/sequencing-platforms/novaseq.html claims a throughput of 6 Tb and 20 B reads in < 2 days].  (2) Relevant to today's lecture, [https://arstechnica.com/science/2018/01/pocket-sized-dna-reader-used-to-scan-entire-human-genome-sequence/ 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.  [http://www.marcottelab.org/users/BCH394P_364C_2019/MinionHumanGenome.pdf Here's the paper].
+
* I was just pointed to [http://setosa.io/blog/2014/07/26/markov-chains/ this great interactive visualization of Markov Chains], by Victor Powell & Lewis Lehe. It's worth checking out to build some intuition.
 +
* A non-biological example of using log odds ratios & Bayesian stats [https://priceonomics.com/how-statistics-solved-a-175-year-old-mystery-about/ to learn the authors of the Federalist Papers]
 +
 
  
 
'''Feb 14, 2019 - Hidden Markov Models'''
 
'''Feb 14, 2019 - Hidden Markov Models'''
 
* Happy Valentine's Day!
 
* Happy Valentine's Day!
 
* Don't forget: Rosalind Homework #2 (worth 10% of your final course grade) is due '''by 11:59PM February 20'''.
 
* Don't forget: Rosalind Homework #2 (worth 10% of your final course grade) is due '''by 11:59PM February 20'''.
* Linking out to [http://www.uniprot.org/ UniProt], discussed last time
+
* [https://www.huber.embl.de/msmb/ Modern Statistic for Modern Biology], by Susan Holmes and Wolfgang Huber, discussed last time. It's currently available online and due to be [https://www.amazon.com/Modern-Statistics-Biology-Susan-Holmes/dp/1108705294/ released on dead tree in the US in April]. (FYI, all code is in R.)
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C-HMMs-Spring2019.pdf Today's slides]<br>
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C-HMMs-Spring2019.pdf Today's slides]<br>
 
Reading:<br>
 
Reading:<br>
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/NBTPrimer-HMMs.pdf HMM primer] and [http://www.marcottelab.org/users/BCH394P_364C_2019/NBTPrimer-Bayes.pdf Bayesian statistics primer #1], [http://www.marcottelab.org/users/BCH394P_364C_2019/BayesPrimer-NatMethods.pdf Bayesian statistics primer #2], [http://en.wikipedia.org/wiki/Bayes'_theorem Wiki Bayes]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/NBTPrimer-HMMs.pdf HMM primer] and [http://www.marcottelab.org/users/BCH394P_364C_2019/NBTPrimer-Bayes.pdf Bayesian statistics primer #1], [http://www.marcottelab.org/users/BCH394P_364C_2019/BayesPrimer-NatMethods.pdf Bayesian statistics primer #2], [http://en.wikipedia.org/wiki/Bayes'_theorem Wiki Bayes]
 
* Care to practice your [http://en.wikipedia.org/wiki/Regular_expression regular expressions]? (In [http://www.tutorialspoint.com/python/python_reg_expressions.htm python?])
 
* Care to practice your [http://en.wikipedia.org/wiki/Regular_expression regular expressions]? (In [http://www.tutorialspoint.com/python/python_reg_expressions.htm python?])
 +
  
 
'''Feb 12, 2019 - Biological databases'''
 
'''Feb 12, 2019 - Biological databases'''
 
* Homework #2 (worth 10% of your final course grade) has been assigned on Rosalind and is '''due by 11:59PM February 20'''.
 
* Homework #2 (worth 10% of your final course grade) has been assigned on Rosalind and is '''due by 11:59PM February 20'''.
 +
* Science news of the day: [http://www.sciencemag.org/news/2019/01/gum-disease-causing-bacteria-could-spur-alzheimer-s Does gum disease cause Alzheimer's?]
 
* Just a note that we'll be seeing ever more statistics as go on. Here's a [http://www.marcottelab.org/users/BCH394P_364C_2019/StatisticsPrimer.pdf good primer] from [http://www.bio.utexas.edu/research/meyers/LaurenM/index.html Prof. Lauren Myers] to refresh/explain basic concepts.
 
* Just a note that we'll be seeing ever more statistics as go on. Here's a [http://www.marcottelab.org/users/BCH394P_364C_2019/StatisticsPrimer.pdf good primer] from [http://www.bio.utexas.edu/research/meyers/LaurenM/index.html Prof. Lauren Myers] to refresh/explain basic concepts.
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C-BiologicalDatabases-Spring2019.pdf Today's slides]<br>
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C-BiologicalDatabases-Spring2019.pdf Today's slides]<br>
 +
  
 
'''Feb 7, 2019 - BLAST'''
 
'''Feb 7, 2019 - BLAST'''
 +
* Science news of the day: Yet more [http://dev.biologists.org/content/146/3/dev175778 CRISPR] [https://www.statnews.com/2019/01/31/crispr-babies-michael-deem-rice-he-jiankui/ baby] [https://www.technologyreview.com/s/612892/crispr-baby-stanford-investigation/ news]!
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C-BLAST-Spring2019.pdf Our slides today] are modified from a paper on [http://dx.doi.org/10.1371/journal.pbio.1001014 Teaching BLAST] by Cheryl Kerfeld & Kathleen Scott.
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BCH394P-364C-BLAST-Spring2019.pdf Our slides today] are modified from a paper on [http://dx.doi.org/10.1371/journal.pbio.1001014 Teaching BLAST] by Cheryl Kerfeld & Kathleen Scott.
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BLAST.pdf The original BLAST paper]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BLAST.pdf The original BLAST paper]
 
* [http://www.marcottelab.org/paper-pdfs/jmb-lgl.pdf The protein homology graph paper]. Just for fun, here's a link to a [http://www.moma.org/interactives/exhibitions/2008/elasticmind/#/211/ stylized version] we exhibited in the engaging [http://www.moma.org/interactives/exhibitions/2008/elasticmind/ Design and the Elastic Mind] show at New York's Museum of Modern Art.  
 
* [http://www.marcottelab.org/paper-pdfs/jmb-lgl.pdf The protein homology graph paper]. Just for fun, here's a link to a [http://www.moma.org/interactives/exhibitions/2008/elasticmind/#/211/ stylized version] we exhibited in the engaging [http://www.moma.org/interactives/exhibitions/2008/elasticmind/ Design and the Elastic Mind] show at New York's Museum of Modern Art.  
 +
  
 
'''Feb 5, 2019 - Sequence Alignment II'''
 
'''Feb 5, 2019 - Sequence Alignment II'''
 
* We're finishing up the slides from Jan. 31.  
 
* We're finishing up the slides from Jan. 31.  
 +
* Science-ish news of the day: [http://www.sciencemag.org/news/2019/02/choose-your-champion-year-s-dance-your-phd-contest The Dance Your Ph.D. contest is on!]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/FactAndFictionInAlignment.png Fact and Fiction in Sequence Alignments]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/FactAndFictionInAlignment.png Fact and Fiction in Sequence Alignments]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/NBTPrimer-DynamicProgramming.pdf Dynamic programming primer]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/NBTPrimer-DynamicProgramming.pdf Dynamic programming primer]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/GALPAS.xls An example of dynamic programming using Excel], created by [http://www.thepmcf.ca/News-Media/Blog/The-PMCF-Blog/January-2014/Meet-Michael-Hoffman Michael Hoffman] (a former U Texas undergraduate, now U Toronto professor, who took a prior incarnation of this class)
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/GALPAS.xls An example of dynamic programming using Excel], created by [http://www.thepmcf.ca/News-Media/Blog/The-PMCF-Blog/January-2014/Meet-Michael-Hoffman 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: [http://www.pdb.org/pdb/explore/explore.do?structureId=1QYY 1], [http://www.pdb.org/pdb/explore/explore.do?structureId=2BEX 2], [http://www.pdb.org/pdb/explore/explore.do?structureId=1BKV 3]
 
* A few examples of proteins with internally repetitive sequences: [http://www.pdb.org/pdb/explore/explore.do?structureId=1QYY 1], [http://www.pdb.org/pdb/explore/explore.do?structureId=2BEX 2], [http://www.pdb.org/pdb/explore/explore.do?structureId=1BKV 3]
 +
  
 
'''Jan 31, 2019 - Sequence Alignment I'''
 
'''Jan 31, 2019 - Sequence Alignment I'''
Line 222: Line 253:
 
* 3 mystery genes (for Problem 5): [http://www.marcottelab.org/users/BCH394P_364C_2019/MysteryGene1.txt MysteryGene1], [http://www.marcottelab.org/users/BCH394P_364C_2019/MysteryGene2.txt MysteryGene2], [http://www.marcottelab.org/users/BCH394P_364C_2019/MysteryGene3.txt MysteryGene3]<br>
 
* 3 mystery genes (for Problem 5): [http://www.marcottelab.org/users/BCH394P_364C_2019/MysteryGene1.txt MysteryGene1], [http://www.marcottelab.org/users/BCH394P_364C_2019/MysteryGene2.txt MysteryGene2], [http://www.marcottelab.org/users/BCH394P_364C_2019/MysteryGene3.txt MysteryGene3]<br>
 
* '''*** 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.
 
* '''*** 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.
 
* 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:<br>
 
Reading:<br>
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/NBTPrimer-BLOSUM.pdf BLOSUM primer]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/NBTPrimer-BLOSUM.pdf BLOSUM primer]
Line 228: Line 261:
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BLOSUM62Miscalculations.pdf BLOSUM miscalculations improve performance]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/BLOSUM62Miscalculations.pdf BLOSUM miscalculations improve performance]
 
* There is a good discussion of the alignment algorithms and different scoring schemes [http://www.bioinformaticsonline.org/ch/ch03/supp-all.html here]
 
* There is a good discussion of the alignment algorithms and different scoring schemes [http://www.bioinformaticsonline.org/ch/ch03/supp-all.html here]
-->
+
 
 +
 
 
'''Jan 29, 2019 - Intro to Python #2'''
 
'''Jan 29, 2019 - 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.
 
* We'll be finishing Python slides from last time, plus Rosalind help & programming Q/A, maybe a glimpse of next lecture.
 +
* Science news of the day: [https://doi.org/10.1371/journal.pone.0208425 A 500 year experiment], with a [https://www.theatlantic.com/science/archive/2019/01/500-year-long-science-experiment/581155/ nice commentary in The Atlantic]
 
* [http://www.scipy-lectures.org/packages/statistics/index.html Statistics in Python]
 
* [http://www.scipy-lectures.org/packages/statistics/index.html Statistics in Python]
 +
  
 
'''Jan 24, 2019 - Intro to Python'''
 
'''Jan 24, 2019 - Intro to Python'''
Line 239: Line 275:
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/Ecoli_genome.txt E. coli genome]
 
* [http://www.marcottelab.org/users/BCH394P_364C_2019/Ecoli_genome.txt E. coli genome]
 
* [http://astrofrog.github.io/blog/2015/05/09/2015-survey-results/ 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, [http://astrofrog.github.io/blog/2016/01/12/stop-writing-python-4-incompatible-code/ 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 [http://www.practicepython.org/blog/2017/02/09/python2-and-3.html differences are quite minimal].
 
* [http://astrofrog.github.io/blog/2015/05/09/2015-survey-results/ 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, [http://astrofrog.github.io/blog/2016/01/12/stop-writing-python-4-incompatible-code/ 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 [http://www.practicepython.org/blog/2017/02/09/python2-and-3.html differences are quite minimal].
 +
  
 
'''Jan 22, 2019 - Introduction'''
 
'''Jan 22, 2019 - Introduction'''

Revision as of 13:29, 21 February 2019

BCH394P/BCH364C Systems Biology & Bioinformatics

Course unique #: 54044/53945
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: Caitie McCaffery, clmccafferty @ utexas.edu

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

Lectures & Handouts

Feb 21, 2019 - Gene finding

Problem Set 2, due before midnight Mar. 6, 2019:

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


Feb 19, 2019 - HMMs II


Feb 14, 2019 - Hidden Markov Models

Reading:


Feb 12, 2019 - Biological databases


Feb 7, 2019 - BLAST


Feb 5, 2019 - Sequence Alignment II


Jan 31, 2019 - Sequence Alignment I

  • For those of you who might be interested, Rosalind is having a Bioinformatics Contest. Sign up runs until Feb. 2, the qualification round is Feb. 2-10, and Feb. 23 is the final round, with 24 hours to solve as many problems as you can. First prize in 2019 is to get your genome (exome) sequenced or get your own nanopore sequencer!
  • Today's slides

Problem Set I, due before midnight Feb. 11, 2019:

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

Reading:


Jan 29, 2019 - Intro to Python #2


Jan 24, 2019 - 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 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 22, 2019 - Introduction

  • Science news of the day (& a reminder of the importance of ethics in science!): Chinese authorities say world's first gene-edited babies were illegal
  • 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-BCH364C-Spring2019 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 31.
  • 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 29, 2019. 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 cause for dismissal with a failing grade.

The final project web site is due by midnight April 29, 2019.