ABC-INT-Expression data
Integrator Unit: Expression Data
(Integrator unit: select, clean and normalize expression data)
Abstract:
This page integrates material from the learning units and defines a task for selecting and normalizing human expression data.
Deliverables:
Prerequisites:
This unit builds on material covered in the following prerequisite units:
Contents
Evaluation
Your progress and outcomes of this "Integrator Unit" will be one of the topics of the first oral exam for BCB420/JTB2020. That oral exam will be worth 20% of your term grade.[1].
- Work through the tasks described below.
- Note that there are several tasks that need to be coordinated with your teammates and classmates. This is necessary to ensure the feature sets can be merged in the second phase of the course. Be sure to begin this coordination process in time.
- Remember to document your work in your journal concurrently with your progress. Journal entries that are uploaded in bulk at the end of your work will not be considered evidence of ongoing engagement.
- Your task will involve writing an R script. Place your script code in a subpage of your User page on the Student Wiki[2] and link to the page from your Journal.
- Schedule an oral exam by editing the signup page on the Student Wiki. You must have signed-up for an exam slot before 20:00 on the day before your exam.
- Your work must be complete before 20:00 on the day before your exam.
Contents
Your task is to select an expression dataset that is suitable for use as a "feature" for human genes in machine learning. Currently, expression data are collected with microarrays and from RNAseq experiments. If we want to use different experiments in a computational experiment, we need to consider very carefully how to prepare comparable values.
To begin, please read the following paper:
Our ultimate goal is to explore machine learning approaches to evaluate systems membership of genes. For this, we need features that annotate genes, are suitable for machine learning, and are informative regarding the function of the gene. Expression profiles have great potential for this, since genes that collaborate are often (although not always) co-regulated - either directly by being part of the same gene regulatory pathways, or indirectly by being similarly responsive to environmental conditions or other stimuli. In order to build "good" features, the data need to be of good quality, and informative for our purpose. We need expression datasets -
- with good coverage;
- not much older than ten years (quality!);
- with sufficient numbers of replicates;
- collected under interesting conditions;
- mapped to unique human gene identifiers.
For this integrator unit you will prepare a script that will produce one reference and one experimental feature data set for human genes (from the same experiment).
To avoid mistakes in praparing the dataset, discuss your approach with your team members, or post questions on the mailing list. You are encouraged to discuss strategies with anyone however the script you submit must be entirely your own and you must not copy code (apart from the script template) from elsewhere.
Read the entire set of requirements and parameters carefully before you begin. I have posted sample code that covers some of the aspects in the ./inst/scripts/ directory of the zu project/package repository.
Select an Expression Data Set
Task:
- Navigate to the GEO expression dataset search page and select an expression dataset you will work with.
- 1 – Choose a dataset of native, healthy human cells or tissue ...
- 2 – Choose an interesting experiment ...
- 3 – Make sure the coverage is as complete as possible ...
- 4 – Choose high-quality experiments ...
- Claim the dataset on the dataset signup page of the Student Wiki.
Clean the data and map to HUGO symbols
Task:
- Develop your code in an R script that you submit as part of this task. The script should implement the following workflow:
- 1 – Download the data ...
- 2 – Assess ...
- 3 – Map ...
- 4 – Clean ...
- 5 – Average ...
Apply Quantile Normalization (QN)
Task:
- Next, transform the data with QN. The process is motivated and described in Taroni (2017), but once again there may be parameters to respect and we need a class-consensus on how to do this correctly. Coordinate as above.
- The final result of your script needs to be a dataframe with two numeric columns, named <GSET-ID>.ctrl and <GSET-ID>.test, all rows of the HUGO symbols must exist in the exact order of the HUGO symbol reference vector, and the HUGO symbols must be defined as rownames of the dataframe.
- Example ...
- I expect that you have actually produced such a dataset and have it available on your computer for reference. Do not upload this data to Github.
- If your script does not produce a data set according to these exact specifications, this must be clearly stated in the script.
Interpret, and document
The steps above conclude the actual data preparation. Be prepared to answer the following questions:
Task:
- What are the control and test conditions of the dataset?
- Why is the dataset of interest to our systems assessment task?
- Were there expression values that were not unique for specific genes? How did you handle these?
- Were there expression values that could not be mapped to current HUGO symbols?
- How many outliers were removed, how many datapoints were imputed?
- How did you handle replicates?
- What is the final coverage of your dataset?
- Make sure your script contains the complete workflow, is fully commented, and contains all essential elements suggested by the script template[4]. This is a collaborative project - form matters.
Further reading, links and resources
- Taroni & Greene (2017) Cross-platform normalization enables machine learning model training on microarray and RNA-seq data simultaneously (BioRχiv doi: https://doi.org/10.1101/118349)
- Quantile Normalization is provided in the preprocessCore Bioconductor package:
Bolstad et al. (2003) A comparison of normalization methods for high density oligonucleotide array data based on variance and bias. Bioinformatics 19:185-93. (pmid: 12538238) - RNA-seq analysis is easy as 1-2-3 with limma, Glimma and edgeR Bioconductor workflow for RNAseq differential expression analysis with edgeR.
- RNA-seq workflow: gene-level exploratory analysis and differential expression Bioconductor workflow for RNAseq differential expression analysis with DEseq2.
- HUGO Gene Nomenclature Committee - the authoritative information source for gene symbols. Includes search functions for synonyms. aliases and other information, as well as downloadable data.
- Good discussion of current microarray normalization strategies, as well as a proposal how to apply QN to case/control datasets:
Cheng et al. (2016) CrossNorm: a novel normalization strategy for microarray data in cancers. Sci Rep 6:18898. (pmid: 26732145) - Quackenbusch's paper is now old, but an often-cited standard reference in the field:
Quackenbush (2002) Microarray data normalization and transformation. Nat Genet 32 Suppl:496-501. (pmid: 12454644) Notes
- ↑ Note: oral exams will focus on the content of Integrator Units, but will also cover material that leads up to it. All exams in this course are cumulative.
- ↑ Use the appropriate GeSHi code markup
- ↑ See this conversation on cross-validated for example.
- ↑ Refer to the script template inst/extdata/scripts/scriptTemplate.R in the _zu_ project repository.
About ...
Author:
- Boris Steipe <boris.steipe@utoronto.ca>
Created:
- 2018-01-26
Modified:
- 2017-11-01
Version:
- 1.1.1
Version history:
- 1.1.1 Sleeping ...
- 1.1 Some resources and further reading added
- 1.0 First live version
This copyrighted material is licensed under a Creative Commons Attribution 4.0 International License. Follow the link to learn more.
This page is not currently being maintained since it is not part of active learning sections.