Computational Systems Biology Main Page
Computational Systems Biology
Course Wiki for BCB420 (Computational Systems Biology) and JTB2020 (Applied Bioinformatics).
This is our main tool to coordinate information, activities and projects in University of Toronto's computational systems biology course BCB420. If you are not one of our students, this site is unlikely to be useful. If you are here because you are interested in general aspects of bioinformatics or computational biology, you may want to review the Wikipedia article on bioinformatics, or visit Wikiomics. Contact boris.steipe(at)utoronto.ca with any questions you may have.
Note: This page is are currently being edited for the 2019 Winter Term. Return soon.
Please note: There will be no class meeting on Tuesday, January 8. I will sign you up to the course mailing list using your information from BCH441 or BCB420 if I have that, otherwise I will use your official UofT eMail address.
JTB2020 students: I will not get a class list before Monday, January 7. Please contact me by eMail so I can update you with course details as soon as possible.
Note: If you are not enrolled in this course by Friday, January 4. it is unlikely that you will be able to catch up with preparations.
BCB420 / JTB2020
These are the course pages for BCB420H (Computational Systems Biology). Welcome, you're in the right place.
These are also the course pages for JTB2020H (Applied Bioinformatics). How come? Why is JTB2020 not the graduate equivalent of BCB410 (Applied Bioinformatics)? Let me explain. When this course was conceived as a required part of the (then so called) Collaborative PhD Program in Proteomics and Bioinformatics in 2003, there was an urgent need to bring graduate students to a minimal level of computer skills and programming; prior experience was virtually nonexistent. Fortunately, the field has changed and our current graduate students are usually quite competent at least in some practical aspects of computational biology. In this course we profit from the rich and diverse knowledge of the problem-domain our graduate students have, while bringing everyone up to a level of competence in the practical, computational aspects.
- The 2019 course...
In this course we explore systems biology of human genes with computational means in project oriented format. This will proceed in three phases:
- Foundations first: we will review basic computational skills and bioinformatics knowledge to bring everyone to the same level. In all likelihood you will need to start with these tasks well in advance of the actual lectures. This phase will include a comprehensive quiz on prerequisite material in week 3. We will explore data-sources and you will choose one data-source for which you will develop import code and document it in an R markdown document within an R package;
- Next we'll focus on Biocuration: the expertise-informed collection, integration and annotation of biological data. We will each choose a molecular "system" to work on, and define an ontology and data-model in which to annotate our system's components, their roles, and their relationships. The outcome of your curation task (together with your data script) will define the scope of this course's Oral Exam;
- Finally, we will develop tools for Exploratory Data Analysis in computational systems biology. We will jointly develop code for a team-authored R package where everyone contributes one mini workflow for data preparation, exploration and interpretation. Your code contributions to the package will be assessed;
- There are several meta-skills that you will pick up "on the side" these include time management, working according to best practice of reproducible research in a collaborative environment on GitHub; report writing, and keeping a scientific lab journal.
Organization
- Dates
- BCB420/JTB2020 is a Winter Term course.
- Lectures: Tuesdays, 16:00 to 18:00. (Classes start at 10 minutes past the hour.) Note: there will be at least three open-ended collaborative planning sessions to which attendance and participation is mandatory.
- Final Exam: None for this course.
- Events
- Tuesday, January 8 2019: Course officially begins. No class meeting. Get started on preparatory material (well in advancew actually).
- Tuesday, January 15: First class meeting. Mock-quiz for preparatory material.
- Tuesday, January 22: First live quiz on preparatory material.
- Location
- MS 3278 (Medical Sciences Building).
- Departmental information
- For BCB420 see the BCB420 Biochemistry Department Course Web page.
- For JTB2020 see the JTB2020 Course Web page for general information.
Prerequisites and Preparation
This course has formal prerequisites of BCH441H1 (Bioinformatics) or CSB472H1 (Computational Genomics and Bioinformatics). I have no way of knowing what is being taught in CSB472, and no way of confirming how much you remember from any of your previous courses, like BCH441 or BCB410. Moreover there are many alternative ways to become familiar with important course contents. Thus I generally enforce course-prerequisites only very weakly and you should not assume at all that having taken any particular combination of courses will have prepared you sufficiently. Instead I make the contents of the course very explicit. If your preparation is lacking, you will have to expend a very significant amount of effort. This is certainly possible, but whether you will succeed will depend on your motivation and aptitude.
The course requires (i) a solid understanding of molecular biology, (ii) solid, introductory level knowledge of bioinformatics, (iii) a good working knowledge of the R programming language.
The prerequisite material for this course includes the contents of the 2018 BCH441 course:
- <command>-Click to open the Bioinformatics Learning Units Map in a new tab, scale for detail.
- Open the Bioinformatics Knowledge Network Map and get an overview of the material. You should confidently be able to execute the tasks in the four Integrator Units .
- If you have taken BCH441 before, please note that many of the units have undergone significant revisions and material has been added. You will need to review the material and familiarize yourself more with the R programming aspects.
- If you have not taken BCH441, you will need to work through the material rather carefully. Estimate at least three weeks of time and get started immediately.
A minimal subset of bioinformatics knowledge for BCB420 is linked from the BCB420-specific map below. This will be the subject of our first Quiz in the third week of class. We will hold a mock-quiz in the second week.
The "Knowledge Network"
Supporting learning units for this course are organized in a "Knowledge Network" of self-contained units that can be worked on according to students' individual needs and timing. Here is the detailed map. It contains links to all of the units.
- <command>-Click to open the Learning Units Map in a new tab, scale for detail.
- Hover over a learning unit to see its keywords.
- Click on a learning unit to open the associated page.
- The nodes of the learning unit network are colour-coded:
- Live units are green
- Units under development are light green. These are still in progress.
- Stubs (placeholders) are pale. These still need basic contents.
- Milestone units are blue. These collect a number of prerequisites to simplify the network.
- Integrator units are red. These embody the main goals of the course.
- Units that require revision are pale orange.
- Units that have a black border have deliverables that can be submitted for credit. Visit the node for details.
- Arrows point from a prerequisite unit to a unit that builds on its contents.
Everything starts with the following three units:
This should be the first learning unit you work with, since your Course Journal will be kept on a Wiki, as well as all other deliverables. This unit includes an introduction to authoring Wikitext and the structure of Wikis, in particular how different pages live in separate "Namespaces". The unit also covers the standard markup conventions - "Wikitext markup" - the same conventions that are used on Wikipedia - as well as some extensions that are specific to our Course- and Student Wiki. We also discuss page categories that help keep a Wiki organized, licensing under a Creative Commons Attribution license, and how to add licenses and other page components through template codes.
Keeping a journal is an essential task in a laboratory. To practice keeping a technical journal, you will document your activities as you are working through the material of the course. A significant part of your term grade will be given for this Course Journal. This unit introduces components and best practice for lab- and course journals and includes a wiki-source template to begin your own journal on the Student Wiki.
In paralell with your other work, you will maintain an insights! page on which you collect valuable insights and learning experiences of the course. Through this you ask yourself: what does this material mean - for the field, and for myself.
- Once you have completed these three units, get started immediately on the Introduction-to-R units. You need time and practice, practice, practice[1] to acquire the programming skills you will need for the course.
- Whenever you want to take a break from studying R, get done with the other preparatory units.
At the end of our preparatory phase (after week 2) we will hold a comprehensive, non-trivial quiz on the preparatory units and on R basics.
Grading and Activities
Activity | Weight BCB410 - (Undergraduates) |
Weight JTB2020 - (Graduates) |
Self-evaluation and Feedback session on preparatory material("Quiz"[2]) | 20 marks | 15 marks |
Oral Exam (Feb. 14/15) | 30 marks | 30 marks |
Collaborative software task | 20 marks | 15 marks |
Journal | 25 marks | 25 marks |
Insights | 5 marks | 5 marks |
R Package Vignette | 10 marks | |
Total | 100 marks | 100 marks |
Marks adjustments
I do not adjust marks towards a target mean and variance (i.e. there will be no "belling" of grades). I feel strongly that such "normalization" detracts from a collaborative and mutually supportive learning environment. If your classmate gets a great mark because you helped them with a difficult concept, this should never have the effect that it brings down your mark through class average adjustments. Collaborate as much as possible, it is a great way to learn. But do keep it honest and carefully consider our rules on Plagiarism and Academic Misconduct.
Academic integrity
Our rules on Plagiarism and Academic Misconduct are clearly spelled out in this learning unit. This unit is part of our course prerequisites, and everyone documents in their course journal that they have worked through the unit and understood it. Consequences of having to report to the Office of Student Academic Integrity (OSAI) for plagiarism, misrepresentation or falsification include an indelible failing mark on the transcript, a delay in graduation, or not being able to complete your POSt. Please take extra time to clearly understand the requirements, and define for yourself what they mean for every aspect of your work.
Timetable and syllabus
Warning: Syllabus and activities are currently being edited for the 2019 Winter Term. Return to this page soon. Please note: There will be no class meeting on Tuesday, January 8. I will sign you up to the course mailing list using your information from BCH441 or BCB420 if I have that, otherwise I will use your official UofT eMail address. JTB2020 students: I will not get a class list before Monday, January 7. Please contact me by eMail so I can update you with course details as soon as possible.
Note: Click on the "▽" - symbol to see details for each week's activities.
Part I: Foundations
Week | In class: Tuesday, January 8 2019 | This week's activities |
1 |
|
Details ... ▽△
|
Week | In class: Tuesday, January 15 2019 | This week's activities |
2 |
|
Details ... ▽△
|
Week | In class: Tuesday, January 22 2019 | This week's activities |
3 |
|
Details ... ▽△
|
Week | In class: Tuesday, January 29 2019 | This week's activities |
4 |
|
Details ... ▽△
|
Part II: Curation
Week | In class: Tuesday, February 5 2019 | This week's activities |
5 |
|
Details ... ▽△
|
Week | In class: Tuesday, February 12 2019 | This week's activities |
6 |
|
Details ... ▽△
|
Week | In class: Tuesday, February 19 2019 | This week's activities |
– |
|
Details ... ▽△
|
Week | In class: Tuesday, February 26 2019 | This week's activities |
7 |
|
Details ... ▽△
|
Week | In class: Tuesday, March 5 2019 | This week's activities |
8 |
|
Details ... ▽△
|
Part III: Exploration
Week | In class: Tuesday, March 12 2019 | This week's activities |
9 |
|
Details ... ▽△
|
Week | In class: Tuesday, March 19 2019 | This week's activities |
10 |
|
Details ... ▽△
|
Week | In class: Tuesday, March 26 2019 | This week's activities |
11 |
|
Details ... ▽△
|
Week | In class: Tuesday, April 2 2019 | This week's activities |
12 |
|
NA Details ... ▽△
|
Resources
- Course related
- Student Wiki
- The Course Google Group.
- Netiquette for the Group mailing list
Miller et al. (2011) Strategies for aggregating gene expression data: the collapseRows R function. BMC Bioinformatics 12:322. (pmid: 21816037) |
[ PubMed ] [ DOI ] BACKGROUND: Genomic and other high dimensional analyses often require one to summarize multiple related variables by a single representative. This task is also variously referred to as collapsing, combining, reducing, or aggregating variables. Examples include summarizing several probe measurements corresponding to a single gene, representing the expression profiles of a co-expression module by a single expression profile, and aggregating cell-type marker information to de-convolute expression data. Several standard statistical summary techniques can be used, but network methods also provide useful alternative methods to find representatives. Currently few collapsing functions are developed and widely applied. RESULTS: We introduce the R function collapseRows that implements several collapsing methods and evaluate its performance in three applications. First, we study a crucial step of the meta-analysis of microarray data: the merging of independent gene expression data sets, which may have been measured on different platforms. Toward this end, we collapse multiple microarray probes for a single gene and then merge the data by gene identifier. We find that choosing the probe with the highest average expression leads to best between-study consistency. Second, we study methods for summarizing the gene expression profiles of a co-expression module. Several gene co-expression network analysis applications show that the optimal collapsing strategy depends on the analysis goal. Third, we study aggregating the information of cell type marker genes when the aim is to predict the abundance of cell types in a tissue sample based on gene expression data ("expression deconvolution"). We apply different collapsing methods to predict cell type abundances in peripheral human blood and in mixtures of blood cell lines. Interestingly, the most accurate prediction method involves choosing the most highly connected "hub" marker gene. Finally, to facilitate biological interpretation of collapsed gene lists, we introduce the function userListEnrichment, which assesses the enrichment of gene lists for known brain and blood cell type markers, and for other published biological pathways. CONCLUSIONS: The R function collapseRows implements several standard and network-based collapsing methods. In various genomic applications we provide evidence that both types of methods are robust and biologically relevant tools. |
Chang et al. (2013) Meta-analysis methods for combining multiple expression profiles: comparisons, statistical characterization and an application guideline. BMC Bioinformatics 14:368. (pmid: 24359104) |
[ PubMed ] [ DOI ] BACKGROUND: As high-throughput genomic technologies become accurate and affordable, an increasing number of data sets have been accumulated in the public domain and genomic information integration and meta-analysis have become routine in biomedical research. In this paper, we focus on microarray meta-analysis, where multiple microarray studies with relevant biological hypotheses are combined in order to improve candidate marker detection. Many methods have been developed and applied in the literature, but their performance and properties have only been minimally investigated. There is currently no clear conclusion or guideline as to the proper choice of a meta-analysis method given an application; the decision essentially requires both statistical and biological considerations. RESULTS: We performed 12 microarray meta-analysis methods for combining multiple simulated expression profiles, and such methods can be categorized for different hypothesis setting purposes: (1) HS(A): DE genes with non-zero effect sizes in all studies, (2) HS(B): DE genes with non-zero effect sizes in one or more studies and (3) HS(r): DE gene with non-zero effect in "majority" of studies. We then performed a comprehensive comparative analysis through six large-scale real applications using four quantitative statistical evaluation criteria: detection capability, biological association, stability and robustness. We elucidated hypothesis settings behind the methods and further apply multi-dimensional scaling (MDS) and an entropy measure to characterize the meta-analysis methods and data structure, respectively. CONCLUSIONS: The aggregated results from the simulation study categorized the 12 methods into three hypothesis settings (HS(A), HS(B), and HS(r)). Evaluation in real data and results from MDS and entropy analyses provided an insightful and practical guideline to the choice of the most suitable method in a given application. All source files for simulation and real data are available on the author's publication website. |
Thompson et al. (2016) Cross-platform normalization of microarray and RNA-seq data for machine learning applications. PeerJ 4:e1621. (pmid: 26844019) |
[ PubMed ] [ DOI ] Large, publicly available gene expression datasets are often analyzed with the aid of machine learning algorithms. Although RNA-seq is increasingly the technology of choice, a wealth of expression data already exist in the form of microarray data. If machine learning models built from legacy data can be applied to RNA-seq data, larger, more diverse training datasets can be created and validation can be performed on newly generated data. We developed Training Distribution Matching (TDM), which transforms RNA-seq data for use with models constructed from legacy platforms. We evaluated TDM, as well as quantile normalization, nonparanormal transformation, and a simple log 2 transformation, on both simulated and biological datasets of gene expression. Our evaluation included both supervised and unsupervised machine learning approaches. We found that TDM exhibited consistently strong performance across settings and that quantile normalization also performed well in many circumstances. We also provide a TDM package for the R programming language. |
325C78 | 7097B8 | 9BACCF | A8A5CC | D7C0F0 |
Notes
- ↑ It's practice!
- ↑ I call these activities Quiz sessions for brevity, however they are not quizzes in the usual sense, since they rely on self-evaluation and immediate feedback.