NAME
OBO::Util::Ontolome - A set of ontologies.
SYNOPSIS
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);
DESCRIPTION
A collection 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.
AUTHOR
Erick Antezana, <erick.antezana -@- gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2007, 2008, 2009, 2010 by Erick Antezana
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.
union
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
Remark1 - the IDspace's are collected and added to the result ontology
Remark2 - the union is made on the basis of the IDs
Remark3 - the default namespace is taken from the last ontology argument
intersection
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.
transitive_closure
Usage - $ome->transitive_closure($o)
Return - an ontology (OBO::Core::Ontology) with the transitive closure
Args - an ontology (OBO::Core::Ontology) to be expanded
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.