logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

GO::Model::GraphIterator - Graph iterator

Description

Name

         GO::Model::GraphIterator - Graph iterator

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 don't 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 don't 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.

perl v5.36.0                                       2023-12-18                      GO::Model::GraphIterator(3pm)

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;
         }

See Also