Finnigan
view release on metacpan or search on metacpan
bin/mzxml-scan view on Meta::CPAN
if ( /<spectrum[^>]+scan=(\d+)/s ) {
next if $1 < $args->{'-n'}{'<n>'};
if ( s/^(.*<binaryDataArrayList\s+count\s*=\s*"(\d+)">)(.+)$//s ) {
my ($tag, $n, $tail) = ($1, $2, $3);
die "don't know what to do with <binaryDataArrayList> of size != 2 (read: $n)" unless $n == 2;
my $chunk_no = 0;
my @key = qw/mz intensity/;
my $table;
foreach my $chunk ( split m{</binaryDataArray>\s*}, $tail) {
if ( $chunk =~ m{^(.*<binaryDataArray.+<binary>)(.*)(</binary>.*)$}s ) {
my ($head, $data, $tail) = ($1, $2, $3);
my ($size) = ( $head =~ /<cvParam.+name="(\d\d-bit)/ );
if ( $size eq '32-bit' ) {
$table->{$key[$chunk_no]} = [unpack("f<*", decode_base64($data))];
}
elsif ( $size eq '64-bit' ) {
$table->{$key[$chunk_no]} = [unpack("d<*", decode_base64($data))];
bin/mzxml-unpack view on Meta::CPAN
}
if ( /<spectrum[^>]+scan=(\d+)/s ) {
next unless $1 >= $from and $1 <= $to;
}
if ( s/^(.*<binaryDataArrayList\s+count\s*=\s*"(\d+)">)(.+)$//s ) {
my ($tag, $n, $tail) = ($1, $2, $3);
print "$_$tag";
foreach my $chunk ( split m{</binaryDataArray>\s*}, $tail) {
if ( $chunk =~ m{^(.*<binaryDataArray.+<binary>)(.*)(</binary>.*)$}s ) {
my ($head, $data, $tail) = ($1, $2, $3);
my ($size) = ( $head =~ /<cvParam.+name="(\d\d-bit)/ );
say $head;
my @list;
if ( $size eq '32-bit' ) {
@list = unpack("f<*", decode_base64($data));
bin/uf-mzml view on Meta::CPAN
tie my %fileContentAttr2, 'Tie::IxHash';
%fileContentAttr2 = (
cvRef => 'MS',
accession => 'MS:1000580',
name => 'MSn spectrum',
value => '',
);
# Source File list ------------------------------------------------------
tie my %sourceFileAttr, 'Tie::IxHash';
my @path = split m{[\\/]}, $seq_row->file_name;
my $name = pop @path;
my $path = $seq_row->path || join "/", @path;
%sourceFileAttr = (
id => 'RAW1',
name => $name,
location => "file:///$path"
);
tie my %sourceFileAttr1, 'Tie::IxHash';
%sourceFileAttr1 = (
( run in 1.491 second using v1.01-cache-2.11-cpan-71847e10f99 )