Raw content of Bio::EnsEMBL::Analysis::Tools::Pmatch::ContigHit
# holds a pmatch contig hit - simply the name(identifier) of the contig
# and a list of start-end positions
package Bio::EnsEMBL::Analysis::Tools::Pmatch::ContigHit;
use Bio::EnsEMBL::Utils::Exception qw(throw warning);
use Bio::EnsEMBL::Utils::Argument qw( rearrange );
@ISA = qw();
=head2 new
Title : new
Usage :
Function: constructor
Example :
Returns :
Args :
=cut
sub new {
my ($class, @args) = @_;
my $self = bless {}, $class;
my ($id) = rearrange(['ID'], @args);
throw("No id") unless defined $id;
$self->id($id);
$self->{'_forward_pairs'} = [];
$self->{'_reverse_pairs'} = [];
return $self;
}
=head2 id
Title : id
Usage :
Function: get/set for contig id
Example :
Returns :
Args :
=cut
sub id {
my ($self,$id) = @_;
if ($id) {
$self->{'id'} = $id;
}
return $self->{'id'};
}
=head2 add_CoordPair
Title : add_CoordPair
Usage :
Function: adds a CoordPair to the list making up this hit
Example :
Returns :
Args :
=cut
sub add_CoordPair {
my ($self,$pair) = @_;
throw('No coord pair') unless defined $pair;
throw('$pair is not a Bio::EnsEMBL::Analysis::Tools::Pmatch::CoordPair') unless $pair->isa("Bio::EnsEMBL::Analysis::Tools::Pmatch::CoordPair");
if($pair->strand == 1) {
push(@{$self->{_forward_pairs}},$pair);
}
else {
push(@{$self->{_reverse_pairs}},$pair);
}
}
=head2 each_ForwardPair
Title : each_ForwardPair
Usage :
Function: returns CoordPairs represeting hits between a prtein and the forward strand of the contig
Example :
Returns :
Args :
=cut
sub each_ForwardPair {
my ($self) = @_;
return $self->{_forward_pairs};
}
=head2 each_ReversePair
Title : each_Reverseair
Usage :
Function: returns CoordPairs representing hits between a protein and the reverse strand of the contig
Example :
Returns :
Args :
=cut
sub each_ReversePair {
my ($self) = @_;
return $self->{_reverse_pairs};
}
1;