NAME

MS::Reader::ProtXML - A simple but complete protXML parser

SYNOPSIS

use MS::Reader::ProtXML;

my $res = MS::Reader::ProtXML->new('res.prot.xml');

while (my $grp = $res->next_group) {

    # $res is a MS::Reader::ProtXML::Group object

}

DESCRIPTION

MS::Reader::ProtXML is a parser for the protXML format for storing protein identification in mass spectrometry.

INHERITANCE

MS::Reader::ProtXML is a subclass of MS::Reader::XML, which in turn inherits from MS::Reader, and inherits the methods of these parental classes. Please see the documentation for those classes for details of available methods not detailed below.

METHODS

new

my $res = MS::Reader::ProtXML->new( $fn,
    use_cache => 0,
    paranoid  => 0,
);

Takes an input filename (required) and optional argument hash and returns an MS::Reader::ProtXML object. This constructor is inherited directly from MS::Reader. Available options include:

  • use_cache — cache fetched records in memory for repeat access (default: FALSE)

  • paranoid — when loading index from disk, recalculates MD5 checksum each time to make sure raw file hasn't changed. This adds (typically) a few seconds to load times. By default, only file size and mtime are checked.

next_group

while (my $grp = $res->next_group) {
    # do something
}

Returns an MS::Reader::ProtXML::Group object representing the next protein group in the file, or undef if the end of records has been reached. Typically used to iterate over each group in the run.

fetch_group

my $grp = $res->fetch_group($idx);

Takes a single argument (zero-based group index) and returns an MS::Reader::ProtXML::Group object representing the protein group at that index. Throws an exception if the index is out of range.

CAVEATS AND BUGS

The API is in alpha stage and is not guaranteed to be stable.

Please reports bugs or feature requests through the issue tracker at https://github.com/jvolkening/p5-MS/issues. =head1 AUTHOR

Jeremy Volkening <jdv@base2bio.com>

COPYRIGHT AND LICENSE

Copyright 2015-2016 Jeremy Volkening

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.