Raw content of Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeatureHistory
#
# Object for storing sequence dna_align_feature_history details
#
# You may distribute this module under the same terms as perl itself
#
# POD documentation - main docs before the code
=pod
=head1 NAME
Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeatureHistory.pm - Stores details of an dna_align_feature_history run
=head1 SYNOPSIS
my $obj = new Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeatureHistory(
-id => $id,
-seq_region_id => $seq_region_id,
-analysis_id => $analysis_id,
-align_feature_id_start => $align_feature_id_start,
-align_feature_id_end => $align_feature_id_end,
-db_version => $db_version,
-date => $date,
);
The dna_align_feature_history table in Otter databases is not part of the
core Ensembl schema. This module provides an API for accessing the data
from this table by creating a dna_align_feature_history object that can
be attached to a dna_align_feature.
=head1 DESCRIPTION
=head1 CONTACT
Post questions to the EnsEMBL dev mailing list:
=head1 METHODS
=cut
package Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeatureHistory;
use vars qw(@ISA);
use strict;
use Bio::EnsEMBL::Storable;
use Bio::EnsEMBL::Utils::Exception qw(throw);
use Bio::EnsEMBL::Utils::Argument qw(rearrange);
@ISA = qw(Bio::EnsEMBL::Storable);
=head2 new
Arg [..] : Takes a set of named arguments
Example : $dna_align_feature_history = new Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeatureHistory(
-id => $id,
-seq_region_id => $seq_region_id,
-analysis_id => $analysis_id,
-align_feature_id_start => $align_feature_id_start,
-align_feature_id_end => $align_feature_id_end,
-db_version => $db_version,
-date => $date,
);
Description: Creates a new DnaAlignFeatureHistory object
Returntype : Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeatureHistory
Exceptions : none
Caller : general
Status : Stable
=cut
sub new {
my($class,@args) = @_;
my $self = bless {},$class;
my ($id, $seq_region_id, $analysis, $align_feature_id_start,
$align_feature_id_end, $db_version, $date, $adaptor) =
rearrange([qw(ID
SEQ_REGION_ID
ANALYSIS
ALIGN_FEATURE_ID_START
ALIGN_FEATURE_ID_END
DB_VERSION
DATE
ADAPTOR
)],@args);
$self->dbID ($id);
$self->adaptor ($adaptor);
$self->seq_region_id ($seq_region_id);
if($analysis) {
if(!ref($analysis) || !$analysis->isa('Bio::EnsEMBL::Analysis')) {
throw('-ANALYSIS argument must be a Bio::EnsEMBL::Analysis not '. $analysis);
}
} else {
throw("Please attach an analysis");
}
$self->analysis ( $analysis);
$self->align_feature_id_start ($align_feature_id_start);
$self->align_feature_id_end ($align_feature_id_end);
$self->db_version ($db_version);
$self->date ($date);
return $self; # success - we hope!
}
=head2 seq_region_id
Arg [1] : string $seq_region_id
Example : none
Description: get/set for attribute seq_region_id
Returntype : string
Exceptions : none
Caller : general
Status : Stable
=cut
sub seq_region_id {
my ($self,$arg) = @_;
if (defined($arg)) {
$self->{_seq_region_id} = $arg;
}
return $self->{_seq_region_id};
}
=head2 analysis
Arg [1] : (optional) Bio::EnsEMBL::Analysis $analysis
Example : $feature->analysis(new Bio::EnsEMBL::Analysis(...))
Description: Getter/Setter for the analysis that is associated with
this feature. The analysis describes how this feature
was derived.
Returntype : Bio::EnsEMBL::Analysis
Exceptions : thrown if an invalid argument is passed
Caller : general
Status : Stable
=cut
sub analysis {
my $self = shift;
if(@_) {
my $an = shift;
if(defined($an) && (!ref($an) || !$an->isa('Bio::EnsEMBL::Analysis'))) {
throw('analysis argument must be a Bio::EnsEMBL::Analysis');
}
$self->{'analysis'} = $an;
}
return $self->{'analysis'};
}
=head2 align_feature_id_start
Arg [1] : string $align_feature_id_start
Example : none
Description: get/set for attribute align_feature_id_start
Returntype : string
Exceptions : none
Caller : general
Status : Stable
=cut
sub align_feature_id_start {
my ($self,$arg) = @_;
if (defined($arg)) {
$self->{_align_feature_id_start} = $arg;
}
return $self->{_align_feature_id_start};
}
=head2 align_feature_id_end
Arg [1] : string $align_feature_id_end
Example : none
Description: get/set for attribute align_feature_id_end
Returntype : string
Exceptions : none
Caller : general
Status : Stable
=cut
sub align_feature_id_end {
my ($self,$arg) = @_;
if (defined($arg)) {
$self->{_align_feature_id_end} = $arg;
}
return $self->{_align_feature_id_end};
}
=head2 db_version
Arg [1] : string $db_version
Example : none
Description: get/set for attribute db_version
Returntype : string
Exceptions : none
Caller : general
Status : Stable
=cut
sub db_version {
my ($self,$arg) = @_;
if (defined($arg)) {
$self->{_db_version} = $arg;
}
return $self->{_db_version};
}
=head2 date
Arg [1] : string $date
Example : none
Description: get/set for attribute date
Returntype : string
Exceptions : none
Caller : general
Status : Stable
=cut
sub date {
my ($self,$arg) = @_;
if (defined($arg)) {
$self->{_date} = $arg;
}
return $self->{_date};
}
1;