Raw content of Bio::EnsEMBL::Pipeline::Tools::Pmatch::PmatchFeature
=head1 NAME
Bio::EnsEMBL::Analysis::PmatchFeature
=head1 SYNOPSIS
=head1 DESCRIPTION
=head1 CONTACT
ensembl-dev@ebi.ac.uk
=head1 APPENDIX
=cut
# Let the code begin...
package Bio::EnsEMBL::Pipeline::Tools::Pmatch::PmatchFeature;
use vars qw(@ISA);
use strict;
use Bio::EnsEMBL::Utils::Exception qw(verbose throw warning info);
use Bio::EnsEMBL::Utils::Argument qw( rearrange );
@ISA = qw();
sub new {
my($class,@args) = @_;
my $self = bless {},$class;
my ($protein_id,$cdna_id,$chr_name,$start,$end,$coverage,$analysis) = rearrange([qw(PROTEIN_ID
CDNA_ID CHR_NAME
START
END
COVERAGE
ANALYSIS
)],@args);
$self->protein_id($protein_id);
$self->chr_name($chr_name);
$self->start($start);
$self->end($end);
$self->cdna_id($cdna_id);
$self->coverage($coverage);
$self->analysis($analysis);
return $self;
}
sub cdna_id {
my ($self,$arg) = @_;
if (defined($arg)) {
$self->{_cdna_id} = $arg;
}
return $self->{_cdna_id};
}
sub coverage {
my ($self,$arg) = @_;
if (defined($arg)) {
if ($arg < 0 || $arg > 100) {
throw("Coverage must be betwee 0 and 100. Trying to set it to $arg");
}
$self->{_coverage} = $arg;
}
return $self->{_coverage};
}
sub score {
my ($self) = @_ ;
return $self->{_coverage};
}
sub protein_id {
my ($self,$arg) = @_;
if (defined($arg)) {
$self->{_protein_id} = $arg;
}
return $self->{_protein_id};
}
sub chr_name{
my ($self,$arg) = @_;
if (defined($arg)) {
$self->{_chr_name} = $arg;
}
return $self->{_chr_name};
}
sub start {
my ($self,$arg) = @_;
if (defined($arg)) {
$self->{_start} = $arg;
}
return $self->{_start};
}
sub end {
my ($self,$arg) = @_;
if (defined($arg)) {
$self->{_end} = $arg;
}
return $self->{_end};
}
sub analysis {
my ($self,$value) = @_;
if(!$self->{_analysis}){
$self->{_analysis} = undef;
}
if ($value) {
unless($value->isa('Bio::EnsEMBL::Analysis')) {
throw("Analysis is not a Bio::EnsEMBL::Analysis object "
. "but a $value object");
}
$self->{_analysis} = $value;
}
return $self->{_analysis};
}
1;