Usage - $ome->union($o1, $o2, ...) Returns - an ontology (OBO::Core::Ontology) being the union of the parameters (ontologies) Args - the ontologies (OBO::Core::Ontology) to be united Function - creates an ontology having the union of terms and relationships from the given ontologies Remark 1 - the IDspace's are collected and added to the result ontology Remark 2 - the union is made on the basis of the IDs Remark 3 - the default namespace is taken from the last ontology argument Remark 4 - the merging order is important while merging definitions: the one from the last ontology will be taken
Usage - $ome->intersection($o1, $o2) Return - an ontology (OBO::Core::Ontology) holding the 'intersection' of $o1 and $o2 Args - the two ontologies (OBO::Core::Ontology) to be intersected Function - finds the intersection ontology from $o1 and $o2. All the common terms by ID are added to the resulting ontology. This method provides a way of comparing two ontologies. The resulting ontology gives hints about the missing and identical terms (comparison done by term ID). A closer analysis should be done to identify the differences Remark - Performance issues with huge ontologies
Usage - $ome->transitive_closure($o, @transitive_relationship_types) Return - an ontology (OBO::Core::Ontology) with the transitive closure Args - the ontology (OBO::Core::Ontology) to be expanded and optionally an array with the transitive relationship types (by default: 'is_a' and 'part_of') to be considered Function - expands all the transitive relationships (e.g. is_a, part_of) along the hierarchy and generates a new ontology holding all possible paths Remark - Performance issues with huge ontologies. - an experimental code is enabled (flag: $composition) based on http://www.geneontology.org/GO.ontology.relations.shtml
Usage - $ome->transitive_reduction($o, @transitive_relationship_types) Return - an ontology (OBO::Core::Ontology) ensuring transitive reduction Args - an ontology (OBO::Core::Ontology) on which the transitive reduction algorithm will be applied and optionally an array with the transitive relationship types (by default: 'is_a' and 'part_of') to be considered Function - reduces all the transitive relationships (e.g. is_a, part_of) along the hierarchy and generates a new ontology holding the minimal paths (relationships) Remark - Performance issues with huge ontologies.
OBO::Util::Ontolome - A set of ontologies. This module supports the management of a set of ontologies.
use OBO::Util::Set;
use strict;
my $o1 = OBO::Core::Ontology->new();
my $o2 = OBO::Core::Ontology->new();
my $o3 = OBO::Core::Ontology->new();
my $ome1 = OBO::Util::Ontolome->new();
$ome1->add($o1);
$ome1->add_all($o2, $o3);
my $ome2 = OBO::Util::Ontolome->new();
$ome2->add_all($o1, $o2, $o3);
my $inter_o1_and_o2 = $ome1->intersection($o1, $o2);
my $union_o1_and_o2 = $ome1->union($o1, $o2);
my $o1_transitive_reduction = $ome1->transitive_reduction($o1);
my $o2_transitive_closure = $ome1->transitive_closure($o2);
An Ontolome is a collection of ontologies that contains no duplicate ontology elements. More formally, an Ontolome contains no pair of ontologies $e1 and $e2 such that $e1->equals($e2). As implied by its name, this package models the set of ontologies.
Erick Antezana, <erick.antezana -@- gmail.com>
Copyright (c) 2006-2015 by Erick Antezana. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.
To install OBO::Util::Set, copy and paste the appropriate command in to your terminal.
cpanm
cpanm OBO::Util::Set
CPAN shell
perl -MCPAN -e shell install OBO::Util::Set
For more information on module installation, please visit the detailed CPAN module installation guide.