Raw content of Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeature
package Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeature;
# EnsEMBL module for storing dna-dna pairwise alignments
#
# You may distribute this module under the same terms as perl itself
#
=head1 NAME
Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeature - Ensembl specific dna-dna pairwise alignment feature
=head1 SYNOPSIS
This module inherits from the standard Bio::EnsEMBL::DnaDnaAlignFeature
module. This module is required when reading DNA align features out
of the Otter databases when one would like to attach the
dna_align_feature_history object to a dna_align_feature.
In this module:
The 'new' method from Bio::EnsEMBL::DnaDnaAlignFeature has been called
to fetch all standard dna_align_feature attributes, and then the
dna_align_feature_history object is also attached.
=cut
use vars qw(@ISA);
use strict;
use Bio::EnsEMBL::Utils::Argument qw(rearrange);
use Bio::EnsEMBL::DnaDnaAlignFeature;
use Bio::EnsEMBL::Utils::Exception qw(throw warning);
@ISA = qw( Bio::EnsEMBL::DnaDnaAlignFeature );
=head2 new
Arg [..] : List of named arguments. (incl. -dna_align_feature_history) defined
in this constructor, others defined in BaseFeaturePair and
SeqFeature superclasses.
Example : $daf = new DnaDnaAlignFeature(-cigar_string => '3M3I12M');
Description: Creates a new DnaDnaAlignFeature using either a cigarstring or
a list of ungapped features.
Returntype : Bio::EnsEMBL::DnaDnaAlignFeature
Exceptions : none
Caller : general
Status : Stable
=cut
sub new {
my $caller = shift;
my $class = ref($caller) || $caller;
my $self = $class->SUPER::new(@_);
my ($dna_align_feature_history) = rearrange([qw(DNA_ALIGN_FEATURE_HISTORY)], @_);
# get/set the dna_align_feature_history
if (!defined $dna_align_feature_history){
throw("dna_align_feature_history not defined");
}
$self->dna_align_feature_history($dna_align_feature_history);
return $self;
}
sub dna_align_feature_history{
my $self = shift;
if (@_) {
my $dafh = shift;
if (defined $dafh && (!ref $dafh || ! $dafh->isa("Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeatureHistory"))) {
throw("dna_align_feature_history argument must be a Bio::EnsEMBL::Analysis::Tools::Otter::DnaAlignFeatureHistory");
}
$self->{'dna_align_feature_history'} = $dafh;
}
return $self->{'dna_align_feature_history'};
}
1;