This is a package for GO term similarity comparison . There are multiple methods from differect categories of bibliography concerning GO term similarity .
- Install :
sudo apt-get install openjdk-11-jdk
- Add to path :
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
- Source : owltools
- Get from GitHub :
git clone https://github.com/owlcollab/owltools.git
- Move to
OWLTools-Parent
directory . - Install using maven : Run
mvn clean install
. - Add owltools to path :
export PATH=$PATH:directory/to/where/you/downloaded/owltools/OWLTools-Runner/target
- ontobio :
pip install ontobio
- networkx :
pip install networkx[default,extra]
- Source : Development and application of a metric on semantic nets
- Implementation : ./EdgeBasedSimilarity/edgeBasedMethods.py
- Find the minimum lenght path .
- Each transition costs 1 .
- For each combination of terms from each entity find the minimum path of terms .
- Sum all the distances and divide by product of number of elements of each set .
- Source : A Knowledge-Based Clustering Algorithm Driven by Gene Ontology
- Implementation : ./EdgeBasedSimilarity/edgeBasedMethods.py
- Find the LCA of terms .
- Find the maximum distance of LCA from the root .
- Use the formula from :
- w is a hyperparameter for weight . (.815)
- Source : A new method to measure the semantic similarity of GO terms
- Implementation : ./EdgeBasedSimilarity/edgeBasedMethods.py
- Construct the subgraph for each term
$t$ involving all of its ancestors$N_t$ in ontology graph .
- Calculate s-value for a term in each subgraph using the formula :
- Calculate term similarity using the formulas :
- Source : A novel insight into Gene Ontology semantic similarity
- Implementation : ./EdgeBasedSimilarity/edgeBasedMethods.py
- Find Most Informative Common Ancestor - MICA .
- Calculate Information Content Distance from root .
- Find Most Informative Leaf for each term .
- Calculate Average Information Content Distance from each MIL and term .
- Find Minimum Path from each term to MICA .