2. Quick Start

2.1. Parsing a mzML file and setting measured precision

simple_parser.main(mzml_file)[source]

Basic example script to demonstrate the usage of pymzML. Requires a mzML file as first argument.

usage:

./simple_parser.py <path_to_mzml_file>

Note

This script uses the new syntax with the MS level being a property of the spectrum class ( Spectrum.ms_level ). The old syntax can be found in the script simple_parser_v2.py where the MS level can be queried as a key (Spectrum[‘ms level’])

#!/usr/bin/env python
import sys
import pymzml

def main(mzml_file):
    '''
    Basic example script to demonstrate the usage of pymzML. Requires a mzML
    file as first argument.

    usage:

        ./simple_parser.py <path_to_mzml_file>

    Note:

        This script uses the new syntax with the MS level being a property of
        the spectrum class ( Spectrum.ms_level ). The old syntax can be found in
        the script simple_parser_v2.py where the MS level can be queried as a key
        (Spectrum['ms level'])


    '''
    run = pymzml.run.Reader(mzml_file)
    for n, spec in enumerate( run ):
        print(
            'Spectrum {0}, MS level {ms_level} @ RT {scan_time:1.2f}'.format(
                spec.ID,
                ms_level = spec.ms_level,
                scan_time = spec.scan_time
            )
        )
    print(
        'Parsed {0} spectra from file {1}'.format(
            n,
            mzml_file
        )
    )
    print()


if __name__ == '__main__':
    if len(sys.argv) < 2:
        print(main.__doc__)
        exit()
    mzml_file = sys.argv[1]
    main(mzml_file)

2.2. Seeking in a mzML file

One of the features of pymzML is the ability to (create) and read indexed gzip which allows mzML file sizes to reach the levels of the original RAW format. The interface to random access into a mzML file is implemented by the magic get function in pymzMLs run class.

Alternatively, pymzML can also rapidly seek into any uncompressed mzML file, no matter if an index was included into the file or not.

#!/usr/bin/env python
import pymzml

run = pymzml.run.Reader( 'tests/data/BSA1.mzML.gz' )
spectrum_with_id_2540 = run[ 2540 ]