Bio::Graph
Edge
Summary
Bio::Graph::Edge - encapsulation of an interaction between 2 Bio::Seq objects
Package variables
No package variables defined.
Inherit
Synopsis
## get an interaction between two nodes ##
my $edge = $gr->edge( $gr->nodes_by_id('P12345'),
$gr->nodes_by_id('P23456'));
my $id = $edge->object_id();
my $wt = $edge->weight();
my @nodes = $edge->nodes();
Description
This class contains information about a bimolecular interaction.
At present it just contains data about its component node, a weight
(if set) and an identifier. Subclasses could hold more specific
information.
Methods
Methods description
Name : new Purpose : constructor for an edge object Usage : my $edge = Bio::Graph::Edge->new(nodes => [$node1,$node2] id => $id); $graph->add_edge($edge); Returns : a new Bio::Graph::Edge object Arguments : hash nodes => array reference of 2 nodes id => edge id weight(optional) => weight score. |
Name : weight Purpose : get/setter for weight score Usage : my $weight = $edge->weight(); Returns : anumber Arguments : void/ a number |
Name : object_id Purpose : get/setter for object_id Usage : my $id = $edge->object_id(); Returns : a string identifier Arguments : void/ an identifier |
Name : nodes Purpose : get/setter for nodes Usage : my @nodes = $edge->nodes(); Returns : a 2 element list of nodes /void Arguments : void/ a 2 element list of nodes. |
Methods code
sub new
{
my ($caller, @args) = @_;
my $class = ref ($caller) || $caller;
my $self = [];
bless ($self, $class);
my ($weight, $id, $nodes) = $self->_rearrange([qw( WEIGHT ID NODES)], @args);
$self->[0] = $nodes->[0];
$self->[1] = $nodes->[1];
$self->[2] = defined($weight)?$weight:undef;
$self->[3] = defined($id)?$id:undef;
return $self; } |
sub weight
{ my $self = shift;
if (@_) {$self->[2] = shift;}
return defined($self->[2])?$self->[2]:undef;} |
sub object_id
{ my $self = shift;
if (@_) {
my $v = shift;
if (ref ($v)) {
$self->throw ("Edge ID must be a text value, not a [".
ref($v). "].");
}
$self->[3] = shift;
}
return defined($self->[3])?$self->[3]:undef;} |
sub nodes
{ my ($self, @args) = @_;
if (@args >= 2 ) {
$self->[0] = $args[0];
$self->[1] = $args[1];
}
return ($self->[0], $self->[1]);} |
General documentation
User feedback is an integral part of the evolution of this and other
Bioperl modules. Send your comments and suggestions preferably to one
of the Bioperl mailing lists. Your participation is much appreciated.
bioperl-l@bioperl.org - General discussion
http://bioperl.org/wiki/Mailing_lists - About the mailing lists
Report bugs to the Bioperl bug tracking system to help us keep track
the bugs and their resolution. Bug reports can be submitted via the
web:
http://bugzilla.open-bio.org/
| AUTHOR - Richard Adams | Top |