GO::Model::GraphIterator.3pm

Langue: en

Autres versions - même langue

Version: 2009-11-06 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

   GO::Model::GraphIterator - Graph iterator
 
 

SYNOPSIS

   $it = $graph->create_iterator;
   # returns a GO::Model::GraphIterator object
 
   while (my $ni = $it->next_node_instance) {
     $depth = $ni->depth;
     $term = $ni->term;
     $reltype = $ni->parent_rel->type;
     printf 
       "%s %8s Term = %s (%s)  // depth=%d\n",
           "----" x $depth,
           $reltype,
           $term->name,
           $term->public_acc,
           $depth;
   }
 
 

DESCRIPTION

SEE ALSO

GO::Model::Graph

GO::Model::GraphNodeInstance

order

   Usage   - $graphiter->order("breadth");
   Returns - string
   Args    - string
 
 

gets/sets traversal order; breadth or depth; default is depth

direction

   Usage   - $graphiter->direction("up");
   Returns - string
   Args    - string
 
 

gets/sets direction; default is ``down''

compact

   Usage   - $graphiter->compact(1);
   Returns - bool
   Args    - bool
 
 

set this if you dont want relationships to be traversed twice; this gives a more compact tree representation of the graph

reltype_filter

   Usage   - $graphiter->reltype_filter(qw(is_a part_of))
   Returns - array
   Args    - array
 
 

by default, all relationship types are treated as transitive, and will be traversed by the iterator

sometimes you dont want to traverse all relations, even if they are transitive. For example, when answering the query ``find all genes expressed in the embryo'' you way want subtypes of embryo and parts of the embryo but not things that develop_from the embryo.

For more details, see <http://sourceforge.net/mailarchive/forum.php?thread_id=9448679&forum_id=43082>

reset_cursor

   Usage   -
   Returns -
   Args    -
 
 

next_node

   Usage   -
   Returns - GO::Model::Term
   Args    -
 
 

next_node_instance

   Usage   -
   Returns - GO::Model::GraphNodeInstance
   Args    -
 
 

flatten

   Usage   -
   Returns -
   Args    -
 
 

_sortby_pos_in_list

Careful, this sort function work on Term objects, not GraphNodeInstance objects. Comparison is done by the name of the term.