Bio::Tools::HMMER
Domain
Toolbar
Summary
Bio::Tools::HMMER::Domain - One particular domain hit from HMMER
Package variables
No package variables defined.
Included modules
Inherit
Synopsis
Read the Bio::Tools::HMMER::Results docs
Description
A particular domain score. We reuse the Homol SeqFeature system
here, so this inherits off Homol SeqFeature. As this code
originally came from a separate project, there are some backward
compatibility stuff provided to keep this working with old code.
Don't forget this inherits off Bio::SeqFeature, so all your usual
nice start/end/score stuff is ready for use.
Methods
Methods description
Title : add_alignment_line Usage : $domain->add_alignment_line($line_from_hmmer_output); Function: add an alignment line to this Domain object Returns : Nothing Args : scalar
Adds an alignment line, mainly for storing the HMMER alignments
as flat text which can be reguritated. You're right. This is *not
nice* and not the right way to do it. C'est la vie. |
Title : bits Usage : Function: backward compatibility. Same as score Example : Returns : Args : |
Title : each_alignment_line Usage : foreach $line ( $domain->each_alignment_line ) Function: reguritates the alignment lines as they were fed in. only useful realistically for printing. Example : Returns : Args : None |
Title : evalue Usage : Function: $domain->evalue($value); Example : Returns : Args : |
Title : get_nse Usage : $domain->get_nse() Function: Provides a seqname/start-end format, useful for unique keys. nse stands for name-start-end It is used alot in Pfam Example : Returns : A string Args : Optional seperator 1 and seperator 2 (default / and -) |
Title : hmm_range Usage : Function: Throws an exception to catch scripts which need to upgrade Example : Returns : Args : |
Title : hmmacc Usage : $domain->hmmacc($newacc) Function: set get for HMM accession number. This is placed in the homol feature of the HMM Example : Returns : Args : |
Title : hmmname Usage : $domain->hmmname($newname) Function: set get for HMM accession number. This is placed in the homol feature of the HMM Example : Returns : Args : |
Title : seq_range Usage : Function: Throws an exception to catch scripts which need to upgrade Example : Returns : Args : |
Title : seqbits Usage : Function: $domain->seqbits($value); Example : Returns : Args : |
Methods code
sub add_alignment_line
{ my $self = shift;
my $line = shift;
push(@{$self->{'alignlines'}},$line); } |
sub bits
{ my ($self,$sc) = @_;
return $self->score($sc); } |
sub each_alignment_line
{ my $self = shift;
return @{$self->{'alignlines'}}; } |
sub end_hmm
{ my $self = shift;
my $end = shift;
$self->warn("Using old domain->end_hmm. Should use domain->hend");
return $self->hend($end); } |
sub end_seq
{ my $self = shift;
my $end = shift;
$self->warn("Using old domain->end_seq. Should use domain->end");
return $self->end($end);
}
} |
sub evalue
{ my ($self,$value) = @_;
if( defined $value ) {
$self->add_tag_value('evalue',$value);
}
my @vals = $self->each_tag_value('evalue');
return shift @vals; } |
sub get_nse
{ my $self = shift;
my $sep1 = shift;
my $sep2 = shift;
if( !defined $sep2 ) {
$sep2 = "-";
}
if( !defined $sep1 ) {
$sep1 = "/";
}
return sprintf("%s%s%d%s%d",$self->seq_id,$sep1,$self->start,$sep2,$self->end);
}
} |
sub hmm_range
{ my ($self,@args) = @_;
$self->throw("You have accessed an old method. Please recode your script to the new bioperl HMMER module");
}
1; __END__ } |
sub hmmacc
{ my ($self,$acc) = @_;
if( defined $acc ) {
$self->feature2->add_tag_value('accession',$acc);
}
my @vals = $self->feature2->each_tag_value('accession');
return shift @vals; } |
sub hmmname
{ my ($self,$hname) = @_;
if( defined $hname ) {
$self->hseqname($hname);
}
return $self->hseqname(); } |
sub new
{ my($class,@args) = @_;
my $self = $class->SUPER::new(@args);
$self->{'alignlines'} = [];
my $hmmf1 = Bio::SeqFeature::Generic->new(@args);
my $hmmf2 = Bio::SeqFeature::Generic->new(@args);
$self->feature1($hmmf1);
$self->feature2($hmmf2);
return $self; } |
sub seq_range
{ my ($self,@args) = @_;
$self->throw("You have accessed an old method. Please recode your script to the new bioperl HMMER module"); } |
sub seqbits
{ my ($self,$value) = @_;
if( defined $value ) {
$self->add_tag_value('seqbits',$value);
}
my @vals = $self->each_tag_value('seqbits');
return shift @vals; } |
sub start_hmm
{ my $self = shift;
my $start = shift;
$self->warn("Using old domain->start_hmm. Should use domain->hstart");
return $self->hstart($start);
}
} |
sub start_seq
{ my $self = shift;
my $start = shift;
$self->warn("Using old domain->start_seq. Should use domain->start");
return $self->start($start);
}
} |
General documentation
The rest of the documentation details each of the object
methods. Internal methods are usually preceded with a _