[Bioperl-guts-l] [14832] bioperl-live/trunk/Bio/Ontology: [bug 2573]

Christopher John Fields cjfields at dev.open-bio.org
Wed Aug 27 12:33:51 EDT 2008


Revision: 14832
Author:   cjfields
Date:     2008-08-27 12:33:51 -0400 (Wed, 27 Aug 2008)

Log Message:
-----------
[bug 2573]
* only work with Bio::Ontology::Relationship instances with a set Bio::Ontology::Ontology

Modified Paths:
--------------
    bioperl-live/trunk/Bio/Ontology/OBOEngine.pm
    bioperl-live/trunk/Bio/Ontology/Ontology.pm

Modified: bioperl-live/trunk/Bio/Ontology/OBOEngine.pm
===================================================================
--- bioperl-live/trunk/Bio/Ontology/OBOEngine.pm	2008-08-27 15:00:07 UTC (rev 14831)
+++ bioperl-live/trunk/Bio/Ontology/OBOEngine.pm	2008-08-27 16:33:51 UTC (rev 14832)
@@ -517,17 +517,18 @@
 sub get_predicate_terms {
     my ( $self ) = @_;
 
-    my @a = ( $self->is_a_relationship(),
-              $self->part_of_relationship(),
-              $self->related_to_relationship(),
-							$self->regulates_relationship(),
-        			$self->positively_regulates_relationship(),
-        			$self->negatively_regulates_relationship(),
+    my @a = grep {defined $_} (
+            $self->is_a_relationship(),
+            $self->part_of_relationship(),
+            $self->related_to_relationship(),
+            $self->regulates_relationship(),
+            $self->positively_regulates_relationship(),
+            $self->negatively_regulates_relationship(),
            );
 
-        foreach my $termname (keys %{$self->{ "_extra_relationship_types" }}){
-          push @a, $self->{ "_extra_relationship_types" }{ $termname };
-        }
+    foreach my $termname (keys %{$self->{ "_extra_relationship_types" }}){
+      push @a, $self->{ "_extra_relationship_types" }{ $termname };
+    }
 
     return @a;
 } # get_predicate_terms

Modified: bioperl-live/trunk/Bio/Ontology/Ontology.pm
===================================================================
--- bioperl-live/trunk/Bio/Ontology/Ontology.pm	2008-08-27 15:00:07 UTC (rev 14831)
+++ bioperl-live/trunk/Bio/Ontology/Ontology.pm	2008-08-27 16:33:51 UTC (rev 14832)
@@ -448,8 +448,9 @@
 
 sub get_predicate_terms{
     my $self = shift;
-
-    return grep { $_->ontology->name eq $self->name;
+    
+    # skipped Bio::Ontology::Relationship w/o defined Ontology (bug 2573)
+    return grep { $_->ontology && ($_->ontology->name eq $self->name)
               } $self->engine->get_predicate_terms(@_);
 }
 




More information about the Bioperl-guts-l mailing list