Difference between revisions of "ABC-INT-Categorical features"
m |
m |
||
Line 39: | Line 39: | ||
− | |||
{{Smallvspace}} | {{Smallvspace}} | ||
Line 67: | Line 66: | ||
Most interesting data that describes function in living cells is not numerical, but categorical. Moreover, it is data with large numbers of categories - "'''high cardinality categorical data'''". Such data is problematic for machine learning for reasons of principle, and practicality. Such data is sparse, and the many dimensions of noise make overfitting of data a strong concern, in particular if we do not have very large numbers of examples in our training sets. The data suffers from the "curse of dimensionality", i.e. all examples look similarly similar or different. And the datastructures that hold such data may become impractically large, and model training may take impractically long. In this integrator unit we will download and prepare different types of categorical data to explore later how to use feature engineering to optimize it for machine learning tasks. | Most interesting data that describes function in living cells is not numerical, but categorical. Moreover, it is data with large numbers of categories - "'''high cardinality categorical data'''". Such data is problematic for machine learning for reasons of principle, and practicality. Such data is sparse, and the many dimensions of noise make overfitting of data a strong concern, in particular if we do not have very large numbers of examples in our training sets. The data suffers from the "curse of dimensionality", i.e. all examples look similarly similar or different. And the datastructures that hold such data may become impractically large, and model training may take impractically long. In this integrator unit we will download and prepare different types of categorical data to explore later how to use feature engineering to optimize it for machine learning tasks. | ||
− | Your tasks as a team are | + | Your tasks as a team are: |
− | * to choose | + | * to choose one of the datasets of interest for human systems biology specified below; |
* to download the source data; | * to download the source data; | ||
− | * to | + | * to determine the necessary steps for processing and to distribute the necessary tasks among the team members; |
− | * to | + | * to format the data for use as categorical features as specified below; |
− | * to document what you have achieved. | + | * to document what you have achieved, including your scripts and tools and one annotaded subset of 20 genes. |
− | |||
+ | ;To begin, you need to choose - as a team - one of the following five data sources of categorical functional data: | ||
− | === (1) Graph data mining on STRING=== | + | |
+ | ==='''(1) Graph data mining on STRING'''=== | ||
{{Smallvspace}} | {{Smallvspace}} | ||
− | The [https://string-db.org/ '''STRING database'''] publishes a network of gene nodes and edges that represent functional interactions: these integrate various experimental observations and computational inference, such as protein-protein interactions and literature data mining - or they can be decomposed by individual categories of evidence. A summary score is given as a probability of an edge to be functionally relevant. Network data mining for ML features is a very interesting topic in and of itself, here we will simply take the neighbours of a gene as categorical features that describe its environment. Task: using a suitable score cutoff, produce a table of STRING neigbours for each human gene that is defined in our HUGO symbol table. Upload the annotation for the <tt>miniHUGOsymbols</tt> list to your documentation. | + | The [https://string-db.org/ '''STRING database'''] publishes a network of gene nodes and edges that represent functional interactions: these integrate various experimental observations and computational inference, such as protein-protein interactions and literature data mining - or they can be decomposed by individual categories of evidence. A summary score is given as a probability of an edge to be functionally relevant. Network data mining for ML features is a very interesting topic in and of itself, here we will simply take the neighbours of a gene as categorical features that describe its environment. '''Task:''' using a suitable score cutoff, produce a table of STRING neigbours for each human gene that is defined in our HUGO symbol table. Upload the annotation for the <tt>miniHUGOsymbols</tt> list to your documentation. |
Example row: | Example row: | ||
Line 88: | Line 88: | ||
{{Smallvspace}} | {{Smallvspace}} | ||
− | === (2) GO and GOA=== | + | ==='''(2) GO and GOA'''=== |
{{Smallvspace}} | {{Smallvspace}} | ||
− | Gene Ontology Annotations provide the cornerstone of functional annotations for genes. Build a pipeline to annotate each HUGO symbol with the GO terms found in the relevant GOA tables. Task: produce a table of GO terms annotated for each human gene | + | [https://www.ebi.ac.uk/GOA Gene Ontology Annotations ('''GOA''')] provide the cornerstone of functional annotations for genes. Build a pipeline to annotate each HUGO symbol with the Gene Ontology (GO) terms found in the relevant GOA tables. '''Task:''' produce a table of GO terms annotated for each human gene defined in our HUGO symbol table. Do this separately for the three GO ontologies. Upload the annotation for the <tt>miniHUGOsymbols</tt> list to your documentation. |
Example header and row: | Example header and row: | ||
Line 101: | Line 101: | ||
=== (3) MSigDB sets=== | === (3) MSigDB sets=== | ||
{{Smallvspace}} | {{Smallvspace}} | ||
− | The Broad Institute hosts an expert-curated database of gene sets: [http://software.broadinstitute.org/gsea/msigdb/collections.jsp '''MSigDB''' - the Molecular Signature Database]. Task: download the data and build a pipeline to annotate all HUGO gene symbols with all of the gene sets that contain them. Annotate the <tt>miniHUGOsymbols</tt> list and upload | + | The Broad Institute hosts an expert-curated database of gene sets: [http://software.broadinstitute.org/gsea/msigdb/collections.jsp '''MSigDB''' - the Molecular Signature Database]. '''Task:''' download the data and build a pipeline to annotate all HUGO gene symbols with all of the gene sets that contain them. Annotate the <tt>miniHUGOsymbols</tt> list and upload it to your documentation; also test how your pipeline will scale to the full dataset of more than 17,000 gene sets. |
Example row: | Example row: | ||
Line 111: | Line 111: | ||
=== (4) Enrichment=== | === (4) Enrichment=== | ||
{{Smallvspace}} | {{Smallvspace}} | ||
− | A common aspect of systems biology wet-lab experiments is that they produce a ''set-of-genes'' result: genes that co-precipitate, genes that are co-regulated, genes that are phosporylated by the same kinase, etc. etc. Enrichment algorithms ask: what do such genes have in common, i.e. what feature appears more frequently in the set than one would expect in a randomly chosen set of genes. Any type of annotation can be chosen, but existing packages usually use GO annotations. Candidate tools include [http://bioconductor.org/packages/release/bioc/html/topGO.html topGO], and other tools in the [http://bioconductor.org/packages/release/BiocViews.html#___GeneSetEnrichment '''Gene Set Enrichment''' biocView]<ref>Note GSEA (Gene Set Enrichment Analysis) is '''not''' the same as gene feature enrichment.</ref>. Task: build a pipeline that takes as input a set of HUGO symbols - such as the sets derived from the MSigDB above, and outputs an annotation of enriched GO terms for each of the set elements. Develop this for the <tt>miniHUGOsymbols</tt> list and a few other gene sets and upload the results for the <tt>miniHUGOsymbols</tt> list to your documentation. | + | A common aspect of systems biology wet-lab experiments is that they produce a ''set-of-genes'' result: genes that co-precipitate, genes that are co-regulated, genes that are phosporylated by the same kinase, etc. etc. Enrichment algorithms ask: what do such genes have in common, i.e. what feature appears more frequently in the set than one would expect in a randomly chosen set of genes. Any type of annotation can be chosen, but existing packages usually use GO annotations. Candidate tools include [http://bioconductor.org/packages/release/bioc/html/topGO.html topGO], and other tools in the [http://bioconductor.org/packages/release/BiocViews.html#___GeneSetEnrichment '''Gene Set Enrichment''' biocView]<ref>Note GSEA (Gene Set Enrichment Analysis) is '''not''' the same as gene feature enrichment.</ref>. '''Task:''' build a pipeline that takes as input a set of HUGO symbols - such as the sets derived from the MSigDB above, and outputs an annotation of enriched GO terms for each of the set elements. Develop this for the <tt>miniHUGOsymbols</tt> list and a few other gene sets and upload the results for the <tt>miniHUGOsymbols</tt> list to your documentation. |
Example row: | Example row: | ||
Line 121: | Line 121: | ||
=== (5) Interpro=== | === (5) Interpro=== | ||
{{Smallvspace}} | {{Smallvspace}} | ||
− | [https://www.ebi.ac.uk/interpro/protein/P43489 '''InterPro''' provides] rich sequence and domain annotation - and the domain composition of a protein is a categorical feature set. [https://www.ebi.ac.uk/interpro/download.html '''Download'''] of InterPro data is available. Task: produce a table of InterPro domains in each human gene as defined by our HUGO symbol table. Upload the annotation for the <tt>miniHUGOsymbols</tt> list to your documentation. Example row: | + | [https://www.ebi.ac.uk/interpro/protein/P43489 '''InterPro''' provides] rich sequence and domain annotation - and the domain composition of a protein is a categorical feature set. [https://www.ebi.ac.uk/interpro/download.html '''Download'''] of InterPro data is available. '''Task:''' produce a table of InterPro domains in each human gene as defined by our HUGO symbol table. Upload the annotation for the <tt>miniHUGOsymbols</tt> list to your documentation. Example row: |
TNFRSF4 IPR034022|IPR001368|IPR001368 | TNFRSF4 IPR034022|IPR001368|IPR001368 | ||
− | |||
− | |||
{{Vspace}} | {{Vspace}} | ||
Line 296: | Line 294: | ||
== Notes == | == Notes == | ||
<!-- included from "./components/ABC-INT-Categorical_features.components.txt", section: "notes" --> | <!-- included from "./components/ABC-INT-Categorical_features.components.txt", section: "notes" --> | ||
+ | |||
+ | {{Smallvspace}} | ||
+ | |||
<!-- included from "./data/ABC-unit_components.txt", section: "notes" --> | <!-- included from "./data/ABC-unit_components.txt", section: "notes" --> | ||
<references /> | <references /> | ||
+ | |||
+ | {{Vspace}} | ||
+ | |||
== Further reading, links and resources == | == Further reading, links and resources == | ||
Revision as of 05:08, 3 February 2018
Integrator Unit: Categorical Features
(Integrator unit: collect categorical features for human genes)
Abstract:
This page integrates material from the learning units and defines a task for defining and downloading categorical feature sets for human genes.
Deliverables:
- Integrator unit: Deliverables can be submitted for course marks. See below for details.
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. Note that this is a team task, and your contribution to the task must be clearly documented in your journal for evaluation.
- Your task will involve submitting documentation on a sub-page of the Teams and Tasks page. (Details below) This documentation will be jointly authored and I expect every team member to be able to speak to all of it.
- Your task will involve submitting code to the zu R package. Ensure that your team's submission are complete and pass package checks with zero errors, zero warnings and zero notes.
- Schedule an oral exam (if you haven't done so already) 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.[2]
- Your work must be complete before 20:00 on the day before your exam.
Contents
Most interesting data that describes function in living cells is not numerical, but categorical. Moreover, it is data with large numbers of categories - "high cardinality categorical data". Such data is problematic for machine learning for reasons of principle, and practicality. Such data is sparse, and the many dimensions of noise make overfitting of data a strong concern, in particular if we do not have very large numbers of examples in our training sets. The data suffers from the "curse of dimensionality", i.e. all examples look similarly similar or different. And the datastructures that hold such data may become impractically large, and model training may take impractically long. In this integrator unit we will download and prepare different types of categorical data to explore later how to use feature engineering to optimize it for machine learning tasks.
Your tasks as a team are:
- to choose one of the datasets of interest for human systems biology specified below;
- to download the source data;
- to determine the necessary steps for processing and to distribute the necessary tasks among the team members;
- to format the data for use as categorical features as specified below;
- to document what you have achieved, including your scripts and tools and one annotaded subset of 20 genes.
- To begin, you need to choose - as a team - one of the following five data sources of categorical functional data
(1) Graph data mining on STRING
The STRING database publishes a network of gene nodes and edges that represent functional interactions: these integrate various experimental observations and computational inference, such as protein-protein interactions and literature data mining - or they can be decomposed by individual categories of evidence. A summary score is given as a probability of an edge to be functionally relevant. Network data mining for ML features is a very interesting topic in and of itself, here we will simply take the neighbours of a gene as categorical features that describe its environment. Task: using a suitable score cutoff, produce a table of STRING neigbours for each human gene that is defined in our HUGO symbol table. Upload the annotation for the miniHUGOsymbols list to your documentation.
Example row:
TNFRSF4 TNFRSF9|CTLA4|TNFSF4|TRAF5|IL2|IL2RA|FOXP3
(2) GO and GOA
Gene Ontology Annotations (GOA) provide the cornerstone of functional annotations for genes. Build a pipeline to annotate each HUGO symbol with the Gene Ontology (GO) terms found in the relevant GOA tables. Task: produce a table of GO terms annotated for each human gene defined in our HUGO symbol table. Do this separately for the three GO ontologies. Upload the annotation for the miniHUGOsymbols list to your documentation.
Example header and row:
symbol MF BP CC TNFRSF4 GO:0001618|GO:0005031|GO:0005515 GO:0006954|GO:006955|GO:0007275 GO:0005886|GO:0005887|GO:0009986
(3) MSigDB sets
The Broad Institute hosts an expert-curated database of gene sets: MSigDB - the Molecular Signature Database. Task: download the data and build a pipeline to annotate all HUGO gene symbols with all of the gene sets that contain them. Annotate the miniHUGOsymbols list and upload it to your documentation; also test how your pipeline will scale to the full dataset of more than 17,000 gene sets.
Example row:
TNFRSF4 M1739|M5947|M18255|M13664|M1644|M4248
(4) Enrichment
A common aspect of systems biology wet-lab experiments is that they produce a set-of-genes result: genes that co-precipitate, genes that are co-regulated, genes that are phosporylated by the same kinase, etc. etc. Enrichment algorithms ask: what do such genes have in common, i.e. what feature appears more frequently in the set than one would expect in a randomly chosen set of genes. Any type of annotation can be chosen, but existing packages usually use GO annotations. Candidate tools include topGO, and other tools in the Gene Set Enrichment biocView[3]. Task: build a pipeline that takes as input a set of HUGO symbols - such as the sets derived from the MSigDB above, and outputs an annotation of enriched GO terms for each of the set elements. Develop this for the miniHUGOsymbols list and a few other gene sets and upload the results for the miniHUGOsymbols list to your documentation.
Example row:
TNFRSF4 GO:0097190|GO:0051024|GO:0033209|GO:0032496
(5) Interpro
InterPro provides rich sequence and domain annotation - and the domain composition of a protein is a categorical feature set. Download of InterPro data is available. Task: produce a table of InterPro domains in each human gene as defined by our HUGO symbol table. Upload the annotation for the miniHUGOsymbols list to your documentation. Example row:
TNFRSF4 IPR034022|IPR001368|IPR001368
Process details TBC...
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.
- ↑ For clarification: You sign up for only one oral exam for February.
- ↑ Note GSEA (Gene Set Enrichment Analysis) is not the same as gene feature enrichment.
Further reading, links and resources
- 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.
If in doubt, ask! If anything about this learning unit is not clear to you, do not proceed blindly but ask for clarification. Post your question on the course mailing list: others are likely to have similar problems. Or send an email to your instructor.
About ...
Author:
- Boris Steipe <boris.steipe@utoronto.ca>
Created:
- 2018-02-01
Modified:
- 2018-02-01
Version:
- 0.1
Version history:
- 0.1 New unit under development
This copyrighted material is licensed under a Creative Commons Attribution 4.0 International License. Follow the link to learn more.