Raw content of Bio::EnsEMBL::Analysis::Tools::Pmatch::ProteinHit # holds a pmatch protein hit - simply the name(idenitifier) of the protein # and a list of ContigHit objects package Bio::EnsEMBL::Analysis::Tools::Pmatch::ProteinHit; use Bio::Root::Object; @ISA = qw(Bio::Root::Object); =head2 new Title : new Usage : Function: Example : Returns : Args : constructor =cut sub new { my ($class, @args) = @_; my $self = bless {}, $class; my ($id) = $self->_rearrange(['ID'], @args); $self->throw("No id") unless defined $id; $self->id($id); 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_ContigHit Title : add_ContigHit Usage : Function: adds a ContigHit into $self->{_contig_hits} Example : Returns : Args : =cut sub add_ContigHit { my ($self,$hit) = @_; $self->throw('No contig hit') unless defined $hit; $self->throw('$contig is not a Bio::EnsEMBL::Analysis::Tools::Pmatch::ContigHit') unless $hit->isa("Bio::EnsEMBL::Analysis::Tools::Pmatch::ContigHit"); $self->{_contig_hits}{$hit->id()} = $hit; } =head2 each_ContigHit Title : each_ContigHit Usage : Function: returns all entries in $self->{_contig_hits} Example : Returns : Args : =cut sub each_ContigHit { my ($self) = @_; return values %{$self->{_contig_hits}}; } =head2 get_ContigHit Title : get_ContigHit Usage : Function: returns entries for a particular contig in $self->{_contig_hits} Example : Returns : Args : =cut sub get_ContigHit { my ($self,$contig) = @_; return ($self->{_contig_hits}{$contig}) if defined $contig; return undef; } 1;