Gene Selkov, Jr. > Finnigan > Finnigan::InstrumentLogRecord

Download:
Finnigan-0.0206d.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 0.0206   Source  

NAME ^

Finnigan::InstrumentLogRecord -- a decoder for a single Instrument Log record

SYNOPSIS ^

  my $entry = Finnigan::InstrumentLogRecord->decode(\*INPUT, $header->ordered_field_templates);
  use Finnigan;
  my $i = 0;
  foreach my $field ($entry->fields) {
    say $entry->time
      . "\t" . $header->field($i)->label
        . "\t" . $field->{value};
    $j++;
  }

DESCRIPTION ^

This decoder is prototyped on Finnigan::GenericRecord, which is a pass-through decorder that only passes the field definitions it obtains from the header (Finnigan::GenericDataHeader) to Finnigan::Decoder. It is essentially a copy of the Finnigan::GenericRecord code with one specific field (retention time) prepended to the template list.

Because Thermo's GenericRecord objects are odered and may have "virtual" spacers and section titles in them, the Finnigan::Decoder's method of stashing the decoded data into a hash is not directly applicable. A GenericRecord may have duplicate keys and the key order needs to be preserved. That is why Finnigan::GenericRecord relies on the field_templates method of Finnigan::GenericDataHeader to insert ordinal numbers into the keys.

METHODS

decode($stream)

The constructor method

time

Get the timestamp. The timestamp is retention time measured in seconds and stored as floating-point value.

fields

Get the list of all fields in the record. Each field is decoded with the Finnigan::GenericRecord decoder using the definitions from Finnigan::GenericDataHeader, and it contains, for example, the following data:

  {
    value => '8.1953125',
    type => 'Float32',
    addr => 803445,
    seq => 70,
    size => 4
  }

SEE ALSO ^

Finnigan::GenericRecord

Finnigan::GenericDataHeader

Finnigan::GenericDataDescriptor

uf-log

AUTHOR ^

Gene Selkov, <selkovjr@gmail.com>

COPYRIGHT AND LICENSE ^

Copyright (C) 2010 by Gene Selkov

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.

syntax highlighting: