NAME
GO::Model::GraphIterator;
|
SYNOPSIS
$it = $graph ->create_iterator;
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
next_node
Usage -
Returns - GO::Model::Term
Args -
|
next_node_instance
Usage -
Returns - GO::Model::GraphNodeInstance
Args -
|
flatten
_sortby_pos_in_list
Careful, this sort function work on Term objects, not GraphNodeInstance objects. Comparison is done by the name of the term.