LOOM

From NCBO Wiki
Revision as of 10:04, 10 July 2023 by JenniferVendetti (talk | contribs) (→‎Obtaining LOOM: Fixed broken link. LOOM JAR file is no longer accessible. Pointed to the archived version of the code in GitHub.)
Jump to navigation Jump to search

About LOOM

Lexical OWL Ontology Matcher (LOOM) is a freely available tool for ontology alignment. LOOM takes two ontologies represented in OWL and produces pairs of related concepts from the ontologies. In order to identify the corresponding concepts, LOOM compares the preferred names and synonyms of the concepts in both ontologies. It identifies two concepts from different ontologies as similar, if and only if their preferred names or synonyms are equivalent based on a modified string-comparison function. Our string-comparison function first removes all delimiters from both strings (e.g., spaces, underscores, parentheses, etc.). It then uses an approximate matching technique to compare the strings, allowing for a mismatch of at most one character in strings with length greater than four and no mismatches for shorter strings.

More information about LOOM can be found in the technical report

Obtaining LOOM

LOOM can currently be obtained here


Using LOOM

LOOM can be executed with a command of the following form:
% java -jar [-Xmx1500m] Loom.jar source.pprj target.pprj SourceSynonymSlotURI TargetSynonymSlotURI

In this command, source.pprj is the protege project file for the OWL source ontology to be mapped. target.pprj is the protege project file for the target ontology. SourceSynonymSlotURI is the full URI for the slot in which the source ontology stores synonym names. TargetSynonymSlotURI is the full URI for the slot containing synonyms in the target ontology. These URIs are quite often annotation properties in the ontologies.

NOTE: The [] designates an optional flag for allocating additional virtual memory to LOOM. For example, if you were to try to use LOOM to map Mouse Adult Gross Anatomy to Zebrafish Anatomy and Development, you would use the following command:
% java -jar -Xmx1500m Loom.jar mouse.pprj zebrafish.pprj http://www.geneontology.org/formats/oboInOwl#hasRelatedSynonym http://www.geneontology.org/formats/oboInOwl#hasExactSynonym

NOTE: LOOM can be used with ontologies in OBO format by loading the file into Protege 4 (http://protege.stanford.edu).

A few additional important tips:

  1. You should keep the .owl and .pprj files in the same folder as LOOM.
  2. Your project should be configured so that the preferred name of the concepts and synonyms are set as the browser text (instructions on how to do this are below).
  3. LOOM makes use of thread synchronization and so its speed is significantly improved with additional memory allocation. We strongly advise allocating additional virtual memory with the command -Xmx1500m (or however memory you choose to allocate).

Notes

How to configure your protege project so concepts have preferred name as browser text:

  1. Go to OWL -> Preferences. Under the visibility tab, put a check by owl:Class. Close preferences.
  2. In the main screen, go to the individuals tab. Select owl:Class from the class hierarchy browser. Now, in the individual browser, select the downward-pointing arrow (menu button) near the top. Then choose Set Display Slot and select the slot that you want to display as browser text (in most cases this will be rdfs:label).
  3. You should repeat this process to ensure that your synonym slot also displays the preferred name.