[Bioperl-l] ontology help

Marc Logghe Marc.Logghe at devgen.com
Tue Jun 22 03:50:01 EDT 2004

Hi all,
I am struggling with the Bio::Ontology::* packages and ontologies in general ...
Suppose I have 3 ontologies: ONTa, ONTb and ONTa2ONTbMap. The latter is actually only containing relations between terms of  the other 2 ontologies (subject terms belong to ONTa, object terms to ONTb) and predicate terms. The 3 Bio::Ontology::Ontology objects are fetched from biosql, by loading their terms and relations. 
Problem is how do I perform a query using the Bio::Ontology::* API in order to find all the relations in ONTa2ONTbMap to a term from ontology ONTa ?
I tried it like this:
my ($key) = $ONTa->find_terms(-name => 'primer_bind');
my ($rel) = $ONTa2ONTbMap->find_terms(-name => 'optional_qualifier_for');
my @rels = $ONTa2ONTbMap->get_relationships($key);

but then I get an exception:
------------- EXCEPTION  -------------
MSG: Found [scalar] where [Bio::Ontology::TermI] expected
STACK Bio::Ontology::Relationship::_check_class /home/marcl/src/bioperl/bioperl-live/Bio/Ontology/Relationship.pm:378
STACK Bio::Ontology::Relationship::subject_term /home/marcl/src/bioperl/bioperl-live/Bio/Ontology/Relationship.pm:242
STACK Bio::Ontology::Relationship::new /home/marcl/src/bioperl/bioperl-live/Bio/Ontology/Relationship.pm:162
STACK Bio::Factory::ObjectFactory::create_object /home/marcl/src/bioperl/bioperl-live/Bio/Factory/ObjectFactory.pm:150
STACK Bio::Ontology::SimpleOntologyEngine::get_relationships /home/marcl/src/bioperl/bioperl-live/Bio/Ontology/SimpleOntologyEngine.pm:504
STACK Bio::Ontology::Ontology::get_relationships /home/marcl/src/bioperl/bioperl-live/Bio/Ontology/Ontology.pm:386
STACK Bio::DB::Persistent::PersistentObject::AUTOLOAD /home/marcl/src/bioperl/bioperl-db/Bio/DB/Persistent/PersistentObject.pm:541
STACK toplevel ./validate_feature.pl:22


when I change the last line to $key_ont->get_relationships(), an empty list is returned. 
I am obviously missing something. I am pretty sure that the relations are there (verbositiy  while fetching from database, and data dump of the ontology objects).
Can somebody shed some light ? 

Marc Logghe, Ph.D.
Senior Scientist
Scientific Computing Group
Devgen nv
Technologiepark 9
B - 9052 Ghent-Zwijnaarde
Tel: +32 9 324 24 88
Fax: +32 9 324 24 25

> **** DISCLAIMER ********************************************************** 
> "This e-mail and any attachments thereto may contain information 
> which is confidential and/or protected by intellectual property 
> rights and are intended for the sole use of the recipient(s) named above. 
> Any use of the information contained herein (including, but not limited to, 
> total or partial reproduction, communication or distribution in any form) 
> by persons other than the designated recipient(s) is prohibited. 
> If you have received this e-mail in error, please notify the sender either 
> by telephone or by e-mail and delete the material from any computer. 
> Thank you for your cooperation."

More information about the Bioperl-l mailing list