Hi Nicola,
Thank you so much for getting back to me. A student in our lab made
some changes to obtain the peak information. I haven't had a chance to
test it yet (although he has and says it works). I don't believe he's
submitted the changes to you. I have attached them here.
Let me know if you have any questions.
Thanks,
Jason
Nicola Vitacolonna via RT wrote:
Show quoted text> <URL:
https://rt.cpan.org/Ticket/Display.html?id=32597 >
>
> [I am posting a reply that I emailed to the OP on May 7, 2008. I got no reply to this so far, so
> I've set this ticket to 'stalled']
>
> 1) The RFU thresholds used for analysis (based on dye)
>
> Could you please provide me with a precise definition of RFU thresholds?
>
> 2) The first comment field (listed as "Sample Info" in the GeneScan
> sample information window)
>
> Don't comment() or comment_title() give you such information?
>
> 3) The detected peaks from the sample results window in GeneScan
> (including size, peak height, and peak area)
>
> I am not very acquainted with GeneScan, but we have it in the lab, so I may check how such
> data looks like — but I have to ask again, have you checked whether the methods
> peak1_location(), peak_area_ratio() or similar will do?
>
> Nicola
>
>
>
>
=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}};
}