Bio-Trace-ABIF
view release on metacpan or search on metacpan
lib/Bio/Trace/ABIF.pm view on Meta::CPAN
}
}
return $self->{'_phAR1'};
}
=head2 peaks()
Usage : @pks = $abif->peaks(1);
Returns : An array of peak hashes. Each peak hash contains the following attributes:
'position', 'height', 'beginPos', 'endPos', 'beginHI', 'endHI',
'area', 'volume', 'fragSize', 'isEdited', 'label';
() if the data item is not in the file.
ABIF Tag : PEAK
ABIF Type : user-defined structure
File Type : fsa
Returns the data associated with PEAK data structures.
=cut
sub peaks {
my ($self, $n) = @_;
my $k = '_PEAK' . $n;
my ($position, $height, $beginPos, $endPos, $beginHI, $endHI, $area, $volume, $fragSize, $isEdited, $label);
my $s = undef;
my @raw_data;
my @peak_array;
my $i;
unless (defined $self->{$k}) {
@raw_data = $self->get_data_item('PEAK', $n, '(NnNNnnNNB32nZ64)*');
for ($i = 0; $i < @raw_data; $i += 11) {
($position, $height, $beginPos, $endPos, $beginHI, $endHI, $area, $volume, $s, $isEdited, $label) = @raw_data[$i .. $i+10];
$fragSize = $self->_ieee2decimal($s) if (defined $s);
my $peak = {};
$peak->{position} = $position;
$peak->{height} = $height;
$peak->{beginPos} = $beginPos;
$peak->{endPos} = $endPos;
$peak->{beginHI} = $beginHI;
$peak->{endHI} = $endHI;
$peak->{area} = $area;
$peak->{volume} = $volume;
$peak->{fragSize} = $fragSize;
$peak->{isEdited} = $isEdited;
$peak->{label} = $label;
push @peak_array, $peak;
}
$self->{$k} = (@peak_array) ? [ @peak_array ] : [ ];
}
return @{$self->{$k}};
}
=head2 pixel_bin_size()
( run in 1.004 second using v1.01-cache-2.11-cpan-364913b4093 )