Difference between revisions of "BIN-FUNC-Semantic similarity"
m (Created page with "<div id="BIO"> <div class="b1"> Measuring "Semantic Similarity" in Ontologies </div> {{Vspace}} <div class="keywords"> <b>Keywords:</b> Semantic similarity of ...") |
m |
||
Line 19: | Line 19: | ||
− | {{ | + | {{DEV}} |
{{Vspace}} | {{Vspace}} | ||
Line 39: | Line 39: | ||
You need to complete the following units before beginning this one: | You need to complete the following units before beginning this one: | ||
*[[BIN-FUNC-GO]] | *[[BIN-FUNC-GO]] | ||
− | *[[FND-Information_theory]] | + | *[[FND-STA-Information_theory]] |
{{Vspace}} | {{Vspace}} | ||
Line 83: | Line 83: | ||
== Contents == | == Contents == | ||
<!-- included from "../components/BIN-FUNC-Semantic_similarity.components.wtxt", section: "contents" --> | <!-- included from "../components/BIN-FUNC-Semantic_similarity.components.wtxt", section: "contents" --> | ||
− | ... | + | |
+ | |||
+ | {{Task|1= | ||
+ | *Read the introductory notes on {{ABC-PDF|BIN-FUNC-Semantic_similarity|quantifying how similar the "meaning" of two terms in the Gene Ontology is}}. | ||
+ | }} | ||
+ | |||
+ | |||
+ | |||
+ | ====Semantic similarity==== | ||
+ | |||
+ | A good, recent overview of ontology based functional annotation is found in the following article. This is not a formal reading assignment, but do familiarize yourself with section 3: ''Derivation of Semantic Similarity between Terms in an Ontology'' as an introduction to the code-based annotations below. | ||
+ | |||
+ | {{#pmid: 23533360}} | ||
+ | |||
+ | |||
+ | Practical work with GO: bioconductor. | ||
+ | |||
+ | The bioconductor project hosts the GOSemSim package for semantic similarity. | ||
+ | |||
+ | {{task|1= | ||
+ | # Work through the following R-code. If you have problems, discuss them on the mailing list. Don't go through the code mechanically but make sure you are clear about what it does. | ||
+ | <source lang="R"> | ||
+ | # GOsemanticSimilarity.R | ||
+ | # GO semantic similarity example | ||
+ | # B. Steipe for BCB420, January 2014 | ||
+ | |||
+ | setwd("~/your-R-project-directory") | ||
+ | |||
+ | # GOSemSim is an R-package in the bioconductor project. It is not installed via | ||
+ | # the usual install.packages() comand (via CRAN) but via an installation script | ||
+ | # that is run from the bioconductor Website. | ||
+ | |||
+ | source("http://bioconductor.org/biocLite.R") | ||
+ | biocLite("GOSemSim") | ||
+ | |||
+ | library(GOSemSim) | ||
+ | |||
+ | # This loads the library and starts the Bioconductor environment. | ||
+ | # You can get an overview of functions by executing ... | ||
+ | browseVignettes() | ||
+ | # ... which will open a listing in your Web browser. Open the | ||
+ | # introduction to GOSemSim PDF. As the introduction suggests, | ||
+ | # now is a good time to execute ... | ||
+ | help(GOSemSim) | ||
+ | |||
+ | # The simplest function is to measure the semantic similarity of two GO | ||
+ | # terms. For example, SOX2 was annotated with GO:0035019 (somatic stem cell | ||
+ | # maintenance), QSOX2 was annotated with GO:0045454 (cell redox homeostasis), | ||
+ | # and Oct4 (POU5F1) with GO:0009786 (regulation of asymmetric cell division), | ||
+ | # among other associations. Lets calculate these similarities. | ||
+ | goSim("GO:0035019", "GO:0009786", ont="BP", measure="Wang") | ||
+ | goSim("GO:0035019", "GO:0045454", ont="BP", measure="Wang") | ||
+ | |||
+ | # Fair enough. Two numbers. Clearly we would appreciate an idea of the values | ||
+ | # that high similarity and low similarity can take. But in any case - | ||
+ | # we are really less interested in the similarity of GO terms - these | ||
+ | # are a function of how the Ontology was constructed. We are more | ||
+ | # interested in the functional similarity of our genes, and these | ||
+ | # have a number of GO terms associated with them. | ||
+ | |||
+ | # GOSemSim provides the functions ... | ||
+ | ?geneSim() | ||
+ | ?mgeneSim() | ||
+ | # ... to compute these values. Refer to the vignette for details, in | ||
+ | # particular, consider how multiple GO terms are combined, and how to | ||
+ | # keep/drop evidence codes. | ||
+ | # Here is a pairwise similarity example: the gene IDs are the ones you | ||
+ | # have recorded previously. Note that this will download a package | ||
+ | # of GO annotations - you might not want to do this on a low-bandwidth | ||
+ | # connection. | ||
+ | geneSim("6657", "5460", ont = "BP", measure="Wang", combine = "BMA") | ||
+ | # Another number. And the list of GO terms that were considered. | ||
+ | |||
+ | # Your task: use the mgeneSim() function to calculate the similarities | ||
+ | # between all six proteins for which you have recorded the GeneIDs | ||
+ | # previously (SOX2, POU5F1, E2F1, BMP4, UGT1A1 and NANOG) in the | ||
+ | # biological process ontology. | ||
+ | |||
+ | # This will run for some time. On my machine, half an hour or so. | ||
+ | |||
+ | # Do the results correspond to your expectations? | ||
+ | |||
+ | </source> | ||
+ | |||
+ | }} | ||
+ | |||
+ | |||
{{Vspace}} | {{Vspace}} | ||
Line 89: | Line 175: | ||
== Further reading, links and resources == | == Further reading, links and resources == | ||
− | + | ||
− | + | {{#pmid: 23741529}} | |
− | + | {{#pmid: 23533360}} | |
+ | {{#pmid: 22084008}} | ||
+ | {{#pmid: 21078182}} | ||
+ | {{#pmid: 20179076}} | ||
+ | w | ||
{{Vspace}} | {{Vspace}} |
Revision as of 04:26, 31 August 2017
Measuring "Semantic Similarity" in Ontologies
Keywords: Semantic similarity of terms in ontologies, using GO and GOA with R
Contents
This unit is under development. There is some contents here but it is incomplete and/or may change significantly: links may lead to nowhere, the contents is likely going to be rearranged, and objectives, deliverables etc. may be incomplete or missing. Do not work with this material until it is updated to "live" status.
Abstract
...
This unit ...
Prerequisites
You need to complete the following units before beginning this one:
Objectives
...
Outcomes
...
Deliverables
- Time management: Before you begin, estimate how long it will take you to complete this unit. Then, record in your course journal: the number of hours you estimated, the number of hours you worked on the unit, and the amount of time that passed between start and completion of this unit.
- Journal: Document your progress in your course journal.
- Insights: If you find something particularly noteworthy about this unit, make a note in your insights! page.
Evaluation
Evaluation: NA
- This unit is not evaluated for course marks.
Contents
Task:
- Read the introductory notes on quantifying how similar the "meaning" of two terms in the Gene Ontology is.
Semantic similarity
A good, recent overview of ontology based functional annotation is found in the following article. This is not a formal reading assignment, but do familiarize yourself with section 3: Derivation of Semantic Similarity between Terms in an Ontology as an introduction to the code-based annotations below.
Gan et al. (2013) From ontology to semantic similarity: calculation of ontology-based semantic similarity. ScientificWorldJournal 2013:793091. (pmid: 23533360) |
Practical work with GO: bioconductor.
The bioconductor project hosts the GOSemSim package for semantic similarity.
Task:
- Work through the following R-code. If you have problems, discuss them on the mailing list. Don't go through the code mechanically but make sure you are clear about what it does.
# GOsemanticSimilarity.R
# GO semantic similarity example
# B. Steipe for BCB420, January 2014
setwd("~/your-R-project-directory")
# GOSemSim is an R-package in the bioconductor project. It is not installed via
# the usual install.packages() comand (via CRAN) but via an installation script
# that is run from the bioconductor Website.
source("http://bioconductor.org/biocLite.R")
biocLite("GOSemSim")
library(GOSemSim)
# This loads the library and starts the Bioconductor environment.
# You can get an overview of functions by executing ...
browseVignettes()
# ... which will open a listing in your Web browser. Open the
# introduction to GOSemSim PDF. As the introduction suggests,
# now is a good time to execute ...
help(GOSemSim)
# The simplest function is to measure the semantic similarity of two GO
# terms. For example, SOX2 was annotated with GO:0035019 (somatic stem cell
# maintenance), QSOX2 was annotated with GO:0045454 (cell redox homeostasis),
# and Oct4 (POU5F1) with GO:0009786 (regulation of asymmetric cell division),
# among other associations. Lets calculate these similarities.
goSim("GO:0035019", "GO:0009786", ont="BP", measure="Wang")
goSim("GO:0035019", "GO:0045454", ont="BP", measure="Wang")
# Fair enough. Two numbers. Clearly we would appreciate an idea of the values
# that high similarity and low similarity can take. But in any case -
# we are really less interested in the similarity of GO terms - these
# are a function of how the Ontology was constructed. We are more
# interested in the functional similarity of our genes, and these
# have a number of GO terms associated with them.
# GOSemSim provides the functions ...
?geneSim()
?mgeneSim()
# ... to compute these values. Refer to the vignette for details, in
# particular, consider how multiple GO terms are combined, and how to
# keep/drop evidence codes.
# Here is a pairwise similarity example: the gene IDs are the ones you
# have recorded previously. Note that this will download a package
# of GO annotations - you might not want to do this on a low-bandwidth
# connection.
geneSim("6657", "5460", ont = "BP", measure="Wang", combine = "BMA")
# Another number. And the list of GO terms that were considered.
# Your task: use the mgeneSim() function to calculate the similarities
# between all six proteins for which you have recorded the GeneIDs
# previously (SOX2, POU5F1, E2F1, BMP4, UGT1A1 and NANOG) in the
# biological process ontology.
# This will run for some time. On my machine, half an hour or so.
# Do the results correspond to your expectations?
Further reading, links and resources
Wu et al. (2013) Improving the measurement of semantic similarity between gene ontology terms and gene products: insights from an edge- and IC-based hybrid method. PLoS ONE 8:e66745. (pmid: 23741529) |
Gan et al. (2013) From ontology to semantic similarity: calculation of ontology-based semantic similarity. ScientificWorldJournal 2013:793091. (pmid: 23533360) |
Alvarez & Yan (2011) A graph-based semantic similarity measure for the gene ontology. J Bioinform Comput Biol 9:681-95. (pmid: 22084008) |
Jain & Bader (2010) An improved method for scoring protein-protein interactions using semantic similarity within the gene ontology. BMC Bioinformatics 11:562. (pmid: 21078182) |
Yu et al. (2010) GOSemSim: an R package for measuring semantic similarity among GO terms and gene products. Bioinformatics 26:976-8. (pmid: 20179076) |
w
Notes
Self-evaluation
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:
- 2017-08-05
Modified:
- 2017-08-05
Version:
- 0.1
Version history:
- 0.1 First stub
This copyrighted material is licensed under a Creative Commons Attribution 4.0 International License. Follow the link to learn more.