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 )