File: GraphNodeInstance.pm

package info (click to toggle)
libgo-perl 0.09-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 7,392 kB
  • ctags: 888
  • sloc: perl: 13,268; sh: 21; makefile: 6
file content (110 lines) | stat: -rw-r--r-- 1,713 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# $Id: GraphNodeInstance.pm,v 1.4 2004/11/29 20:18:16 cmungall Exp $
#
# This GO module is maintained by Chris Mungall <cjm@fruitfly.org>
#
# see also - http://www.geneontology.org
#          - http://www.godatabase.org/dev
#
# You may distribute this module under the same terms as perl itself


package GO::Model::GraphNodeInstance;

=head1 NAME

GO::Model::GraphNodeInstance  - a graph node located in a tree

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


=head1 DESCRIPTION

see GO::Model::Graph

=cut



use Carp;
use strict;
use Exporter;
use GO::Utils qw(rearrange);
use GO::Model::Term;
use FileHandle;
use Exporter;
use Data::Dumper;
use vars qw(@EXPORT_OK %EXPORT_TAGS);

use base qw(GO::Model::Root Exporter);

sub _valid_params {
    return qw(term path depth parent_rel blocked);
}

=head2 term

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

see L<GO::Model::Term>

=cut

=head2 depth

  Usage   - 
  Returns - int
  Args    - 

=cut

=head2 parent_rel

  Usage   - 
  Returns - GO::Model::Relationship
  Args    - 

see L<GO::Model::Relationship>

=cut


#=head2 block

#  Usage   -
#  Returns -
#  Args    -

#blocking a node instance will stop the graph iterator going below this one

#=cut

#sub block {
#    my $self = shift;
#    $self->blocked(1);
#}

sub _initialize {
    my $self = shift;
    $self->SUPER::_initialize(@_);
}


1;