# Source code for simple_parser_v2

    #!/usr/bin/env python
    import sys
    import pymzml
    from collections import defaultdict as ddict

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

        usage:
            ./simple_parser_v2.py <path_to_mzml_file>

        Note:

            This script uses the old syntax where the MS level can be queried as a
            key (Spectrum['ms level']). The current syntax can be found in
            simple_parser.py

        '''
        run = pymzml.run.Reader(mzml_file)
        # print( run[10000].keys() )
        stats = ddict(int)
        for n, spec in enumerate( run ):
            print(
                'Spectrum {0}, MS level {ms_level}'.format(
                    n,
                    ms_level = spec['ms level']
                ),
                end = '\r'
            )
            # the old method to obtain peaks from the Spectrum class
            stats[spec.ID] = len(spec.centroidedPeaks)

        print(
            'Parsed {0} spectra from file {1}'.format(
                len(stats.keys()),
                mzml_file,
            )
        )
        print()

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