Skip to content

Learn classifications in MonDO disease ontology using DL-Learner

Notifications You must be signed in to change notification settings

yy20716/mondo-hpo-learner

Repository files navigation

Mondo-HPO-Learner

Goal

Our goal is to learn classifications in MonDO disease ontology, i.e. given existing MonDO classifications, learn fuzzy equivalence axioms. For example, we would like to know what would be a good class expression to define 'late onset Parkinson disease' using terms defined in HPO ontology, e.g., MONDO:0018466 (late onset Parkinson disease) can be defined as a an expression that consists of HP:0002322 (Resting tremor) and HP:0001300 (Parkinsonism) and ..., etc.

Approach

We leveraged DL-Learner for inductive learning. DL-Learner is an OWL-based inductive learning framework. It allows the learning of class expressions to be used in an equivalent class expression, e.g., given data about people and their relationships, it can learn “Uncle = brother-of o has-child some Male”. Using the DL-Learner, our goal is to ‘learn’ all non-root classes in MonDO. Interested readers can also check these slides.

Getting Started

Prerequisites

Please download the following files in the root of the cloned directory.

Note that running Mondo-HPO-learner requires hp.owl but please do not use the one available on its official webpage because it contains too many complex expressions which cannot be processed by DL-learner's reasoners. We instead used a simplified version of hp.owl which can be generated by using owltools as follows.

    target/owltools hp.obo --no-reasoner --merge-support-ontologies -o hp.owl

Installation and Usage

Once all files are ready, run the following commands for building and running the executable jar file.

    mvn clean compile assembly:single

    java -jar target/mondohpolearner-0.0.1-SNAPSHOT-jar-with-dependencies.jar -m (learn class expressions over mondo.owl and HPO annotations)
    java -jar target/mondohpolearner-0.0.1-SNAPSHOT-jar-with-dependencies.jar -g (learn class expressions over mondo.owl and GO ontology)

    java -jar target/mondohpolearner-0.0.1-SNAPSHOT-jar-with-dependencies.jar -d (learn class expressions over doid.owl and HPO annotations)
    java -jar target/mondohpolearner-0.0.1-SNAPSHOT-jar-with-dependencies.jar -o (learn class expressions over ordo-orphanet.owl and HPO annotations)
    java -jar target/mondohpolearner-0.0.1-SNAPSHOT-jar-with-dependencies.jar -n (learn class expressions over neoplasm-core.owl (a part of NCI thesaurus))

    java -jar target/mondohpolearner-0.0.1-SNAPSHOT-jar-with-dependencies.jar -c (generate charts from the result of learnings)

The execution of this program will generate the HTML files that show mappings between (i) MonDO classes and (ii) HPO classes with accuracy/precision in the 'report' directory. It is possible that processing some ontologies may require additional memories using jvm flags such as -Xms1g -Xmx12g.

Results

We uploaded the list of class expressions learned as follows:

Contributors

About

Learn classifications in MonDO disease ontology using DL-Learner

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages