Repository 'maxquant'
hg clone https://toolshed.g2.bx.psu.edu/repos/galaxyp/maxquant

Changeset 4:dcd39bcc7481 (2020-04-11)
Previous changeset 3:175e062b6a17 (2019-08-15) Next changeset 5:7f432d87c82c (2020-04-15)
Commit message:
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/maxquant commit da342a782ccc391b87fb4fead956b7b3cbd21258"
modified:
init.py
macros.xml
maxquant.xml
mqparam.py
test-data/template.xml
added:
create_mqpar.py
test-data/01/combined/txt/allPeptides.txt
test-data/01/combined/txt/evidence.txt
test-data/01/combined/txt/modificationSpecificPeptides.txt
test-data/01/combined/txt/msms.txt
test-data/01/combined/txt/msmsScans.txt
test-data/01/combined/txt/mzRange.txt
test-data/01/combined/txt/mzTab.mzTab
test-data/01/combined/txt/parameters.txt
test-data/01/combined/txt/peptideSection.txt
test-data/01/combined/txt/peptides.txt
test-data/01/combined/txt/proteinGroups.txt
test-data/01/combined/txt/summary.txt
test-data/01/config.yml
test-data/01/mqpar.xml
test-data/02/config.yml
test-data/02/mqpar.xml
test-data/03/config.yml
test-data/03/mqpar.xml
test-data/04/config.yml
test-data/04/exp_design
test-data/04/mqpar.xml
test-data/BSA_min_21.mzXML
test-data/BSA_min_22
test_mqparam.py
removed:
mqwrapper.py
test-data/single/combined/txt/allPeptides.txt
test-data/single/combined/txt/evidence.txt
test-data/single/combined/txt/modificationSpecificPeptides.txt
test-data/single/combined/txt/msms.txt
test-data/single/combined/txt/msmsScans.txt
test-data/single/combined/txt/mzRange.txt
test-data/single/combined/txt/mzTab.mzTab
test-data/single/combined/txt/parameters.txt
test-data/single/combined/txt/peptideSection.txt
test-data/single/combined/txt/peptides.txt
test-data/single/combined/txt/proteinGroups.txt
test-data/single/combined/txt/summary.txt
test-data/single/mqpar.xml
b
diff -r 175e062b6a17 -r dcd39bcc7481 create_mqpar.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/create_mqpar.py Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,53 @@
+"""Create paramter xml file for a specific MaxQuant version from yaml or command line input
+and a template parameter file.
+"""
+
+import argparse
+import os
+import yaml
+
+from mqparam import MQParam
+
+parser = argparse.ArgumentParser()
+
+parser.add_argument('--yaml', '-y', help="""Yaml config file. Only those parameters differing
+from the template need to be specified.""")
+
+parser.add_argument('--exp_design', '-e', help="Experimental design template as it is created by the MaxQuant GUI.")
+
+parser.add_argument('template', help="Template Parameter File.")
+
+parser.add_argument('--mqpar_out', '-o', help="Output file, will be ./mqpar.xml if omitted.")
+
+parser.add_argument('--substitution_rx', '-s', help="""Regular expression for filename substitution.
+Necessary for usage in the Galaxy tool. Can usually be ignored.""")
+
+parser.add_argument('--version', '-v', help="""A version number. Raises exception if it doesn't
+match the MaxQuant version of the template. For usage in the Galaxy tool.""")
+
+# in case numThreads is a environment variable, otherwise it can be specified in the yaml file as well
+parser.add_argument('--num_threads', '-t', help="Number of threads to specify in mqpar.")
+args = parser.parse_args()
+
+# edit file names, working dir is unknown at the time of galaxy tool configfile creation
+if args.yaml:
+    with open(args.yaml) as f:
+        conf_dict = yaml.safe_load(f.read())
+
+        for n, pg in enumerate(conf_dict['paramGroups']):
+            for num, fl in enumerate(pg['files']):
+                if not fl.startswith('/'):
+                    conf_dict['paramGroups'][n]['files'][num] = os.path.join(os.getcwd(), fl)
+    with open('yaml', 'w') as f:
+        yaml.safe_dump(conf_dict, stream=f)
+        args.yaml = 'yaml'
+
+kwargs = dict(yaml=args.yaml)
+if args.substitution_rx:
+    kwargs['substitution_rx'] = args.substitution_rx
+mqparam = MQParam(args.template, args.exp_design, **kwargs)
+if args.version and mqparam.version != args.version:
+    raise Exception('mqpar version is ' + mqparam.version + '. Tool uses version {}.'.format(args.version))
+mqparam.set_simple_param('numThreads', args.num_threads)
+
+mqparam.write(args.mqpar_out if args.mqpar_out else 'mqpar.xml')
b
diff -r 175e062b6a17 -r dcd39bcc7481 init.py
--- a/init.py Thu Aug 15 08:09:00 2019 -0400
+++ b/init.py Sat Apr 11 11:49:19 2020 -0400
[
@@ -5,9 +5,7 @@
 TODO: Append function: only add modifications that are not
 already present, add modification entries to conda maxquant
 
-Authors: Damian Glaetzer <d.glaetzer@mailbox.org>
-
-Usage: init.py [-a] [-m MODS_FILE] [-e ENZYMES_FILE]
+Usage: init.py [-m MODS_FILE] [-e ENZYMES_FILE]
 FILES are the modifications/enzymes.xml of MaxQuant, located at
 <ANACONDA_DIR>/pkgs/maxquant-<VERSION>/bin/conf/.
 (for conda installations)
@@ -40,19 +38,20 @@
 
 if args.modifications:
     mods_root = ET.parse(args.modifications).getroot()
-
     mods = mods_root.findall('modification')
     standard_mods = []
     label_mods = []
+    iso_labels = []
     for m in mods:
         if (m.findtext('type') == 'Standard' or m.findtext('type') == 'AaSubstitution'):
             standard_mods.append(m.get('title'))
         elif m.findtext('type') == 'Label':
             label_mods.append(m.get('title'))
+        elif m.findtext('type') == 'IsobaricLabel':
+            iso_labels.append(m.get('title'))
 
 if args.enzymes:
     enzymes_root = ET.parse(args.enzymes).getroot()
-
     enzymes = enzymes_root.findall('enzyme')
     enzymes_list = [e.get('title') for e in enzymes]
 
@@ -62,6 +61,8 @@
         build_list(child, 'modification', standard_mods)
     elif child.get('name') == 'label' and args.modifications:
         build_list(child, 'label', label_mods)
+    elif child.get('name') == 'iso_labels' and args.modifications:
+        build_list(child, 'iso_labels', iso_labels)
     elif child.get('name') == 'proteases' and args.enzymes:
         build_list(child, 'proteases', enzymes_list)
 
b
diff -r 175e062b6a17 -r dcd39bcc7481 macros.xml
--- a/macros.xml Thu Aug 15 08:09:00 2019 -0400
+++ b/macros.xml Sat Apr 11 11:49:19 2020 -0400
[
b'@@ -1,18 +1,185 @@\n <?xml version="1.0" ?>\n <macros>\n-    <token name="@VERSION@">1.6.3.4</token>\n+    <token name="@VERSION@">1.6.10.43</token>\n     <token name="@SUBSTITUTION_RX@">[^\\w\\-\\s\\.]</token>\n-    <xml name="output" token_format="tabular" token_label="default description" token_name="default">\n-        <data format="@FORMAT@" label="@LABEL@ for ${on_string}" name="@NAME@">\n-            <filter>\'@NAME@\' in output_opts[\'output\']</filter>\n-        </data>\n+    <token name="@TMT10PLEX@"><![CDATA[- [TMT10plex-Lys126C,TMT10plex-Nter126C,0,0,0,0,True]\n+                    - [TMT10plex-Lys127N,TMT10plex-Nter127N,0,0,0,0,True]\n+                    - [TMT10plex-Lys127C,TMT10plex-Nter127C,0,0,0,0,True]\n+                    - [TMT10plex-Lys128N,TMT10plex-Nter128N,0,0,0,0,True]\n+                    - [TMT10plex-Lys128C,TMT10plex-Nter128C,0,0,0,0,True]\n+                    - [TMT10plex-Lys129N,TMT10plex-Nter129N,0,0,0,0,True]\n+                    - [TMT10plex-Lys129C,TMT10plex-Nter129C,0,0,0,0,True]\n+                    - [TMT10plex-Lys130N,TMT10plex-Nter130N,0,0,0,0,True]\n+                    - [TMT10plex-Lys130C,TMT10plex-Nter130C,0,0,0,0,True]\n+                    - [TMT10plex-Lys131N,TMT10plex-Nter131N,0,0,0,0,True]\n+    ]]></token>\n+\n+    <xml name="requirements">\n+        <requirements>\n+            <requirement type="package" version="@VERSION@">maxquant</requirement>\n+            <requirement type="package" version="3.7">python</requirement>\n+            <requirement type="package" version="5.1.2">pyyaml</requirement>\n+            <requirement type="package" version="0.92.6">r-ptxqc</requirement>\n+            <requirement type="package" version="1.32">tar</requirement>\n+        </requirements>\n     </xml>\n-    <xml name="output_option" token_label="default label" token_name="default">\n-        <option value="@NAME@">@LABEL@</option>\n+    \n+    <xml name="ptxqc">\n+        <configfile name="qr_yaml">\n+            PTXQC:\n+              ReportFilename:\n+                extended: yes\n+              UseLocalMQPar: yes\n+              NameLengthMax_num: 10.0\n+              OutputFormats:\n+              - plainPDF\n+              PlainPDF:\n+                AddPageNumbers: \'on\'\n+            File:\n+              Parameters:\n+              #if $qc.do_it:\n+                enabled: ${qc.parameters}\n+              #end if\n+              Summary:\n+              #if $qc.do_it:\n+                enabled: ${qc.summary}\n+              #end if\n+                IDRate:\n+                  Thresh_bad_num: 20.0\n+                  Thresh_great_num: 35.0\n+              ProteinGroups:\n+              #if $qc.do_it:\n+                enabled: ${qc.proteingroups}\n+              #end if\n+                RatioPlot:\n+                  LabelIncThresh_num: 4.0\n+                IntensityThreshLog2_num: 25.0\n+              Evidence:\n+              #if $qc.do_it:\n+                enabled: ${qc.evidence}\n+              #end if\n+                ProteinCountThresh_num: 3500.0\n+                IntensityThreshLog2_num: 23.0\n+                PeptideCountThresh_num: 15000.0\n+                SpecialContaminants:\n+                  cont_MYCO:\n+                  - MYCOPLASMA\n+                  - \'1\'\n+                MQpar_MatchingTimeWindow_num: 0.0\n+                MatchBetweenRuns_wA: auto\n+                MQpar_firstSearchTol_num: 20.0\n+                firstSearch_outOfCalWarnSD_num: 2.0\n+                MQpar_mainSearchTol_num: 4.5\n+              MsMs:\n+              #if $qc.do_it:\n+                enabled: ${qc.msms}\n+              #end if\n+              MsMsScans:\n+              #if $qc.do_it:\n+                enabled: ${qc.msmsscans}\n+              #end if\n+                IonInjectionThresh_num: 10.0\n+            order:\n+              qcMetric_PAR: 1.0\n+              qcMetric_PG_PCA: 3.0\n+              qcMetric_EVD_Top5Cont: 10.0\n+              qcMetric_PG_Ratio: 19.0\n+              qcMetric_EVD_UserContaminant: 20.0\n+              qcMetric_EVD_PeptideInt: 30.0\n+  '..b'd_option" value="TMT10plex-Nter126C"/>\n+        <expand macro="mod_option" value="TMT10plex-Nter127N"/>\n+        <expand macro="mod_option" value="TMT10plex-Nter127C"/>\n+        <expand macro="mod_option" value="TMT10plex-Nter128N"/>\n+        <expand macro="mod_option" value="TMT10plex-Nter128C"/>\n+        <expand macro="mod_option" value="TMT10plex-Nter129N"/>\n+        <expand macro="mod_option" value="TMT10plex-Nter129C"/>\n+        <expand macro="mod_option" value="TMT10plex-Nter130N"/>\n+        <expand macro="mod_option" value="TMT10plex-Nter130C"/>\n+        <expand macro="mod_option" value="TMT10plex-Nter131N"/>\n+        <expand macro="mod_option" value="TMT11plex-Nter131C"/>\n+        <expand macro="mod_option" value="TMT6plex-Lys126"/>\n+        <expand macro="mod_option" value="TMT6plex-Lys127"/>\n+        <expand macro="mod_option" value="TMT6plex-Lys128"/>\n+        <expand macro="mod_option" value="TMT6plex-Lys129"/>\n+        <expand macro="mod_option" value="TMT6plex-Lys130"/>\n+        <expand macro="mod_option" value="TMT6plex-Lys131"/>\n+        <expand macro="mod_option" value="TMT8plex-Lys126C"/>\n+        <expand macro="mod_option" value="TMT8plex-Lys127N"/>\n+        <expand macro="mod_option" value="TMT8plex-Lys127C"/>\n+        <expand macro="mod_option" value="TMT8plex-Lys128C"/>\n+        <expand macro="mod_option" value="TMT8plex-Lys129N"/>\n+        <expand macro="mod_option" value="TMT8plex-Lys129C"/>\n+        <expand macro="mod_option" value="TMT8plex-Lys130C"/>\n+        <expand macro="mod_option" value="TMT8plex-Lys131N"/>\n+        <expand macro="mod_option" value="TMT10plex-Lys126C"/>\n+        <expand macro="mod_option" value="TMT10plex-Lys127N"/>\n+        <expand macro="mod_option" value="TMT10plex-Lys127C"/>\n+        <expand macro="mod_option" value="TMT10plex-Lys128N"/>\n+        <expand macro="mod_option" value="TMT10plex-Lys128C"/>\n+        <expand macro="mod_option" value="TMT10plex-Lys129N"/>\n+        <expand macro="mod_option" value="TMT10plex-Lys129C"/>\n+        <expand macro="mod_option" value="TMT10plex-Lys130N"/>\n+        <expand macro="mod_option" value="TMT10plex-Lys130C"/>\n+        <expand macro="mod_option" value="TMT10plex-Lys131N"/>\n+        <expand macro="mod_option" value="TMT11plex-Lys131C"/>\n+        <expand macro="mod_option" value="iodoTMT6plex-Cys126"/>\n+        <expand macro="mod_option" value="iodoTMT6plex-Cys127"/>\n+        <expand macro="mod_option" value="iodoTMT6plex-Cys128"/>\n+        <expand macro="mod_option" value="iodoTMT6plex-Cys129"/>\n+        <expand macro="mod_option" value="iodoTMT6plex-Cys130"/>\n+        <expand macro="mod_option" value="iodoTMT6plex-Cys131"/>\n+    </xml>\n+\n+    <xml name="citations">        \n+        <citations>\n+            <citation type="bibtex">\n+                @article{cox2008maxquant,\n+                title={MaxQuant enables high peptide identification rates, individualized\n+                ppb-range mass accuracies and proteome-wide protein quantification},\n+                author={Cox, J{\\"u}rgen and Mann, Matthias},\n+                journal={Nature biotechnology},\n+                volume={26},\n+                number={12},\n+                pages={1367},\n+                year={2008},\n+                publisher={Nature Publishing Group}\n+                }\n+            </citation>\n+            <citation type="bibtex">\n+                @article{tyanova2016maxquant,\n+                title={The MaxQuant computational platform for mass\n+                spectrometry-based shotgun proteomics},\n+                author={Tyanova, Stefka and Temu, Tikira and Cox, J{\\"u}rgen},\n+                journal={Nature protocols},\n+                volume={11},\n+                number={12},\n+                pages={2301},\n+                year={2016},\n+                publisher={Nature Publishing Group}\n+                }\n+            </citation>\n+            <citation type="doi">10.1021/acs.jproteome.5b00780</citation>\n+        </citations>\n+    </xml>\n </macros>\n-\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 maxquant.xml
--- a/maxquant.xml Thu Aug 15 08:09:00 2019 -0400
+++ b/maxquant.xml Sat Apr 11 11:49:19 2020 -0400
[
b'@@ -1,114 +1,219 @@\n-<tool id="maxquant" name="MaxQuant" version="@VERSION@+galaxy1">\n+<tool id="maxquant" name="MaxQuant" version="@VERSION@">\n     <macros>\n+        <xml name="output" token_format="tabular" token_label="default description" token_name="default">\n+            <data format="@FORMAT@" label="@LABEL@ for ${on_string}" name="@NAME@">\n+                <filter>\'@NAME@\' in output_opts[\'output\']</filter>\n+            </data>\n+        </xml>\n+        <xml name="output_from_wdir" token_ext="txt" token_format="tabular" token_label="default description" token_name="default">\n+            <data format="@FORMAT@" from_work_dir="combined/txt/@NAME@.@EXT@" label="@LABEL@ for ${on_string}" name="@NAME@">\n+                <filter>\'@NAME@\' in output_opts[\'output\']</filter>\n+            </data>\n+        </xml>\n         <import>macros.xml</import>\n     </macros>\n-    <requirements>\n-        <requirement type="package" version="@VERSION@">maxquant</requirement>\n-        <requirement type="package" version="3.7">python</requirement>\n-    </requirements>\n+    <expand macro="requirements"/>\n     <command detect_errors="exit_code"><![CDATA[\n     #import re\n-\n-    python3 \'$__tool_directory__/mqwrapper.py\'\n+    maxquant -c mqpar.xml 2>/dev/null  ## MQ writes success of creation to stderr\n+    #if \'config\' in $output_opts.output:\n+      &&\n+      cp \'$mq_conf\' \'$config\'\n+    #end if\n+    #set infiles = [$name for $pg in $paramGroups for $name in $pg.files]\n+    #set names = [re.sub(\'@SUBSTITUTION_RX@\', \'_\', str($n.element_identifier)) for $n in $infiles]\n+    #set names_with_ext = [($name if ($name).lower().endswith(str($input_opts.ftype)) else $name + str($input_opts.ftype)) for $name in $names]\n+    #for $target, $link in zip($infiles, $names_with_ext)\n+        &&\n+        ln -s \'$target\' \'$link\'\n+    #end for\n+    &&\n+    python3 \'$__tool_directory__/create_mqpar.py\'\n+    #if $search_opts.template\n+        --exp_design=\'$search_opts.template\'\n+    #end if\n+    --version=@VERSION@ \n     --num_threads=\\${GALAXY_SLOTS:-1}\n     --substitution_rx=\'@SUBSTITUTION_RX@\'\n-    #if $input_opts.infile.select == "mzxml_files"\n-        --mzxml_files=\'$input_opts.infile.mzxml_files\'\n-        #set names = \',\'.join([re.sub(\'@SUBSTITUTION_RX@\', \'_\', str($name.element_identifier)) for $name in $input_opts.infile.mzxml_files])\n-    #else\n-        --raw_files=\'$input_opts.infile.raw_files\'\n-        #set names = \',\'.join([re.sub(\'@SUBSTITUTION_RX@\', \'_\', str($name.element_identifier)) for $name in $input_opts.infile.raw_files])\n-    #end if\n-    --infile_names=\'$names\'\n-    --version=\'@VERSION@\'\n-    --fasta_files=\'$input_opts.fasta_files\'\n-    --identifier_parse_rule=\'$input_opts.identifier_parse_rule\'\n-    --description_parse_rule=\'$input_opts.description_parse_rule\'\n+    --yaml=\'$mq_conf\'\n+    mqpar.xml\n \n-    --exp_design=\'$search_opts.template\'\n-    --missed_cleavages=$search_opts.missed_cleavages\n-    --min_peptide_len=$search_opts.min_peptide_len\n-    --max_peptide_mass=$search_opts.max_peptide_mass\n-    --min_unique_pep=$search_opts.min_unique_pep\n-    $search_opts.calc_peak_properties\n-    $search_opts.match_between_runs\n-    #if $search_opts.fixed_mods\n-        --fixed_mods=\'$search_opts.fixed_mods\'\n-    #end if\n-    #if $search_opts.var_mods\n-        --var_mods=\'$search_opts.var_mods\'\n-    #end if\n-    #if $search_opts.proteases\n-        --proteases=\'$search_opts.proteases\'\n-    #end if\n-    #if $search_opts.silac.light_mods\n-        --light_mods=\'$search_opts.silac.light_mods\'\n-    #end if\n-    #if $search_opts.silac.medium_mods\n-        --medium_mods=\'$search_opts.silac.medium_mods\'\n-    #end if\n-    #if $search_opts.silac.heavy_mods\n-       --heavy_mods=\'$search_opts.silac.heavy_mods\'\n-    #end if\n-    #if $search_opts.lfq.do_lfq == "--lfq_mode=1"\n-        $search_opts.lfq.do_lfq.lfq_mode\n-        --lfq_min_ratio_count=$search_opts.lfq.do_lfq.lfq_min_ratio_count\n-        --lfq_min_edges_per_node=$search_opts.lfq.do_lfq.lfq_min_edges_per_node'..b' <test expect_num_outputs="2">\n+            <param name="ftype" value=".mzxml" />\n+            <param name="fasta_files" value="bsa.fasta" />\n+            <param name="identifier_parse_rule" value="&gt;([^\\s]*)" />\n+            <param name="description_parse_rule" value="&gt;(.*)" />\n+            <param name="template" value="04/exp_design" />\n+            <repeat name="paramGroups">\n+                <param name="files" value="BSA_min_23.mzXML,BSA_min_22"/>\n+                <param name="fixedModifications" value="Carbamidomethyl (C)" />\n+                <param name="variableModifications" value="Oxidation (M)" />\n+                <param name="enzymes" value="Trypsin/P" />\n+                <conditional name="quant_method">\n+                    <param name="select_quant_method" value="silac" />\n+                    <param name="light_labels" value="Arg6,Lys4" />\n+                    <param name="heavy_labels" value="Arg10,DimethLys8" />\n+                </conditional>\n+            </repeat>\n+            <param name="dry_run" value="True" />\n+            <param name="output" value="config,mqpar" />\n+            <output name="config" file="04/config.yml" lines_diff="2" />\n+            <output name="mqpar" file="04/mqpar.xml" lines_diff="12" />\n         </test>\n     </tests>\n \n@@ -307,8 +543,9 @@\n \n **Input files**\n \n-- Thermo raw file or mzXML file\n-    - The datatype has to be \'thermo.raw\' or \'mzXML\'. Make sure to specify the correct datatype either during upload to Galaxy or afterwards (edit attributes --> datatypes)\n+- Thermo raw files or mzXML files (in parameter group section):\n+    - The datatype of all files has to be either \'thermo.raw\' or \'mzXML\'. Make sure to specify the correct datatype either during upload to Galaxy or afterwards (edit attributes --> datatypes)\n+- Fasta files: specify parse rules accordingly, default rules are compatible with uniprot\n - Optional files:\n     - Tabular file with experimental design template:\n         - Currently four columns are needed: Name, Fraction, Experiment and PTM. The headers must have this exact naming. Name and Experiment are abitrary strings, Fraction is an integer or emtpy, PTM is either \'True\', \'False\' or empty. Consider you uploaded files named File1.mzxml, ..., File5.mzxml. This is a (syntactically) correct experimental design template:\n@@ -340,37 +577,11 @@\n     - label based: \n         - for two channels: choose options from light and heavy sections, for three channels choose options from light, medium and heavy sections\n     - label-free\n+    - reporter ion ms2: either use the pre-defined labelings with correction factors set to 0 or specify a custom labeling\n \n **Output files**\n \n-Different output file options are available, most of them are part of the MaxQuant txt directory. \n+Different output file options are available, most of them are part of the MaxQuant txt directory. If ptxqc report ist selected, a quality control report will be created.\n     ]]></help>\n-    <citations>\n-        <citation type="bibtex">\n-        @article{cox2008maxquant,\n-        title={MaxQuant enables high peptide identification rates, individualized\n-        ppb-range mass accuracies and proteome-wide protein quantification},\n-        author={Cox, J{\\"u}rgen and Mann, Matthias},\n-        journal={Nature biotechnology},\n-        volume={26},\n-        number={12},\n-        pages={1367},\n-        year={2008},\n-        publisher={Nature Publishing Group}\n-        }\n-        </citation>\n-        <citation type="bibtex">\n-        @article{tyanova2016maxquant,\n-        title={The MaxQuant computational platform for mass\n-        spectrometry-based shotgun proteomics},\n-        author={Tyanova, Stefka and Temu, Tikira and Cox, J{\\"u}rgen},\n-        journal={Nature protocols},\n-        volume={11},\n-        number={12},\n-        pages={2301},\n-        year={2016},\n-        publisher={Nature Publishing Group}\n-        }\n-        </citation>\n-    </citations>\n+    <expand macro="citations"/>\n </tool>\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 mqparam.py
--- a/mqparam.py Thu Aug 15 08:09:00 2019 -0400
+++ b/mqparam.py Sat Apr 11 11:49:19 2020 -0400
[
b'@@ -1,113 +1,174 @@\n """\n Create a project-specific MaxQuant parameter file.\n-\n-TODO: check validity of parsed experimental design template\n-      add support for parameter groups\n-      add reporter ion MS2\n-      add label free quantification\n-      don\'t hardcode parse rules for fasta files\n-\n-Author: Damian Glaetzer <d.glaetzer@mailbox.org>\n """\n \n+import copy\n import ntpath\n import os\n import re\n+import yaml\n import xml.etree.ElementTree as ET\n from itertools import zip_longest\n from xml.dom import minidom\n \n \n+def et_add_child(el, name, text, attrib=None):\n+    "Add a child element to an xml.etree.ElementTree.Element"\n+    child = ET.SubElement(el, name, attrib=attrib if attrib else {})\n+    child.text = str(text)\n+    return child\n+\n+\n+class ParamGroup:\n+    """Represents one parameter Group\n+    """\n+\n+    def __init__(self, root):\n+        """Initialize with its xml.etree.ElementTree root Element.\n+        """\n+        self._root = copy.deepcopy(root)\n+\n+    def set_list_param(self, key, vals):\n+        """Set a list parameter.\n+        """\n+        node = self._root.find(key)\n+        if node is None:\n+            raise ValueError(\'Element {} not found in parameter file\'\n+                             .format(key))\n+        node.clear()\n+        node.tag = key\n+        for e in vals:\n+            et_add_child(node, name=\'string\', text=e)\n+\n+    def set_simple_param(self, key, value):\n+        """Set a simple parameter.\n+        """\n+        node = self._root.find(key)\n+        if node is None:\n+            raise ValueError(\'Element {} not found in parameter file\'\n+                             .format(key))\n+        node.text = str(value)\n+\n+    def set_silac(self, light_labels, medium_labels, heavy_labels):\n+        """Set label modifications.\n+        """\n+        if medium_labels and not (heavy_labels or light_labels):  # medium omly with heavy and light\n+            raise Exception("Incorrect SILAC specification. Use medium only together with light and heavy labels.")\n+        multiplicity = 3 if medium_labels else 2 if heavy_labels else 1\n+        max_label = str(max(len(light_labels) if light_labels else 0,\n+                            len(medium_labels) if medium_labels else 0,\n+                            len(heavy_labels) if heavy_labels else 0))\n+        self._root.find(\'multiplicity\').text = str(multiplicity)\n+        self._root.find(\'maxLabeledAa\').text = max_label\n+        node = self._root.find(\'labelMods\')\n+        node[0].text = \';\'.join(light_labels) if light_labels else \'\'\n+        if multiplicity == 3:\n+            et_add_child(node, name=\'string\', text=\';\'.join(medium_labels))\n+        if multiplicity > 1:\n+            et_add_child(node, name=\'string\',\n+                         text=\';\'.join(heavy_labels) if heavy_labels else \'\')\n+\n+    def set_isobaric_label(self, internalLabel, terminalLabel,\n+                           cm2, cm1, cp1, cp2, tmtLike):\n+        """Add isobaric label info.\n+        Args:\n+            internalLabel: string\n+            terminalLabel: string\n+            cm2: (float) correction factor\n+            cm1: (float) correction factor\n+            cp1: (float) correction factor\n+            cp2: (float) correction factor\n+            tmtLike: bool or string\n+        Returns:\n+            None\n+        """\n+        iso_labels_node = self._root.find(\'isobaricLabels\')\n+        label = et_add_child(iso_labels_node, \'IsobaricLabelInfo\', \'\')\n+        et_add_child(label, \'internalLabel\', internalLabel)\n+        et_add_child(label, \'terminalLabel\', terminalLabel)\n+        for num, factor in ((\'M2\', cm2), (\'M1\', cm1), (\'P1\', cp1), (\'P2\', cp2)):\n+            et_add_child(label, \'correctionFactor\' + num,\n+                         str(float(factor) if factor % 1 else int(factor)))\n+        et_add_child(label, \'tmtLike\', str(tmtLike))\n+\n+\n class MQParam:\n     """Represents a mqpar.xml and provides methods to modify\n     some of its parameters.\n     """\n \n-    fasta_template = """<FastaFil'..b'    multiplicity_node.text = str(multiplicity)\n-        max_label_node = self.root.find(\'.parameterGroups/parameterGroup/\'\n-                                        + \'maxLabeledAa\')\n-        max_label_node.text = max_label\n-\n-        node = self.root.find(\'.parameterGroups/parameterGroup/labelMods\')\n-        node[0].text = \';\'.join(light_mods) if light_mods else \'\'\n-        if multiplicity == 3:\n-            MQParam._add_child(node, name=\'string\', text=\';\'.join(medium_mods))\n-        if multiplicity > 1:\n-            MQParam._add_child(node, name=\'string\',\n-                               text=\';\'.join(heavy_mods) if heavy_mods else \'\')\n+        with open(conf) as f:\n+            conf_dict = yaml.safe_load(f.read())\n+        paramGroups = conf_dict.pop(\'paramGroups\')\n+        self.add_infiles([pg.pop(\'files\') for pg in paramGroups])\n+        for i, pg in enumerate(paramGroups):\n+            silac = pg.pop(\'labelMods\', False)\n+            if silac:\n+                self[i].set_silac(*silac)\n+            isobaricLabels = pg.pop(\'isobaricLabels\', False)\n+            if isobaricLabels:\n+                for l in isobaricLabels:\n+                    self[i].set_isobaric_label(*l)\n+            for el in [\'fixedModifications\', \'variableModifications\', \'enzymes\']:\n+                lst = pg.pop(el, None)\n+                if lst is not None:\n+                    self[i].set_list_param(el, lst)\n+            for key in pg:\n+                self[i].set_simple_param(key, pg[key])\n+        fastafiles = conf_dict.pop(\'fastaFiles\', False)\n+        if fastafiles:\n+            self.add_fasta_files(fastafiles, parse_rules=conf_dict.pop(\'parseRules\', {}))\n+        else:\n+            raise Exception(\'No fasta files provided.\')\n+        for key in conf_dict:\n+            self.set_simple_param(key, conf_dict[key])\n \n-    def set_list_params(self, key, vals):\n-        """Set a list parameter.\n-        >>> t = MQParam(None, \'./test-data/template.xml\', None)\n-        >>> t.set_list_params(\'proteases\', (\'test 1\', \'test 2\'))\n-        >>> len(t.root.find(\'.parameterGroups/parameterGroup/enzymes\'))\n-        2\n-        >>> t.set_list_params(\'var_mods\', (\'Oxidation (M)\', ))\n-        >>> var_mods = \'.parameterGroups/parameterGroup/variableModifications\'\n-        >>> t.root.find(var_mods)[0].text\n-        \'Oxidation (M)\'\n+    def write(self, mqpar_out):\n+        """Write pretty formatted xml parameter file.\n+        Compose it from global parameters and parameter Groups.\n         """\n-\n-        params = {\'var_mods\':\n-                  \'.parameterGroups/parameterGroup/variableModifications\',\n-                  \'fixed_mods\':\n-                  \'.parameterGroups/parameterGroup/fixedModifications\',\n-                  \'proteases\':\n-                  \'.parameterGroups/parameterGroup/enzymes\'}\n-\n-        if key in params:\n-            node = self.root.find(params[key])\n-            if node is None:\n-                raise ValueError(\'Element {} not found in parameter file\'\n-                                 .format(params[key]))\n-            node.clear()\n-            node.tag = params[key].split(\'/\')[-1]\n-            for e in vals:\n-                MQParam._add_child(node, name=\'string\', text=e)\n-        else:\n-            raise ValueError("Parameter {} not found.".format(key))\n-\n-    def write(self):\n-        rough_string = ET.tostring(self.root, \'utf-8\', short_empty_elements=False)\n+        if self._paramGroups:\n+            pg_node = self._root.find(\'parameterGroups\')\n+            pg_node.remove(pg_node[0])\n+            for group in self._paramGroups:\n+                pg_node.append(group._root)\n+        rough_string = ET.tostring(self._root, \'utf-8\', short_empty_elements=False)\n         reparsed = minidom.parseString(rough_string)\n         pretty = reparsed.toprettyxml(indent="\\t")\n         even_prettier = re.sub(r"\\n\\s+\\n", r"\\n", pretty)\n-        with open(self.mqpar_out, \'w\') as f:\n+        with open(mqpar_out, \'w\') as f:\n             print(even_prettier, file=f)\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 mqwrapper.py
--- a/mqwrapper.py Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,148 +0,0 @@
-"""
-Run MaxQuant on a modified mqpar.xml.
-Use maxquant conda package.
-TODO: add support for parameter groups
-
-Authors: Damian Glaetzer <d.glaetzer@mailbox.org>
-
-based on the maxquant galaxy tool by John Chilton:
-https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/maxquant
-"""
-
-import argparse
-import os
-import shutil
-import subprocess
-
-import mqparam
-
-# build parser
-parser = argparse.ArgumentParser()
-
-# input, special outputs and others
-other_args = ('raw_files', 'mzxml_files', 'fasta_files',
-              'description_parse_rule', 'identifier_parse_rule',
-              'exp_design', 'output_all',
-              'mqpar_out', 'infile_names', 'mzTab',
-              'version', 'substitution_rx')
-
-# txt result files
-txt_output = ('evidence', 'msms', 'parameters',
-              'peptides', 'proteinGroups', 'allPeptides',
-              'libraryMatch', 'matchedFeatures',
-              'modificationSpecificPeptides', 'ms3Scans',
-              'msmsScans', 'mzRange', 'peptideSection',
-              'summary')
-
-# arguments for mqparam
-# global
-global_flags = ('calc_peak_properties',
-                'write_mztab',
-                'ibaq',
-                'ibaq_log_fit',
-                'separate_lfq',
-                'lfq_stabilize_large_ratios',
-                'lfq_require_msms',
-                'advanced_site_intensities',
-                'match_between_runs')
-
-global_simple_args = ('min_unique_pep',
-                      'num_threads',
-                      'min_peptide_len',
-                      'max_peptide_mass')
-
-# parameter group specific
-param_group_flags = ('lfq_skip_norm',)
-
-param_group_simple_args = ('missed_cleavages',
-                           'lfq_mode',
-                           'lfq_min_edges_per_node',
-                           'lfq_avg_edges_per_node',
-                           'lfq_min_ratio_count')
-
-param_group_silac_args = ('light_mods', 'medium_mods', 'heavy_mods')
-
-list_args = ('fixed_mods', 'var_mods', 'proteases')
-
-arguments = ['--' + el for el in (txt_output
-                                  + global_simple_args
-                                  + param_group_simple_args
-                                  + list_args
-                                  + param_group_silac_args
-                                  + other_args)]
-
-flags = ['--' + el for el in global_flags + param_group_flags]
-
-for arg in arguments:
-    parser.add_argument(arg)
-for flag in flags:
-    parser.add_argument(flag, action="store_true")
-
-args = vars(parser.parse_args())
-
-# link infile datasets to names with correct extension
-# for maxquant to accept them
-files = (args['raw_files'] if args['raw_files']
-         else args['mzxml_files']).split(',')
-ftype = ".thermo.raw" if args['raw_files'] else ".mzXML"
-filenames = args['infile_names'].split(',')
-fnames_with_ext = [(a if a.endswith(ftype)
-                    else os.path.splitext(a)[0] + ftype)
-                   for a in filenames]
-
-for f, l in zip(files, fnames_with_ext):
-    os.symlink(f, l)
-
-# build mqpar.xml
-mqpar_in = os.path.join(os.getcwd(), 'mqpar.xml')
-subprocess.run(('maxquant', '-c', mqpar_in))
-mqpar_out = args['mqpar_out'] if args['mqpar_out'] != 'None' else mqpar_in
-
-
-exp_design = args['exp_design'] if args['exp_design'] != 'None' else None
-m = mqparam.MQParam(mqpar_out, mqpar_in, exp_design,
-                    substitution_rx=args['substitution_rx'])
-if m.version != args['version']:
-    raise Exception('mqpar version is ' + m.version +
-                    '. Tool uses version {}.'.format(args['version']))
-
-# modify parameters, interactive mode if no mqpar_in was specified
-m.add_infiles([os.path.join(os.getcwd(), name) for name in fnames_with_ext], True)
-m.add_fasta_files(args['fasta_files'].split(','),
-                  identifier=args['identifier_parse_rule'],
-                  description=args['description_parse_rule'])
-
-for e in (global_simple_args
-          + param_group_simple_args
-          + global_flags
-          + param_group_flags):
-    if args[e]:
-        m.set_simple_param(e, args[e])
-
-for e in list_args:
-    if args[e]:
-        m.set_list_params(e, args[e].split(','))
-
-if args['light_mods'] or args['medium_mods'] or args['heavy_mods']:
-    m.set_silac(args['light_mods'].split(',') if args['light_mods'] else None,
-                args['medium_mods'].split(',') if args['medium_mods'] else None,
-                args['heavy_mods'].split(',') if args['heavy_mods'] else None)
-
-m.write()
-
-# build and run MaxQuant command
-cmd = ['maxquant', mqpar_out]
-
-subprocess.run(cmd, check=True, cwd='./')
-
-# copy results to galaxy database
-for el in txt_output:
-    destination = args[el]
-    source = os.path.join(os.getcwd(), "combined", "txt", "{}.txt".format(el))
-    if destination != 'None' and os.path.isfile(source):
-        shutil.copy(source, destination)
-
-if args['mzTab'] != 'None':
-    source = os.path.join(os.getcwd(), "combined", "txt", "mzTab.mzTab")
-    if os.path.isfile(source):
-        shutil.copy(source, args['mzTab'])
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/allPeptides.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/allPeptides.txt Sat Apr 11 11:49:19 2020 -0400
[
b'@@ -0,0 +1,167 @@\n+Raw file\tType\tCharge\tm/z\tMass\tUncalibrated m/z\tResolution\tNumber of data points\tNumber of scans\tNumber of isotopic peaks\tPIF\tMass fractional part\tMass deficit\tMass precision [ppm]\tMax intensity m/z 0\tRetention time\tRetention length\tRetention length (FWHM)\tMin scan number\tMax scan number\tIdentified\tReverse\tMS/MS IDs\tSequence\tLength\tModifications\tModified sequence\tProteins\tScore\tPEP\tIntensity\tIntensities\tIsotope pattern\tMS/MS Count\tMSMS Scan Numbers\tMSMS Isotope Indices\r\n+BSA_min_23\tMULTI\t3\t710.69967\t2129.0772\t710.69967\tNaN\t5\t3\t2\t\t0.0771919\t0.0578164096173168\t1.08086\t711.033930698172\t0.0366\t8.26\t0\t1\t25\t\t\t-1\t\t0\t\t\t\t0\tNaN\t27555\t0;16823.720703125;10726.12109375;6644.5966796875;0\t7737.3974609375;9086.3232421875\t0\t\t\r\n+BSA_min_23\tMULTI\t3\t1567.4354\t4699.2845\t1567.4354\tNaN\t5\t3\t2\t\t0.284514\t0.0828426326752378\t7.31572\t1568.10387245715\t0.0671\t8.26\t0\t1\t25\t\t\t-1\t\t0\t\t\t\t0\tNaN\t137580\t0;23479.5932617188;59085.9194335938;20990.259765625;0\t0;0;53540.3203125;7305.36279296875\t0\t\t\r\n+BSA_min_23\tMULTI\t2\t466.26817\t930.5218\t466.26817\tNaN\t6\t4\t2\t\t0.521797\t0.0537564853223103\t1.35299\t466.26850803291\t0.107\t10.3\t0\t1\t31\t\t\t-1\t\t0\t\t\t\t0\tNaN\t33499\t0;16896.8359375;13251.4482421875;29638.681640625;21903.5859375;0\t22962.34375;6676.337890625\t0\t\t\r\n+BSA_min_23\tMULTI\t2\t835.80692\t1669.5993\t835.80692\tNaN\t7\t4\t2\t\t0.599289\t-0.208726257088529\t1.09635\t835.807035746435\t0.107\t10.3\t0\t1\t31\t\t\t-1\t\t0\t\t\t\t0\tNaN\t35250\t0;14611.8764648438;18125.6357421875;25099.0166015625;15365.583984375;0\t16483.943359375;8615.0732421875\t0\t\t\r\n+BSA_min_23\tMULTI\t2\t889.42648\t1776.8384\t889.42648\tNaN\t6\t3\t2\t\t0.838398\t-0.0189472723534436\t2.69649\t889.927320499287\t0.107\t8.26\t0\t1\t25\t\t\t-1\t\t0\t\t\t\t0\tNaN\t24592\t0;9125.99072265625;13286.1201171875;16742.716796875;0\t7208.8173828125;9533.8994140625\t0\t\t\r\n+BSA_min_23\tMULTI\t2\t378.70717\t755.39978\t378.70717\tNaN\t4\t2\t2\t\t0.399783\t0.0122990350871532\t2.65249\t378.7066995797\t0.119\t6.22\t0\t13\t31\t\t\t-1\t\t0\t\t\t\t0\tNaN\t17113\t0;15764.96875;12169.2568359375;0\t9865.826171875;5910.52587890625\t0\t\t\r\n+BSA_min_23\tMULTI\t6\t456.58136\t2733.4445\t456.58136\tNaN\t6\t5\t2\t\t0.444504\t0.14711979940148\t1.25056\t456.748107866223\t0.139\t12.6\t0\t7\t43\t\t\t-1\t\t0\t\t\t\t0\tNaN\t36582\t0;9077.5439453125;13902.0874023438;19992.689453125;13010.4306640625;0;0\t0;13844.125;6148.564453125\t1\t8\t1\r\n+BSA_min_23\tMULTI\t2\t701.87367\t1401.7328\t701.87367\tNaN\t4\t2\t2\t\t0.732779\t0.0479819779827722\t1.9101\t701.87287295525\t0.139\t6.22\t0\t13\t31\t\t\t-1\t\t0\t\t\t\t0\tNaN\t19640\t0;11736.2470703125;14934.2939453125;0\t8433.541015625;6500.7529296875\t0\t\t\r\n+BSA_min_23\tMULTI\t2\t903.84665\t1805.6788\t903.84665\tNaN\t14\t5\t3\t\t0.67875\t-0.191861895242255\t0.538046\t903.846381489202\t0.128\t12.5\t0\t1\t37\t\t\t-1\t\t0\t\t\t\t0\tNaN\t89876\t0;22660.5712890625;48080.4096679688;66770.5043945313;78759.361328125;39740.7744140625;0\t39216.41796875;30181.7421875;16944.533203125\t1\t27\t0\r\n+BSA_min_23\tMULTI\t3\t487.53462\t1459.582\t487.53462\tNaN\t16\t8\t3\t\t0.582041\t-0.129367074224319\t0.600339\t487.53461224021\t0.133\t19\t0\t1\t55\t\t\t-1\t\t0\t\t\t\t0\tNaN\t84731\t0;7211.73095703125;32638.8959960938;79787.74609375;74581.1875;40743.359375;31912.87890625;10748.6064453125;5496.4296875;0\t40288.40234375;32200.93359375;13735.64453125\t1\t33\t1\r\n+BSA_min_23\tMULTI\t3\t583.22015\t1746.6386\t583.22015\tNaN\t7\t4\t2\t\t0.638625\t-0.204828530265331\t2.09463\t583.220239813966\t0.176\t10.5\t0\t7\t37\t\t\t-1\t\t0\t\t\t\t0\tNaN\t42292\t0;4036.83081054688;17411.11328125;19834.8046875;29221.802734375;0\t17431.560546875;11790.2421875\t0\t\t\r\n+BSA_min_23\tMULTI\t3\t635.6026\t1903.786\t635.6026\tNaN\t7\t5\t2\t\t0.785967\t-0.129774097720883\t1.11727\t635.602244079812\t0.176\t12.6\t0\t7\t43\t\t\t-1\t\t0\t\t\t\t0\tNaN\t46680\t0;4302.31201171875;12941.4526367188;23817.1057128906;30967.701171875;0;0\t17209.375;13758.326171875\t0\t\t\r\n+BSA_min_23\tMULTI\t2\t730.79903\t1459.5835\t730.79903\tNaN\t10\t6\t2\t\t0.583509\t-0.127899156014337\t0.558717\t730.799136547346\t0.151\t14.7\t0\t1\t43\t\t\t-1\t\t0\t\t\t\t0\tNaN\t77496\t0;5839.765625;27434.9599609375;42471.279296875;58278.560546875;32345.4384765625;15650.7568359375;0\t39553.00390625;19513.171875\t1\t29\t0\r\n+BSA_min_23\tMULTI\t2\t996.94429\t1991.874\t996.94429\tNaN\t15\t13\t2\t\t0.874033\t-0.0822288372489766\t0.834502\t997.446155'..b'\t609.30165\tNaN\t5\t3\t2\t\t0.588746\t-0.010884807340517\t3.26112\t609.801905531048\t0.578\t6.09\t0\t87\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t18519\t0;6848.39208984375;14504.1098632813;15519.5483398438;0\t5654.28662109375;10022.16015625\t0\t\t\r\n+BSA_min_23\tMULTI\t2\t626.82568\t1251.6368\t626.82568\tNaN\t8\t5\t2\t\t0.636813\t0.0210605159502393\t0.950782\t627.327160354538\t0.556\t10.1\t0\t75\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t20467\t0;7513.7216796875;15837.8994140625;13457.0910644531;10665.5668945313;6652.02783203125;0\t7548.9072265625;10244.0595703125\t0\t\t\r\n+BSA_min_23\tMULTI\t3\t635.60201\t1903.7842\t635.60201\tNaN\t11\t4\t3\t\t0.784211\t-0.131529739430107\t0.651967\t635.601854227925\t0.587\t8.25\t0\t81\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t109400\t0;11539.9194335938;49907.1435546875;64455.1904296875;94715.8671875;0\t41372.8828125;37360.796875;15982.1875\t1\t93\t0\r\n+BSA_min_23\tMULTI\t2\t722.29286\t1442.5712\t722.29286\tNaN\t11\t4\t3\t\t0.571176\t-0.132406498940327\t0.598795\t722.794557009268\t0.587\t8.25\t0\t81\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t88555\t0;19382.1572265625;29263.3842773438;56304.751953125;72047.59765625;0\t31798.40625;40249.19140625;9051.69140625\t2\t94;97\t0;0\r\n+BSA_min_23\tMULTI\t2\t731.29826\t1460.582\t731.29826\tNaN\t9\t5\t2\t\t0.581963\t-0.129905034647663\t0.949227\t731.799523381077\t0.526\t10.1\t0\t75\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t29169\t0;10700.2763671875;21935.4814453125;17981.1000976563;13056.220703125;17802.30078125;0\t11073.208984375;11301.125\t1\t90\t0\r\n+BSA_min_23\tMULTI\t2\t772.82766\t1543.6408\t772.82766\tNaN\t5\t3\t2\t\t0.640772\t-0.109302619518758\t1.14656\t772.827340413045\t0.587\t6.09\t0\t87\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t33423\t0;6804.890625;12703.8696289063;24380.708984375;0\t15360.51953125;9020.189453125\t0\t\t\r\n+BSA_min_23\tMULTI\t3\t776.67069\t2326.9902\t776.67069\tNaN\t7\t3\t3\t\t0.990245\t-0.120170237694765\t1.89326\t777.004331643663\t0.571\t6.09\t0\t87\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t37194\t0;6977.5546875;29906.751953125;25277;0\t9063.5791015625;14645.7783203125;12678.326171875\t0\t\t\r\n+BSA_min_23\tMULTI\t1\t837.43637\t836.42909\t837.43637\tNaN\t7\t4\t2\t\t0.429093\t0.0043357496634826\t1.1693\t837.436103089852\t0.587\t8.25\t0\t81\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t73009\t0;8795.1123046875;28166.4892578125;33590.7690429688;65961.154296875;0\t53311.69140625;12649.462890625\t0\t\t\r\n+BSA_min_23\tMULTI\t2\t882.84611\t1763.6777\t882.84611\tNaN\t12\t7\t3\t\t0.677665\t-0.17362702288824\t0.463077\t882.846072087715\t0.563\t13.8\t0\t65\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t1179300\t0;10685.890625;57645.44140625;185231.5625;292455.5625;750275.78125;1040647.75;871335.640625;0\t494015.65625;379948.71875;166683.375\t1\t100\t0\r\n+BSA_min_23\tMULTI\t2\t886.81224\t1771.6099\t886.81224\tNaN\t8\t5\t2\t\t0.609919\t-0.245021216350096\t1.46251\t887.31412154531\t0.576\t10.1\t0\t75\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t29012\t0;5249.1533203125;6298.3564453125;13226.2900390625;17856.4375;20045.5546875;0\t8890.65234375;11784.896484375\t0\t\t\r\n+BSA_min_23\tMULTI\t1\t899.44874\t898.44146\t899.44874\tNaN\t10\t6\t2\t\t0.441463\t-0.0118196933137824\t0.501834\t899.44868329937\t0.563\t11.9\t0\t71\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t93356\t0;10259.021484375;11104.9755859375;38988.1611328125;51494.2109375;83477.83203125;72926.943359375;0\t61125.3359375;22352.49609375\t0\t\t\r\n+BSA_min_23\tMULTI\t2\t973.90466\t1945.7948\t973.90466\tNaN\t7\t4\t2\t\t0.794757\t-0.14030840214582\t1.22045\t973.904958275679\t0.587\t8.25\t0\t81\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t67032\t0;22343.408203125;30602.4375;39709.193359375;30783.283203125;0\t30783.283203125;12774.3359375\t0\t\t\r\n+BSA_min_23\tMULTI\t1\t1012.4647\t1011.4574\t1012.4647\tNaN\t10\t6\t2\t\t0.457396\t-0.0478741148867812\t0.638009\t1012.46465963589\t0.58\t11.9\t0\t71\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t45315\t0;6566.83447265625;5892.9794921875;22179.6865234375;26302.4379882813;35693.482421875;39795.4755859375;0\t31461.541015625;12683.193359375\t0\t\t\r\n+BSA_min_23\tMULTI\t2\t1044.9323\t2087.8501\t1044.9323\tNaN\t6\t4\t2\t\t0.850137\t-0.150273671131799\t1.9368\t1045.43259299012\t0.587\t8.25\t0\t81\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t22292\t0;6181.01806640625;6017.2158203125;11961.13671875;13880.3842773438;0\t6740.865234375;7139.51904296875\t0\t\t\r\n+BSA_min_23\tMULTI\t1\t1164.5167\t1163.5094\t1164.5167\tNaN\t6\t4\t2\t\t0.50944\t-0.065774688654983\t0.737118\t1164.51651446826\t0.569\t8.25\t0\t81\t99\t\t\t-1\t\t0\t\t\t\t0\tNaN\t30247\t0;5882.703125;19118.6171875;25656.2758789063;16791.0786132813;0\t19902.078125;6989.12060546875\t0\t\t\r\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/evidence.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/evidence.txt Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,9 @@
+Sequence Length Modifications Modified sequence Oxidation (M) Probabilities Oxidation (M) Score Diffs Oxidation (M) Missed cleavages Proteins Leading proteins Leading razor protein Type Raw file Experiment MS/MS m/z Charge m/z Mass Resolution Uncalibrated - Calibrated m/z [ppm] Uncalibrated - Calibrated m/z [Da] Mass error [ppm] Mass error [Da] Uncalibrated mass error [ppm] Uncalibrated mass error [Da] Max intensity m/z 0 Retention time Retention length Calibrated retention time Calibrated retention time start Calibrated retention time finish Retention time calibration Match time difference Match m/z difference Match q-value Match score Number of data points Number of scans Number of isotopic peaks PIF Fraction of total spectrum Base peak fraction PEP MS/MS count MS/MS scan number Score Delta score Combinatorics Intensity Reporter PIF Reporter fraction Reverse Potential contaminant id Protein group IDs Peptide ID Mod. peptide ID MS/MS IDs Best MS/MS Oxidation (M) site IDs
+DSFDIIK 7 Unmodified _DSFDIIK_ 0 0 CON__ENSEMBL:ENSBTAP00000016046 CON__ENSEMBL:ENSBTAP00000016046 CON__ENSEMBL:ENSBTAP00000016046 MULTI-MSMS BSA_min_23 BSA_min_23.mzXML 419.221313476563 2 419.221268 836.427984 NaN 0 0 0.54276 0.00022754 0.54276 0.00022754 419.22139467134 0.58669 0.13742 0.58669 0.46121 0.59862 0 11 4 3 0 0 0 8.9583E-05 1 96 0 0 1 768320 + 0 2 0 0 0 0
+LLESEECR 8 Unmodified _LLESEECR_ 0 0 CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 CON__Q14CN4-1 CON__Q14CN4-1 MSMS BSA_min_23 BSA_min_23.mzXML 518.238220214844 2 518.242406 1034.47026 NaN NaN NaN NaN NaN NaN NaN NaN 0.50957 1 0.50957 0.0095717 1.0096 0 0 0 0 0.010121 1 86 1.6313 1.6313 1 + 1 6 1 1 1 1
+LVTDLTK 7 Unmodified _LVTDLTK_ 0 0 CON__P02769;bsa;CON__P02768-1 CON__P02769 CON__P02769 MSMS BSA_min_23 BSA_min_23.mzXML 395.239288330078 2 395.239461 788.46437 NaN NaN NaN NaN NaN NaN NaN NaN 0.010013 1 0.010013 -0.48999 0.51001 0 0 0 0 0.005963 1 2 0 0 1 + 2 0 2 2 2 2
+QLELEKQLEK 10 Unmodified _QLELEKQLEK_ 0 1 CON__ENSEMBL:ENSBTAP00000001528 CON__ENSEMBL:ENSBTAP00000001528 CON__ENSEMBL:ENSBTAP00000001528 MULTI-MSMS BSA_min_23 BSA_min_23.mzXML 629.358581542969 2 629.356085 1256.69762 NaN 0 0 0.76901 0.00048398 0.76901 0.00048398 629.356557471474 0.3521 0.47559 0.3521 0.12303 0.59862 0 33 14 3 0 0 0 0.0003393 2 52 0 0 1 84871 + 3 1 3 3 3;4 3
+QLELEKQLEK 10 Unmodified _QLELEKQLEK_ 0 1 CON__ENSEMBL:ENSBTAP00000001528 CON__ENSEMBL:ENSBTAP00000001528 CON__ENSEMBL:ENSBTAP00000001528 MULTI-SECPEP BSA_min_23 BSA_min_23.mzXML 419.221313476563 3 419.906482 1256.69762 NaN 0 0 0.052788 2.2166E-05 0.052788 2.2166E-05 419.9067499241 0.32847 0.47559 0.32847 0.12303 0.59862 0 25 14 2 0 0 0 0.015457 1 96 0 0 1 57554 + 4 1 3 3 5 5
+SLSAIRER 8 Unmodified _SLSAIRER_ 0 1 CON__Q03247 CON__Q03247 CON__Q03247 MULTI-SECPEP BSA_min_23 BSA_min_23.mzXML 465.766693115234 2 466.269616 930.524678 NaN 0 0 -3.0904 -0.0014409 -3.0904 -0.0014409 466.26850803291 0.10674 0.17216 0.10674 -0.014552 0.15761 0 6 4 2 0 0 0 0.015457 1 17 0 0 1 33499 + 5 5 4 4 6 6
+SQTSHRGYSASSAR 14 Unmodified _SQTSHRGYSASSAR_ 0 1 CON__P50446 CON__P50446 CON__P50446 MULTI-MSMS BSA_min_23 BSA_min_23.mzXML 747.855651855469 2 747.855835 1493.69712 NaN 0 0 0.34543 0.00025833 0.34543 0.00025833 747.856213318885 0.29902 0.26735 0.29902 0.19386 0.46121 0 11 7 2 0 0 0 0.0091697 1 53 0 0 1 59701 + 6 4 5 5 7 7
+TLGPWGQR 8 Unmodified _TLGPWGQR_ 0 0 CON__ENSEMBL:ENSBTAP00000018574 CON__ENSEMBL:ENSBTAP00000018574 CON__ENSEMBL:ENSBTAP00000018574 MULTI-MSMS BSA_min_23 BSA_min_23.mzXML 457.746032714844 2 457.745776 913.477 NaN 0 0 -0.28456 -0.00013026 -0.28456 -0.00013026 457.745456355006 0.4547 0.40477 0.4547 0.19386 0.59862 -5.5511E-17 18 12 2 0 0 0 0.00018307 1 72 0 0 1 61894 + 7 3 6 6 8 8
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/modificationSpecificPeptides.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/modificationSpecificPeptides.txt Sat Apr 11 11:49:19 2020 -0400
b
@@ -0,0 +1,8 @@
+Sequence Modifications Mass Mass Fractional Part Protein Groups Proteins Unique (Groups) Unique (Proteins) Oxidation (M) Missed cleavages Experiment BSA_min_23.mzXML Retention time Calibrated retention time Charges PEP MS/MS scan number Raw file Score Delta score Reverse Potential contaminant Intensity Intensity BSA_min_23.mzXML id Protein group IDs Peptide ID Evidence IDs MS/MS IDs Best MS/MS Oxidation (M) site IDs MS/MS Count
+DSFDIIK Unmodified 836.42798 0.42798405 2 CON__ENSEMBL:ENSBTAP00000016046 yes yes 0 0 1 0.58669 0.58669 2 8.9583E-05 96 BSA_min_23 0 0 + 768320 768320 0 2 0 0 0 0 1
+LLESEECR Unmodified 1034.4703 0.47025958 6 CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 yes no 0 0 1 0.50957 0.50957 2 0.010121 86 BSA_min_23 1.6313 1.6313 + 0 0 1 6 1 1 1 1 1
+LVTDLTK Unmodified 788.46437 0.46436956 0 CON__P02769;bsa;CON__P02768-1 yes no 0 0 1 0.010013 0.010013 2 0.005963 2 BSA_min_23 0 0 + 0 0 2 0 2 2 2 2 1
+QLELEKQLEK Unmodified 1256.6976 0.69761697 1 CON__ENSEMBL:ENSBTAP00000001528 yes yes 0 1 2 0.34029 0.34029 2;3 0.0003393 52 BSA_min_23 0 0 + 142430 142430 3 1 3 3;4 3;4;5 3 2
+SLSAIRER Unmodified 930.52468 0.52467841 5 CON__Q03247 yes yes 0 1 1 0.10674 0.10674 2 0.015457 17 BSA_min_23 0 0 + 33499 33499 4 5 4 5 6 6 0
+SQTSHRGYSASSAR Unmodified 1493.6971 0.69711648 4 CON__P50446 yes yes 0 1 1 0.29902 0.29902 2 0.0091697 53 BSA_min_23 0 0 + 59701 59701 5 4 5 6 7 7 1
+TLGPWGQR Unmodified 913.477 0.47699993 3 CON__ENSEMBL:ENSBTAP00000018574 yes yes 0 0 1 0.4547 0.4547 2 0.00018307 72 BSA_min_23 0 0 + 61894 61894 6 3 6 7 8 8 1
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/msms.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/msms.txt Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,10 @@
+Raw file Scan number Scan index Sequence Length Missed cleavages Modifications Modified sequence Oxidation (M) Probabilities Oxidation (M) Score diffs Oxidation (M) Proteins Charge Fragmentation Mass analyzer Type Scan event number Isotope index m/z Mass Mass error [ppm] Mass error [Da] Simple mass error [ppm] Retention time PEP Score Delta score Score diff Localization prob Combinatorics PIF Fraction of total spectrum Base peak fraction Precursor full scan number Precursor Intensity Precursor apex fraction Precursor apex offset Precursor apex offset time Matches Intensities Mass deviations [Da] Mass deviations [ppm] Masses Number of matches Intensity coverage Peak coverage Neutral loss level ETD identification type Reverse All scores All sequences All modified sequences Reporter PIF Reporter fraction id Protein group IDs Peptide ID Mod. peptide ID Evidence ID Oxidation (M) site IDs
+BSA_min_23 96 77 DSFDIIK 7 0 Unmodified _DSFDIIK_ 0 CON__ENSEMBL:ENSBTAP00000016046 2 CID FTMS MULTI-MSMS 1 0 419.22127 836.42798 0.54276 0.00022754 NaN 0.57043 8.9583E-05 0 0 NaN NaN 1 0 0 0 95 346270.625 0.704625040984097 -1 0.0243583333333334 0 0 0 None Unknown 0 DSFDIIK _DSFDIIK_ 0 2 0 0 0
+BSA_min_23 86 70 LLESEECR 8 0 Unmodified _LLESEECR_ 0 CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 2 CID FTMS MSMS 5 518.24241 1034.4703 NaN NaN NaN 0.50957 0.010121 1.6313 1.6313 NaN NaN 1 0 0 0 81 10271.2001953125 1 0 0 y6 10 0.0135096433999706 16.6930827476743 809.2958984375 1 0.00309955136349784 0.00847457627118644 None Unknown 1.63126590808724;0;0 LLESEECR;LGSDMEDLR;QLNQEMEK _LLESEECR_;_LGSDMEDLR_;_QLNQEM(Oxidation (M))EK_ 1 6 1 1 1
+BSA_min_23 2 0 LVTDLTK 7 0 Unmodified _LVTDLTK_ 0 CON__P02769;bsa;CON__P02768-1 2 CID FTMS MSMS 1 395.23946 788.46437 NaN NaN NaN 0.010013 0.005963 0 0 NaN NaN 1 0 0 0 -1 NaN NaN 0 NaN 0 0 0 None Unknown 0;0 LVTDLTK;DSLLTLK _LVTDLTK_;_DSLLTLK_ 2 0 2 2 2
+BSA_min_23 52 42 QLELEKQLEK 10 1 Unmodified _QLELEKQLEK_ 0 CON__ENSEMBL:ENSBTAP00000001528 2 CID FTMS MULTI-MSMS 3 0 629.35608 1256.6976 0.76901 0.00048398 NaN 0.30417 0.0003393 0 0 NaN NaN 1 0 0 0 49 47581.3515625 1 0 0 0 0 0 None Unknown 0 QLELEKQLEK _QLELEKQLEK_ 3 1 3 3 3
+BSA_min_23 82 66 QLELEKQLEK 10 1 Unmodified _QLELEKQLEK_ 0 CON__ENSEMBL:ENSBTAP00000001528 2 CID FTMS MULTI-MSMS 1 1 629.35608 1256.6976 0.76901 0.00048398 NaN 0.48722 0.0003393 0 0 NaN NaN 1 0 0 0 81 28788.931640625 1 0 0 0 0 0 None Unknown 0 QLELEKQLEK _QLELEKQLEK_ 4 1 3 3 3
+BSA_min_23 96 77 QLELEKQLEK 10 1 Unmodified _QLELEKQLEK_ 0 CON__ENSEMBL:ENSBTAP00000001528 3 CID FTMS MULTI-SECPEP 1 -2 419.90648 1256.6976 0.052788 2.2166E-05 NaN 0.57043 0.015457 0 0 NaN NaN 1 0 0 0 95 346270.625 0.704625040984097 -1 0.0243583333333334 0 0 0 None Unknown 0 QLELEKQLEK _QLELEKQLEK_ 5 1 3 3 4
+BSA_min_23 17 13 SLSAIRER 8 1 Unmodified _SLSAIRER_ 0 CON__Q03247 2 CID FTMS MULTI-SECPEP 4 -1 466.26962 930.52468 -3.0904 -0.0014409 NaN 0.096553 0.015457 0 0 NaN NaN 1 0 0 0 -1 NaN NaN 0 NaN 0 0 0 None Unknown 0 SLSAIRER _SLSAIRER_ 6 5 4 4 5
+BSA_min_23 53 43 SQTSHRGYSASSAR 14 1 Unmodified _SQTSHRGYSASSAR_ 0 CON__P50446 2 CID FTMS MULTI-MSMS 4 0 747.85583 1493.6971 0.34543 0.00025833 NaN 0.30942 0.0091697 0 0 NaN NaN 1 0 0 0 49 27482.5703125 1 0 0 0 0 0 None Unknown 0;0 SQTSHRGYSASSAR;GLIDEVDQDFTSR _SQTSHRGYSASSAR_;_GLIDEVDQDFTSR_ 7 4 5 5 6
+BSA_min_23 72 58 TLGPWGQR 8 0 Unmodified _TLGPWGQR_ 0 CON__ENSEMBL:ENSBTAP00000018574 2 CID FTMS MULTI-MSMS 1 0 457.74578 913.477 -0.28456 -0.00013026 NaN 0.42593 0.00018307 0 0 NaN NaN 1 0 0 0 71 32936.3203125 0.758644306612328 -2 0.0615566666666666 0 0 0 None Unknown 0;0 TLGPWGQR;IHVFNER _TLGPWGQR_;_IHVFNER_ 8 3 6 6 7
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/msmsScans.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/msmsScans.txt Sat Apr 11 11:49:19 2020 -0400
b
b'@@ -0,0 +1,82 @@\n+Raw file\tScan number\tRetention time\tIon injection time\tTotal ion current\tCollision energy\tSummations\tBase peak intensity\tElapsed time\tIdentified\tMatched\tReverse\tMS/MS IDs\tSequence\tLength\tFiltered peaks\tm/z\tMass\tCharge\tType\tFragmentation\tMass analyzer\tParent intensity fraction\tFraction of total spectrum\tBase peak fraction\tPrecursor full scan number\tPrecursor intensity\tPrecursor apex fraction\tPrecursor apex offset\tPrecursor apex offset time\tScan event number\tModifications\tModified sequence\tProteins\tScore\tPEP\tExperiment\tReporter PIF\tReporter fraction\tIntens Comp Factor\tCTCD Comp\tRawOvFtT\tAGC Fill\tScan index\tMS scan index\tMS scan number\r\n+BSA_min_23\t2\t0.010013\t-1\t35863\t35\t0\t15154\t-1\t+\t\t\t2\tLVTDLTK\t7\t103\t395.239288330078\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t1\tUnmodified\t_LVTDLTK_\tbsa;CON__P02768-1;CON__P02769\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t0\t0\t1\r\n+BSA_min_23\t3\t0.01458\t-1\t30585\t35\t0\t3755\t-1\t-\t\t+\t-1\tEHGLGSSHGSGSEYPR\t16\t164\t552.918823242188\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t2\tUnmodified\t_EHGLGSSHGSGSEYPR_\tREV__CON__Q86YZ3;REV__CON__Q86YZ3;REV__CON__Q86YZ3\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t1\t0\t1\r\n+BSA_min_23\t4\t0.020265\t-1\t11886\t35\t0\t5306.3\t-1\t-\t\t+\t-1\tIKNLDEITLHR\t11\t126\t676.387463660037\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t3\tUnmodified\t_IKNLDEITLHR_\tREV__CON__Q148H6;REV__CON__Q7Z3Y7\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t2\t0\t1\r\n+BSA_min_23\t5\t0.025633\t-1\t12813\t35\t0\t1425.6\t-1\t-\t\t\t-1\tEYEATLEECCAK\t12\t146\t751.810668945313\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t4\tUnmodified\t_EYEATLEECCAK_\tbsa;CON__P02769\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t3\t0\t1\r\n+BSA_min_23\t6\t0.031253\t-1\t10791\t35\t0\t2980.7\t-1\t-\t\t+\t-1\tCLNCFERWR\t9\t124\t670.800842285156\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t5\tUnmodified\t_CLNCFERWR_\tREV__CON__P06868\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t4\t0\t1\r\n+BSA_min_23\t8\t0.044372\t-1\t7950.3\t35\t0\t925.49\t-1\t-\t\t+\t-1\tTPLQYLHEFLSGILRAHVAPAVNGM\t25\t111\t456.581360511828\t2733.44450427137\t6\tMULTI\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t1\tUnmodified\t_TPLQYLHEFLSGILRAHVAPAVNGM_\tREV__CON__REFSEQ:XP_092267\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t5\t1\t7\r\n+BSA_min_23\t9\t0.049315\t-1\t13730\t35\t0\t3362.2\t-1\t-\t\t\t-1\tTSCSNANLEK\t10\t120\t562.257629394531\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t2\tUnmodified\t_TSCSNANLEK_\tCON__Q1A7A4\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t6\t1\t7\r\n+BSA_min_23\t10\t0.05446\t-1\t8774.7\t35\t0\t723.28\t-1\t-\t\t\t-1\t \t0\t121\t589.203410887949\t588.196134421349\t1\tMULTI\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t3\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t7\t1\t7\r\n+BSA_min_23\t11\t0.06018\t-1\t4436.2\t35\t0\t280.8\t-1\t-\t\t\t-1\t \t0\t115\t828.876770019531\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t4\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t8\t1\t7\r\n+BSA_min_23\t12\t0.065908\t-1\t3625.8\t35\t0\t189.9\t-1\t-\t\t\t-1\tGSCGIGGGIGGGSSR\t15\t112\t639.798400878906\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t5\tUnmodified\t_GSCGIGGGIGGGSSR_\tCON__P02533;CON__P08779\t1.5870418381875\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t9\t1\t7\r\n+BSA_min_23\t14\t0.078957\t-1\t13236\t35\t0\t4982.4\t-1\t-\t\t\t-1\t \t0\t137\t883.333059829652\t1764.6515667261\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t13\t171569.53125\t0.0583552615411773\t-4\tNaN\t1\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t10\t2\t13\r\n+BSA_min_23\t15\t0.084805\t-1\t6304.6\t35\t0\t393.58\t-1\t-\t\t\t-1\t \t0\t120\t602.8994140625\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t2\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t11\t2\t13\r\n+BSA_min_23\t16\t0.090573\t-1\t12119\t35\t0\t1996\t-1\t-\t\t\t-1\t \t0\t135\t648.602725143793\t1942.78634603158\t3\tMULTI\tCID\tFTMS\t0\t0\t0\t13\t52074.7734375\t0.102435594507697\t-16\tNaN\t3\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t12\t2\t13\r\n+BSA_min_23\t17\t0.096553\t-1\t5932.3\t35\t0\t1047.4\t-1\t-\t\t+\t-1\tSAAKLPSEK\t9\t110\t465.766693115234\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t4\tUnmodified\t_SAAKLPSEK_\tREV__CON__REFSEQ:XP_585019\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t13\t2\t13\r\n+BSA_min_23\t18\t0.10154\t-1\t4161.5\t35\t0\t213.29\t-1\t-\t\t\t-1\t \t0\t108\t605.758117675781\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t5\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t14\t2\t13\r\n+BSA_min_23\t20\t0.11439\t-1\t65173\t35'..b'9113548898297\t-1\t0.0244116666666667\t4\t2 Oxidation (M)\t_M(Oxidation (M))LREHQELM(Oxidation (M))SMK_\tCON__Q6NXH9\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t64\t13\t75\r\n+BSA_min_23\t80\t0.4736\t-1\t1227.2\t35\t0\t58.422\t-1\t-\t\t+\t-1\tTTHISVNQMGSERLSEEGELK\t21\t96\t1173.07641144645\t2344.1382699597\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t75\t23081.546875\t1\t0\t0\t5\tUnmodified\t_TTHISVNQMGSERLSEEGELK_\tREV__CON__Q9H552\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t65\t13\t75\r\n+BSA_min_23\t82\t0.48722\t-1\t6556.1\t35\t0\t1271.7\t-1\t+\t\t\t4\tQLELEKQLEK\t10\t116\t629.356568937177\t1256.69858494115\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t81\t28788.931640625\t1\t0\t0\t1\tUnmodified\t_QLELEKQLEK_\tCON__ENSEMBL:ENSBTAP00000001528\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t66\t14\t81\r\n+BSA_min_23\t83\t0.4925\t-1\t6615.3\t35\t0\t545.34\t-1\t-\t\t\t-1\t \t0\t116\t559.76878406336\t1117.52301519352\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t81\t35334.84765625\t0.949368528711517\t-1\t0.0369099999999999\t2\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t67\t14\t81\r\n+BSA_min_23\t84\t0.49762\t-1\t6183.7\t35\t0\t2375.9\t-1\t-\t\t\t-1\t \t0\t125\t972.401410273474\t1942.78826761375\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t81\t19756.91796875\t0.347354270628424\t7\tNaN\t3\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t68\t14\t81\r\n+BSA_min_23\t85\t0.50353\t-1\t3559.8\t35\t0\t122.14\t-1\t-\t\t\t-1\t \t0\t116\t681.999313403946\t2042.97611081204\t3\tMULTI\tCID\tFTMS\t0\t0\t0\t81\t11550.4775390625\t0.629091502669348\t2\t-0.0587916666666667\t4\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t69\t14\t81\r\n+BSA_min_23\t86\t0.50957\t-1\t5114.2\t35\t0\t640.76\t-1\t+\t\t\t1\tLLESEECR\t8\t118\t518.240989833781\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t81\t10271.2001953125\t1\t0\t0\t5\tUnmodified\t_LLESEECR_\tCON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5\t1.63126590808724\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t70\t14\t81\r\n+BSA_min_23\t88\t0.52259\t-1\t44411\t35\t0\t18940\t-1\t-\t\t\t-1\t \t0\t134\t385.207382835291\t384.200106368691\t1\tMULTI\tCID\tFTMS\t0\t0\t0\t87\t5929296.5\t0.739051055541228\t-3\t0.0963616666666667\t1\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t71\t15\t87\r\n+BSA_min_23\t89\t0.52681\t-1\t3749.8\t35\t0\t351.63\t-1\t-\t\t\t-1\t \t0\t100\t597.066144900786\t2980.29434217093\t5\tMULTI\tCID\tFTMS\t0\t0\t0\t87\t19359.11328125\t0.820197080002651\t2\t-0.04811\t2\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t72\t15\t87\r\n+BSA_min_23\t90\t0.53279\t-1\t3364.5\t35\t0\t196.99\t-1\t-\t\t\t-1\t \t0\t128\t731.29825780069\t1460.58196266818\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t87\t10634.3564453125\t0.960368079417471\t-1\t0.0350400000000001\t3\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t73\t15\t87\r\n+BSA_min_23\t92\t0.54611\t-1\t4680.5\t35\t0\t301.84\t-1\t-\t\t\t-1\t \t0\t116\t582.760858227368\t1163.50716352154\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t91\t46220.83984375\t0.762103661377976\t-2\t0.0587916666666667\t1\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t74\t16\t91\r\n+BSA_min_23\t93\t0.55132\t-1\t3773.2\t35\t0\t552.59\t-1\t-\t\t\t-1\t \t0\t106\t635.60201346581\t1903.78421099763\t3\tMULTI\tCID\tFTMS\t0\t0\t0\t91\t24284.580078125\t0.586968526901584\t-2\t0.0587916666666667\t2\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t75\t16\t91\r\n+BSA_min_23\t94\t0.55721\t-1\t4670.5\t35\t0\t438.63\t-1\t-\t\t\t-1\t \t0\t143\t722.292864587666\t1442.57117624213\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t91\t14970.0166015625\t0.470778833500893\t-2\t0.0587916666666667\t3\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t76\t16\t91\r\n+BSA_min_23\t96\t0.57043\t-1\t15235\t35\t0\t3357.3\t-1\t+\t\t\t0\tDSFDIIK\t7\t110\t419.22149602984\t836.428439126479\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t95\t346270.625\t0.704625040984097\t-1\t0.0243583333333334\t1\tUnmodified\t_DSFDIIK_\tCON__ENSEMBL:ENSBTAP00000016046\t0\t1\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t77\t17\t95\r\n+BSA_min_23\t97\t0.57533\t-1\t4806.4\t35\t0\t539.18\t-1\t-\t\t\t-1\t \t0\t129\t722.292864587666\t1442.57117624213\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t95\t26752.708984375\t0.841322322069994\t-1\t0.0243583333333334\t2\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t78\t17\t95\r\n+BSA_min_23\t98\t0.58084\t-1\t3667\t35\t0\t164.63\t-1\t-\t\t\t-1\t \t0\t113\t595.224647156549\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t95\t6964.16259765625\t0.341923515563021\t-1\t0.0243583333333334\t3\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t79\t17\t95\r\n+BSA_min_23\t100\t0.59414\t-1\t44171\t35\t0\t23670\t-1\t-\t\t\t-1\t \t0\t176\t882.846108818038\t1763.67766470288\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t99\t379571.375\t0.768338756470332\t1\tNaN\t1\t \t \t \tNaN\tNaN\tBSA_min_23.mzXML\t\t\tNaN\tNaN\tNaN\t0\t80\t18\t99\r\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/mzRange.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/mzRange.txt Sat Apr 11 11:49:19 2020 -0400
[
b'@@ -0,0 +1,1881 @@\n+Raw file\tm/z\tPeaks / Da\tSingle peaks / Da\tIsotope patterns / Da\tSingle isotope patterns / Da\tSILAC pairs / Da\tIdentified SILAC pairs / Da\tSILAC identification rate [%]\tMS/MS / Da\tIdentified MS/MS / Da\tIdentification rate [%]\r\n+BSA_min_23\t111.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t112.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t113.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t114.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t115.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t116.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t117.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t118.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t119.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t120.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t121.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t122.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t123.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t124.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t125.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t126.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t127.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t128.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t129.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t130.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t131.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t132.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t133.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t134.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t135.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t136.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t137.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t138.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t139.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t140.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t141.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t142.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t143.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t144.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t145.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t146.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t147.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t148.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t149.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t150.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t151.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t152.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t153.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t154.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t155.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t156.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t157.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t158.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t159.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t160.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t161.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t162.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t163.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t164.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t165.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t166.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t167.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t168.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t169.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t170.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t171.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t172.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t173.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t174.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t175.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t176.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t177.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t178.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t179.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t180.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t181.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t182.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t183.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t184.199897766113\t0'..b'\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1913.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1914.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1915.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1916.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1917.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1918.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1919.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1920.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1921.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1922.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1923.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1924.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1925.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1926.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1927.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1928.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1929.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1930.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1931.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1932.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1933.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1934.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1935.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1936.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1937.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1938.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1939.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1940.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1941.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1942.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1943.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1944.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1945.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1946.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1947.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1948.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1949.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1950.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1951.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1952.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1953.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1954.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1955.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1956.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1957.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1958.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1959.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1960.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1961.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1962.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1963.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1964.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1965.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1966.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1967.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1968.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1969.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1970.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1971.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1972.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1973.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1974.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1975.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1976.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1977.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1978.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1979.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1980.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1981.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1982.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1983.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1984.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1985.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1986.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1987.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1988.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1989.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n+BSA_min_23\t1990.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/mzTab.mzTab
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/mzTab.mzTab Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,49 @@
+MTD mzTab-version 1.0.0
+MTD mzTab-mode Complete
+MTD mzTab-type Identification
+MTD title null
+MTD description null
+MTD software[1] [MS, MS:1001583, MaxQuant,1.6.10.43]
+COM [, CHEMMOD:57.0214637236, Carbamidomethyl (C),]
+MTD fixed_mod[1] [, , CHEMMOD:57.0214637236,]
+MTD fixed_mod[1]-site C
+MTD fixed_mod[1]-position Anywhere
+COM [, CHEMMOD:15.9949146221, Oxidation (M),]
+MTD variable_mod[1] [, , CHEMMOD:15.9949146221,]
+MTD variable_mod[1]-site M
+MTD variable_mod[1]-position Anywhere
+MTD protein_search_engine_score[1] [MS, MS:1002375, protein group-level combined FDRscore, ]
+MTD peptide_search_engine_score[1] [MS, MS:1001250, local FDR, ]
+MTD psm_search_engine_score[1] [MS, MS:1002338, Andromeda:score,  ]
+MTD psm_search_engine_score[2] [MS, MS:1002995, Andromeda:PEP,  ]
+MTD ms_run[1]-format [MS, MS:1002996, Andromeda:apl file format, ]
+MTD ms_run[1]-location file://d:/shared/dglaetzer/maxquant_tool/test1/combined/andromeda/allspectra.cid.ftms.secpep.sil0_0.apl
+MTD ms_run[1]-id_format [MS, MS:1000776, scan number only nativeID format, ]
+MTD ms_run[2]-format [MS, MS:1002996, Andromeda:apl file format, ]
+MTD ms_run[2]-location file://d:/shared/dglaetzer/maxquant_tool/test1/combined/andromeda/allspectra.cid.ftms.iso_0.apl
+MTD ms_run[2]-id_format [MS, MS:1000776, scan number only nativeID format, ]
+
+PRH accession description taxid species database database_version search_engine best_search_engine_score[1] search_engine_score[1]_ms_run[1] search_engine_score[1]_ms_run[2] num_psms_ms_run[1] num_psms_ms_run[2] num_peptides_distinct_ms_run[1] num_peptides_distinct_ms_run[2] num_peptides_unique_ms_run[1] num_peptides_unique_ms_run[2] ambiguity_members modifications protein_coverage opt_global_cv_MS:1002217_decoy_peptide 
+PRT CON__P02769 null null null null null [MS, MS:1002337, Andromeda, 1.6.10.43] 6.22453365714539 null null null null null null null null CON__P02769, bsa, CON__P02768-1 null 0.012 0
+PRT CON__ENSEMBL:ENSBTAP00000001528 null null null null null [MS, MS:1002337, Andromeda, 1.6.10.43] 7.46941253488722 null null null null null null null null CON__ENSEMBL:ENSBTAP00000001528 null 0.008 0
+PRT CON__ENSEMBL:ENSBTAP00000016046 null null null null null [MS, MS:1002337, Andromeda, 1.6.10.43] 8.04777465053044 null null null null null null null null CON__ENSEMBL:ENSBTAP00000016046 null 0.01 0
+PRT CON__ENSEMBL:ENSBTAP00000018574 null null null null null [MS, MS:1002337, Andromeda, 1.6.10.43] 7.73737648138078 null null null null null null null null CON__ENSEMBL:ENSBTAP00000018574 null 0.016 0
+PRT CON__P50446 null null null null null [MS, MS:1002337, Andromeda, 1.6.10.43] 6.03764269117454 null null null null null null null null CON__P50446 null 0.025 0
+PRT CON__Q03247 null null null null null [MS, MS:1002337, Andromeda, 1.6.10.43] 5.81086493552667 null null null null null null null null CON__Q03247 null 0.025 0
+PRT CON__Q14CN4-1 null null null null null [MS, MS:1002337, Andromeda, 1.6.10.43] 5.99478997658237 null null null null null null null null CON__Q14CN4-1, CON__Q3SY84, CON__Q9R0H5 null 0.016 0
+
+PSH sequence PSM_ID accession unique database database_version search_engine search_engine_score[1] search_engine_score[2] modifications retention_time charge exp_mass_to_charge calc_mass_to_charge spectra_ref pre post start end opt_global_cv_MS:1000776_scan_number_only_nativeID_format opt_global_cv_MS:1002217_decoy_peptide 
+PSM DSFDIIK 1 CON__ENSEMBL:ENSBTAP00000016046 1 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 0 8.95829478642414E-05 null 0.570428333333333 2 419.22 419.22127 ms_run[2]:index=5 R R 646 652 96 0
+PSM LLESEECR 2 CON__Q14CN4-1 0 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 1.63126590808724 0.0101206876914345 null 0.509571666666667 2 518.24 518.24241 ms_run[2]:index=13 K M 430 437 86 0
+PSM LLESEECR 2 CON__Q3SY84 0 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 1.63126590808724 0.0101206876914345 null 0.509571666666667 2 518.24 518.24241 ms_run[2]:index=13 K M 430 437 86 0
+PSM LLESEECR 2 CON__Q9R0H5 0 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 1.63126590808724 0.0101206876914345 null 0.509571666666667 2 518.24 518.24241 ms_run[2]:index=13 K M 430 437 86 0
+PSM LVTDLTK 3 CON__P02769 0 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 0 0.00596302105559693 null 0.0100133333333333 2 395.24 395.23946 ms_run[2]:index=4 K V 257 263 2 0
+PSM LVTDLTK 3 bsa 0 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 0 0.00596302105559693 null 0.0100133333333333 2 395.24 395.23946 ms_run[2]:index=4 K V 257 263 2 0
+PSM LVTDLTK 3 CON__P02768-1 0 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 0 0.00596302105559693 null 0.0100133333333333 2 395.24 395.23946 ms_run[2]:index=4 K V 257 263 2 0
+PSM QLELEKQLEK 4 CON__ENSEMBL:ENSBTAP00000001528 1 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 0 0.00033930281684504 null 0.304175 2 629.36 629.35608 ms_run[2]:index=31 R Q 408 417 52 0
+PSM QLELEKQLEK 5 CON__ENSEMBL:ENSBTAP00000001528 1 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 0 0.00033930281684504 null 0.487221666666667 2 629.36 629.35608 ms_run[2]:index=30 R Q 408 417 82 0
+PSM QLELEKQLEK 6 CON__ENSEMBL:ENSBTAP00000001528 1 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 0 0.015457350844535 null 0.570428333333333 3 419.91 419.90648 ms_run[1]:index=5 R Q 408 417 96 0
+PSM SLSAIRER 7 CON__Q03247 1 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 0 0.015457350844535 null 0.0965533333333333 2 466.27 466.26962 ms_run[1]:index=2 R F 190 197 17 0
+PSM SQTSHRGYSASSAR 8 CON__P50446 1 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 0 0.00916974606023747 null 0.309418333333333 2 747.86 747.85583 ms_run[2]:index=48 K V 9 22 53 0
+PSM TLGPWGQR 9 CON__ENSEMBL:ENSBTAP00000018574 1 null null [MS, MS:1002338, Andromeda:score, 1.6.10.43] 0 0.000183072671316044 null 0.425933333333333 2 457.75 457.74578 ms_run[2]:index=9 R D 20 27 72 0
+
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/parameters.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/parameters.txt Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,105 @@
+Parameter Value
+Version 1.6.10.43
+User name dglaetzer
+Machine name FPROT-BEAST
+Date of writing 02/25/2020 15:36:33
+Include contaminants True
+PSM FDR 0.01
+PSM FDR Crosslink 0.01
+Protein FDR 0.01
+Site FDR 0.01
+Use Normalized Ratios For Occupancy True
+Min. peptide Length 7
+Min. score for unmodified peptides 0
+Min. score for modified peptides 40
+Min. delta score for unmodified peptides 0
+Min. delta score for modified peptides 6
+Min. unique peptides 0
+Min. razor peptides 1
+Min. peptides 1
+Use only unmodified peptides and True
+Modifications included in protein quantification Oxidation (M);Acetyl (Protein N-term)
+Peptides used for protein quantification Razor
+Discard unmodified counterpart peptides True
+Label min. ratio count 2
+Use delta score False
+iBAQ False
+iBAQ log fit False
+Match between runs False
+Find dependent peptides False
+Fasta file D:\shared\dglaetzer\maxquant_tool\test1\bsa.fasta
+Decoy mode revert
+Include contaminants True
+Advanced ratios True
+Fixed andromeda index folder
+Temporary folder
+Combined folder location
+Second peptides True
+Stabilize large LFQ ratios True
+Separate LFQ in parameter groups False
+Require MS/MS for LFQ comparisons True
+Calculate peak properties False
+Main search max. combinations 200
+Advanced site intensities True
+Write msScans table False
+Write msmsScans table True
+Write ms3Scans table True
+Write allPeptides table True
+Write mzRange table True
+Write pasefMsmsScans table True
+Write accumulatedPasefMsmsScans table True
+Max. peptide mass [Da] 4600
+Min. peptide length for unspecific search 8
+Max. peptide length for unspecific search 25
+Razor protein FDR True
+Disable MD5 False
+Max mods in site table 3
+Match unidentified features False
+Epsilon score for mutations
+Evaluate variant peptides separately True
+Variation mode None
+MS/MS tol. (FTMS) 20 ppm
+Top MS/MS peaks per Da interval. (FTMS) 12
+Da interval. (FTMS) 100
+MS/MS deisotoping (FTMS) True
+MS/MS deisotoping tolerance (FTMS) 7
+MS/MS deisotoping tolerance unit (FTMS) ppm
+MS/MS higher charges (FTMS) True
+MS/MS water loss (FTMS) True
+MS/MS ammonia loss (FTMS) True
+MS/MS dependent losses (FTMS) True
+MS/MS recalibration (FTMS) False
+MS/MS tol. (ITMS) 0.5 Da
+Top MS/MS peaks per Da interval. (ITMS) 8
+Da interval. (ITMS) 100
+MS/MS deisotoping (ITMS) False
+MS/MS deisotoping tolerance (ITMS) 0.15
+MS/MS deisotoping tolerance unit (ITMS) Da
+MS/MS higher charges (ITMS) True
+MS/MS water loss (ITMS) True
+MS/MS ammonia loss (ITMS) True
+MS/MS dependent losses (ITMS) True
+MS/MS recalibration (ITMS) False
+MS/MS tol. (TOF) 40 ppm
+Top MS/MS peaks per Da interval. (TOF) 10
+Da interval. (TOF) 100
+MS/MS deisotoping (TOF) True
+MS/MS deisotoping tolerance (TOF) 0.01
+MS/MS deisotoping tolerance unit (TOF) Da
+MS/MS higher charges (TOF) True
+MS/MS water loss (TOF) True
+MS/MS ammonia loss (TOF) True
+MS/MS dependent losses (TOF) True
+MS/MS recalibration (TOF) False
+MS/MS tol. (Unknown) 20 ppm
+Top MS/MS peaks per Da interval. (Unknown) 12
+Da interval. (Unknown) 100
+MS/MS deisotoping (Unknown) True
+MS/MS deisotoping tolerance (Unknown) 7
+MS/MS deisotoping tolerance unit (Unknown) ppm
+MS/MS higher charges (Unknown) True
+MS/MS water loss (Unknown) True
+MS/MS ammonia loss (Unknown) True
+MS/MS dependent losses (Unknown) True
+MS/MS recalibration (Unknown) False
+Site tables Oxidation (M)Sites.txt
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/peptideSection.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/peptideSection.txt Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,8 @@
+PEH sequence accession unique database database_version search_engine best_search_engine_score[1] search_engine_score[1]_ms_run[0] modifications retention_time retention_time_window charge mass_to_charge spectra_ref peptide_abundance_study_variable[0] peptide_abundance_stdev_study_variable[0] peptide_abundance_std_error_study_variable[0]
+PEP DSFDIIK null
+PEP LLESEECR null
+PEP LVTDLTK null
+PEP QLELEKQLEK null
+PEP SLSAIRER null
+PEP SQTSHRGYSASSAR null
+PEP TLGPWGQR null
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/peptides.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/peptides.txt Sat Apr 11 11:49:19 2020 -0400
b
@@ -0,0 +1,8 @@
+Sequence N-term cleavage window C-term cleavage window Amino acid before First amino acid Second amino acid Second last amino acid Last amino acid Amino acid after A Count R Count N Count D Count C Count Q Count E Count G Count H Count I Count L Count K Count M Count F Count P Count S Count T Count W Count Y Count V Count U Count O Count Length Missed cleavages Mass Proteins Leading razor protein Start position End position Unique (Groups) Unique (Proteins) Charges PEP Score Experiment BSA_min_23.mzXML Intensity Intensity BSA_min_23.mzXML Reverse Potential contaminant id Protein group IDs Mod. peptide IDs Evidence IDs MS/MS IDs Best MS/MS Oxidation (M) site IDs MS/MS Count
+DSFDIIK NHADIIFDITDGNLRDSFDIIKRYMDGMTV DITDGNLRDSFDIIKRYMDGMTVGVVRQVR R D S I K R 0 0 0 2 0 0 0 0 0 2 0 1 0 1 0 1 0 0 0 0 0 0 7 0 836.42798 CON__ENSEMBL:ENSBTAP00000016046 CON__ENSEMBL:ENSBTAP00000016046 646 652 yes yes 2 8.9583E-05 0 1 768320 768320 + 0 2 0 0 0 0 1
+LLESEECR SLKLALDMEIATYRKLLESEECRMSGEYPN EIATYRKLLESEECRMSGEYPNSVSISVIS K L L C R M 0 1 0 0 1 0 3 0 0 0 2 0 0 0 0 1 0 0 0 0 0 0 8 0 1034.4703 CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 CON__Q14CN4-1 430 437 yes no 2 0.010121 1.6313 1 0 0 + 1 6 1 1 1 1 1
+LVTDLTK LSQKFPKAEFVEVTKLVTDLTKVHKECCHG AEFVEVTKLVTDLTKVHKECCHGDLLECAD K L V T K V 0 0 0 1 0 0 0 0 0 0 2 1 0 0 0 0 2 0 0 1 0 0 7 0 788.46437 CON__P02769;bsa;CON__P02768-1 CON__P02769 257 263 yes no 2 0.005963 0 1 0 0 + 2 0 2 2 2 2 1
+QLELEKQLEK QERKERERQEQERKRQLELEKQLEKQRELE QERKRQLELEKQLEKQRELERQREEERRKE R Q L E K Q 0 0 0 0 0 2 3 0 0 0 3 2 0 0 0 0 0 0 0 0 0 0 10 1 1256.6976 CON__ENSEMBL:ENSBTAP00000001528 CON__ENSEMBL:ENSBTAP00000001528 408 417 yes yes 2;3 0.0003393 0 2 142430 142430 + 3 1 3 3;4 3;4;5 3 2
+SLSAIRER RLAVYQAGASEGAERSLSAIRERFGPLVEQ ASEGAERSLSAIRERFGPLVEQGQSRAATL R S L E R F 1 2 0 0 0 0 1 0 0 1 1 0 0 0 0 2 0 0 0 0 0 0 8 1 930.52468 CON__Q03247 CON__Q03247 190 197 yes yes 2 0.015457 0 1 33499 33499 + 4 5 4 5 6 6 0
+SQTSHRGYSASSAR ______________________________ KSQTSHRGYSASSARVPGLNRSGFSSVSVC K S Q A R V 2 2 0 0 0 1 0 1 1 0 0 0 0 0 0 5 1 0 1 0 0 0 14 1 1493.6971 CON__P50446 CON__P50446 9 22 yes yes 2 0.0091697 0 1 59701 59701 + 5 4 5 6 7 7 1
+TLGPWGQR LRPLLLALLLASACRTLGPWGQRDDGGGEP LLASACRTLGPWGQRDDGGGEPESMEPRWG R T L Q R D 0 1 0 0 0 1 0 2 0 0 1 0 0 0 1 0 1 1 0 0 0 0 8 0 913.477 CON__ENSEMBL:ENSBTAP00000018574 CON__ENSEMBL:ENSBTAP00000018574 20 27 yes yes 2 0.00018307 0 1 61894 61894 + 6 3 6 7 8 8 1
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/proteinGroups.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/proteinGroups.txt Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,8 @@
+Protein IDs Majority protein IDs Peptide counts (all) Peptide counts (razor+unique) Peptide counts (unique) Fasta headers Number of proteins Peptides Razor + unique peptides Unique peptides Peptides BSA_min_23.mzXML Razor + unique peptides BSA_min_23.mzXML Unique peptides BSA_min_23.mzXML Sequence coverage [%] Unique + razor sequence coverage [%] Unique sequence coverage [%] Mol. weight [kDa] Sequence length Sequence lengths Q-value Score Sequence coverage BSA_min_23.mzXML [%] Intensity Intensity BSA_min_23.mzXML MS/MS count Only identified by site Reverse Potential contaminant id Peptide IDs Peptide is razor Mod. peptide IDs Evidence IDs MS/MS IDs Best MS/MS Oxidation (M) site IDs Oxidation (M) site positions
+CON__P02769;bsa;CON__P02768-1 CON__P02769;bsa;CON__P02768-1 1;1;1 1;1;1 1;1;1 ;bsa sp|P02769|ALBU_BOVIN Serum albumin OS=Bos taurus OX=9913 GN=ALB PE=1 SV=4; 3 1 1 1 1 1 1 1.2 1.2 1.2 69.293 607 607;607;609 0 6.2245 1.2 0 0 1 + 0 2 True 2 2 2 2
+CON__ENSEMBL:ENSBTAP00000001528 CON__ENSEMBL:ENSBTAP00000001528 1 1 1 1 1 1 1 1 1 1 0.8 0.8 0.8 137.98 1222 1222 0 7.4694 0.8 142430 142430 2 + 1 3 True 3 3;4 3;4;5 3
+CON__ENSEMBL:ENSBTAP00000016046 CON__ENSEMBL:ENSBTAP00000016046 1 1 1 1 1 1 1 1 1 1 1 1 1 77.456 706 706 0 8.0478 1 768320 768320 1 + 2 0 True 0 0 0 0
+CON__ENSEMBL:ENSBTAP00000018574 CON__ENSEMBL:ENSBTAP00000018574 1 1 1 1 1 1 1 1 1 1 1.6 1.6 1.6 55.207 496 496 0 7.7374 1.6 61894 61894 1 + 3 6 True 6 7 8 8
+CON__P50446 CON__P50446 1 1 1 1 1 1 1 1 1 1 2.5 2.5 2.5 59.334 553 553 0 6.0376 2.5 59701 59701 1 + 4 5 True 5 6 7 7
+CON__Q03247 CON__Q03247 1 1 1 1 1 1 1 1 1 1 2.5 2.5 2.5 35.979 316 316 0 5.8109 2.5 33499 33499 0 + 5 4 True 4 5 6 6
+CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 1;1;1 1;1;1 1;1;1 ;; 3 1 1 1 1 1 1 1.6 1.6 1.6 55.877 511 511;523;524 0 5.9948 1.6 0 0 1 + 6 1 True 1 1 1 1
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/combined/txt/summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/combined/txt/summary.txt Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,3 @@
+Raw file Experiment Enzyme Enzyme mode Enzyme first search Enzyme mode first search Use enzyme first search Variable modifications Fixed modifications Multi modifications Variable modifications first search Use variable modifications first search Requantify Multiplicity Max. missed cleavages Labels0 LC-MS run type Time-dependent recalibration MS MS/MS MS3 MS/MS Submitted MS/MS Submitted (SIL) MS/MS Submitted (ISO) MS/MS Submitted (PEAK) MS/MS Identified MS/MS Identified (SIL) MS/MS Identified (ISO) MS/MS Identified (PEAK) MS/MS Identified [%] MS/MS Identified (SIL) [%] MS/MS Identified (ISO) [%] MS/MS Identified (PEAK) [%] Peptide Sequences Identified Peaks Peaks Sequenced Peaks Sequenced [%] Peaks Repeatedly Sequenced Peaks Repeatedly Sequenced [%] Isotope Patterns Isotope Patterns Sequenced Isotope Patterns Sequenced (z>1) Isotope Patterns Sequenced [%] Isotope Patterns Sequenced (z>1) [%] Isotope Patterns Repeatedly Sequenced Isotope Patterns Repeatedly Sequenced [%] Recalibrated Av. Absolute Mass Deviation [ppm] Mass Standard Deviation [ppm] Av. Absolute Mass Deviation [mDa] Mass Standard Deviation [mDa]
+BSA_min_23 BSA_min_23.mzXML Trypsin/P Specific False Oxidation (M) Carbamidomethyl (C) False False 1 1 Standard 19 81 0 111 51 0 60 7 5 0 2 6.3 9.8 0 3.3 7 1200 57 4.8 4 7 166 39 35 23 27 10 26 + 0.48635 0.52208 0.27503 0.30402
+Total 19 81 0 111 51 0 60 7 5 0 2 6.3 9.8 0 3.3 7 1200 166 39 35 23 27 10 26 0.48635 0.52208 0.27503 0.30402
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/config.yml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/config.yml Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,22 @@
+
+            fastaFiles: [/tmp/tmpQsmPD9/files/7/b/e/dataset_7be42b54-5eac-4f1d-a6bb-0b85e8f1bd67.dat]
+            parseRules:
+              identifierParseRule: '>([^\s]*)'
+              descriptionParseRule: '>(.*)'
+            minUniquePeptides: 0
+            minPepLen: 7
+            maxPeptideMass: 4600
+            calcPeakProperties: False
+            writeMzTab: True
+            separateLfq: False
+            lfqStabilizeLargeRatios: True
+            lfqRequireMsms: True
+            advancedSiteIntensities: True
+            matchBetweenRuns: False
+            paramGroups:
+              - files: ['BSA_min_23.mzXML']
+                maxMissedCleavages: 1
+                fixedModifications: [Carbamidomethyl (C)]
+                variableModifications: [Oxidation (M)]
+                enzymes: [Trypsin/P]
+        
\ No newline at end of file
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/01/mqpar.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/01/mqpar.xml Sat Apr 11 11:49:19 2020 -0400
[
b'@@ -0,0 +1,451 @@\n+<?xml version="1.0" ?>\n+<MaxQuantParams>\n+\t<fastaFiles>\n+\t\t<FastaFileInfo>\n+\t\t\t<fastaFilePath>D:\\shared\\dglaetzer\\maxquant_tool\\test1\\bsa.fasta</fastaFilePath>\n+\t\t\t<identifierParseRule>&gt;([^\\s]*)</identifierParseRule>\n+\t\t\t<descriptionParseRule>&gt;(.*)</descriptionParseRule>\n+\t\t\t<taxonomyParseRule/>\n+\t\t\t<variationParseRule/>\n+\t\t\t<modificationParseRule/>\n+\t\t\t<taxonomyId/>\n+\t\t</FastaFileInfo>\n+\t</fastaFiles>\n+\t<fastaFilesProteogenomics>\n+   </fastaFilesProteogenomics>\n+\t<fastaFilesFirstSearch>\n+   </fastaFilesFirstSearch>\n+\t<fixedSearchFolder/>\n+\t<andromedaCacheSize>350000</andromedaCacheSize>\n+\t<advancedRatios>True</advancedRatios>\n+\t<pvalThres>0.005</pvalThres>\n+\t<neucodeRatioBasedQuantification>False</neucodeRatioBasedQuantification>\n+\t<neucodeStabilizeLargeRatios>False</neucodeStabilizeLargeRatios>\n+\t<rtShift>False</rtShift>\n+\t<separateLfq>False</separateLfq>\n+\t<lfqStabilizeLargeRatios>True</lfqStabilizeLargeRatios>\n+\t<lfqRequireMsms>True</lfqRequireMsms>\n+\t<decoyMode>revert</decoyMode>\n+\t<boxCarMode>all</boxCarMode>\n+\t<includeContaminants>True</includeContaminants>\n+\t<maxPeptideMass>4600</maxPeptideMass>\n+\t<epsilonMutationScore>True</epsilonMutationScore>\n+\t<mutatedPeptidesSeparately>True</mutatedPeptidesSeparately>\n+\t<proteogenomicPeptidesSeparately>True</proteogenomicPeptidesSeparately>\n+\t<minDeltaScoreUnmodifiedPeptides>0</minDeltaScoreUnmodifiedPeptides>\n+\t<minDeltaScoreModifiedPeptides>6</minDeltaScoreModifiedPeptides>\n+\t<minScoreUnmodifiedPeptides>0</minScoreUnmodifiedPeptides>\n+\t<minScoreModifiedPeptides>40</minScoreModifiedPeptides>\n+\t<secondPeptide>True</secondPeptide>\n+\t<matchBetweenRuns>False</matchBetweenRuns>\n+\t<matchUnidentifiedFeatures>False</matchUnidentifiedFeatures>\n+\t<matchBetweenRunsFdr>False</matchBetweenRunsFdr>\n+\t<dependentPeptides>False</dependentPeptides>\n+\t<dependentPeptideFdr>0</dependentPeptideFdr>\n+\t<dependentPeptideMassBin>0</dependentPeptideMassBin>\n+\t<dependentPeptidesBetweenRuns>False</dependentPeptidesBetweenRuns>\n+\t<dependentPeptidesWithinExperiment>False</dependentPeptidesWithinExperiment>\n+\t<dependentPeptidesWithinParameterGroup>False</dependentPeptidesWithinParameterGroup>\n+\t<dependentPeptidesRestrictFractions>False</dependentPeptidesRestrictFractions>\n+\t<dependentPeptidesFractionDifference>0</dependentPeptidesFractionDifference>\n+\t<msmsConnection>False</msmsConnection>\n+\t<ibaq>False</ibaq>\n+\t<top3>False</top3>\n+\t<independentEnzymes>False</independentEnzymes>\n+\t<useDeltaScore>False</useDeltaScore>\n+\t<splitProteinGroupsByTaxonomy>False</splitProteinGroupsByTaxonomy>\n+\t<taxonomyLevel>Species</taxonomyLevel>\n+\t<avalon>False</avalon>\n+\t<nModColumns>3</nModColumns>\n+\t<ibaqLogFit>False</ibaqLogFit>\n+\t<razorProteinFdr>True</razorProteinFdr>\n+\t<deNovoSequencing>False</deNovoSequencing>\n+\t<deNovoVarMods>True</deNovoVarMods>\n+\t<massDifferenceSearch>False</massDifferenceSearch>\n+\t<isotopeCalc>False</isotopeCalc>\n+\t<writePeptidesForSpectrumFile/>\n+\t<intensityPredictionsFile>\n+   </intensityPredictionsFile>\n+\t<minPepLen>7</minPepLen>\n+\t<psmFdrCrosslink>0.01</psmFdrCrosslink>\n+\t<peptideFdr>0.01</peptideFdr>\n+\t<proteinFdr>0.01</proteinFdr>\n+\t<siteFdr>0.01</siteFdr>\n+\t<minPeptideLengthForUnspecificSearch>8</minPeptideLengthForUnspecificSearch>\n+\t<maxPeptideLengthForUnspecificSearch>25</maxPeptideLengthForUnspecificSearch>\n+\t<useNormRatiosForOccupancy>True</useNormRatiosForOccupancy>\n+\t<minPeptides>1</minPeptides>\n+\t<minRazorPeptides>1</minRazorPeptides>\n+\t<minUniquePeptides>0</minUniquePeptides>\n+\t<useCounterparts>False</useCounterparts>\n+\t<advancedSiteIntensities>True</advancedSiteIntensities>\n+\t<customProteinQuantification>False</customProteinQuantification>\n+\t<customProteinQuantificationFile/>\n+\t<minRatioCount>2</minRatioCount>\n+\t<restrictProteinQuantification>True</restrictProteinQuantification>\n+\t<restrictMods>\n+\t\t<string>Oxidation (M)</string>\n+\t\t<string>Acetyl (Protein N-term)</string>\n+\t</restrictMods>\n+\t<matchingTimeWindow>0</matchingTimeWindow>\n+\t<matchingIonMobilityWind'..b'<IncludeWater>True</IncludeWater>\n+\t\t\t<IncludeAmmonia>True</IncludeAmmonia>\n+\t\t\t<DependentLosses>True</DependentLosses>\n+\t\t\t<Recalibration>False</Recalibration>\n+\t\t</msmsParams>\n+\t\t<msmsParams>\n+\t\t\t<Name>Unknown</Name>\n+\t\t\t<MatchTolerance>20</MatchTolerance>\n+\t\t\t<MatchToleranceInPpm>True</MatchToleranceInPpm>\n+\t\t\t<DeisotopeTolerance>7</DeisotopeTolerance>\n+\t\t\t<DeisotopeToleranceInPpm>True</DeisotopeToleranceInPpm>\n+\t\t\t<DeNovoTolerance>10</DeNovoTolerance>\n+\t\t\t<DeNovoToleranceInPpm>True</DeNovoToleranceInPpm>\n+\t\t\t<Deisotope>True</Deisotope>\n+\t\t\t<Topx>12</Topx>\n+\t\t\t<TopxInterval>100</TopxInterval>\n+\t\t\t<HigherCharges>True</HigherCharges>\n+\t\t\t<IncludeWater>True</IncludeWater>\n+\t\t\t<IncludeAmmonia>True</IncludeAmmonia>\n+\t\t\t<DependentLosses>True</DependentLosses>\n+\t\t\t<Recalibration>False</Recalibration>\n+\t\t</msmsParams>\n+\t</msmsParamsArray>\n+\t<fragmentationParamsArray>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>CID</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>HCD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>PQD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETHCD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETCID</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>UVPD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>Unknown</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t</fragmentationParamsArray>\n+</MaxQuantParams>\n+\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/02/config.yml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/02/config.yml Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,45 @@
+
+            fastaFiles: [/tmp/tmpQsmPD9/files/7/b/e/dataset_7be42b54-5eac-4f1d-a6bb-0b85e8f1bd67.dat]
+            parseRules:
+              identifierParseRule: '>([^\s]*)'
+              descriptionParseRule: '>(.*)'
+            minUniquePeptides: 0
+            minPepLen: 7
+            maxPeptideMass: 4600
+            calcPeakProperties: False
+            writeMzTab: True
+            separateLfq: False
+            lfqStabilizeLargeRatios: True
+            lfqRequireMsms: True
+            advancedSiteIntensities: True
+            matchBetweenRuns: False
+            paramGroups:
+              - files: ['BSA_min_23.mzXML']
+                maxMissedCleavages: 2
+                fixedModifications: []
+                variableModifications: [Oxidation (M)]
+                enzymes: [Trypsin/P]
+                lcmsRunType: 'Reporter ion MS2'
+                reporterMassTolerance: 0.003
+                reporterPif: 0
+                reporterFraction: 0
+                reporterBasePeakRatio: 0
+                isobaricLabels:
+                      - ['TMT2plex-Lys126','TMT2plex-Nter126',0.0,0.0,6.7,3.0,True]
+                      - ['TMT2plex-Lys127','TMT2plex-Nter127',0.0,0.0,0.0,0.0,True]
+              - files: ['BSA_min_22.mzxml']
+                maxMissedCleavages: 2
+                fixedModifications: []
+                variableModifications: []
+                enzymes: []
+                lcmsRunType: 'Reporter ion MS2'
+                reporterMassTolerance: 0.003
+                reporterPif: 0
+                reporterFraction: 0
+                reporterBasePeakRatio: 0
+                isobaricLabels:
+                    - [iTRAQ4plex-Lys114,iTRAQ4plex-Nter114,0,0,0,0,False]
+                    - [iTRAQ4plex-Lys115,iTRAQ4plex-Nter115,0,0,0,0,False]
+                    - [iTRAQ4plex-Lys116,iTRAQ4plex-Nter116,0,0,0,0,False]
+                    - [iTRAQ4plex-Lys117,iTRAQ4plex-Nter117,0,0,0,0,False]
+        
\ No newline at end of file
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/02/mqpar.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/02/mqpar.xml Sat Apr 11 11:49:19 2020 -0400
[
b'@@ -0,0 +1,649 @@\n+<?xml version="1.0" ?>\n+<MaxQuantParams>\n+\t<fastaFiles>\n+\t\t<FastaFileInfo>\n+\t\t\t<fastaFilePath>D:\\shared\\dglaetzer\\maxquant_tool\\test1\\bsa.fasta</fastaFilePath>\n+\t\t\t<identifierParseRule>&gt;([^\\s]*)</identifierParseRule>\n+\t\t\t<descriptionParseRule>&gt;(.*)</descriptionParseRule>\n+\t\t\t<taxonomyParseRule/>\n+\t\t\t<variationParseRule/>\n+\t\t\t<modificationParseRule/>\n+\t\t\t<taxonomyId/>\n+\t\t</FastaFileInfo>\n+\t</fastaFiles>\n+\t<fastaFilesProteogenomics>\n+   </fastaFilesProteogenomics>\n+\t<fastaFilesFirstSearch>\n+   </fastaFilesFirstSearch>\n+\t<fixedSearchFolder/>\n+\t<andromedaCacheSize>350000</andromedaCacheSize>\n+\t<advancedRatios>True</advancedRatios>\n+\t<pvalThres>0.005</pvalThres>\n+\t<neucodeRatioBasedQuantification>False</neucodeRatioBasedQuantification>\n+\t<neucodeStabilizeLargeRatios>False</neucodeStabilizeLargeRatios>\n+\t<rtShift>False</rtShift>\n+\t<separateLfq>False</separateLfq>\n+\t<lfqStabilizeLargeRatios>True</lfqStabilizeLargeRatios>\n+\t<lfqRequireMsms>True</lfqRequireMsms>\n+\t<decoyMode>revert</decoyMode>\n+\t<boxCarMode>all</boxCarMode>\n+\t<includeContaminants>True</includeContaminants>\n+\t<maxPeptideMass>4600</maxPeptideMass>\n+\t<epsilonMutationScore>True</epsilonMutationScore>\n+\t<mutatedPeptidesSeparately>True</mutatedPeptidesSeparately>\n+\t<proteogenomicPeptidesSeparately>True</proteogenomicPeptidesSeparately>\n+\t<minDeltaScoreUnmodifiedPeptides>0</minDeltaScoreUnmodifiedPeptides>\n+\t<minDeltaScoreModifiedPeptides>6</minDeltaScoreModifiedPeptides>\n+\t<minScoreUnmodifiedPeptides>0</minScoreUnmodifiedPeptides>\n+\t<minScoreModifiedPeptides>40</minScoreModifiedPeptides>\n+\t<secondPeptide>True</secondPeptide>\n+\t<matchBetweenRuns>False</matchBetweenRuns>\n+\t<matchUnidentifiedFeatures>False</matchUnidentifiedFeatures>\n+\t<matchBetweenRunsFdr>False</matchBetweenRunsFdr>\n+\t<dependentPeptides>False</dependentPeptides>\n+\t<dependentPeptideFdr>0</dependentPeptideFdr>\n+\t<dependentPeptideMassBin>0</dependentPeptideMassBin>\n+\t<dependentPeptidesBetweenRuns>False</dependentPeptidesBetweenRuns>\n+\t<dependentPeptidesWithinExperiment>False</dependentPeptidesWithinExperiment>\n+\t<dependentPeptidesWithinParameterGroup>False</dependentPeptidesWithinParameterGroup>\n+\t<dependentPeptidesRestrictFractions>False</dependentPeptidesRestrictFractions>\n+\t<dependentPeptidesFractionDifference>0</dependentPeptidesFractionDifference>\n+\t<msmsConnection>False</msmsConnection>\n+\t<ibaq>False</ibaq>\n+\t<top3>False</top3>\n+\t<independentEnzymes>False</independentEnzymes>\n+\t<useDeltaScore>False</useDeltaScore>\n+\t<splitProteinGroupsByTaxonomy>False</splitProteinGroupsByTaxonomy>\n+\t<taxonomyLevel>Species</taxonomyLevel>\n+\t<avalon>False</avalon>\n+\t<nModColumns>3</nModColumns>\n+\t<ibaqLogFit>False</ibaqLogFit>\n+\t<razorProteinFdr>True</razorProteinFdr>\n+\t<deNovoSequencing>False</deNovoSequencing>\n+\t<deNovoVarMods>True</deNovoVarMods>\n+\t<massDifferenceSearch>False</massDifferenceSearch>\n+\t<isotopeCalc>False</isotopeCalc>\n+\t<writePeptidesForSpectrumFile/>\n+\t<intensityPredictionsFile>\n+   </intensityPredictionsFile>\n+\t<minPepLen>7</minPepLen>\n+\t<psmFdrCrosslink>0.01</psmFdrCrosslink>\n+\t<peptideFdr>0.01</peptideFdr>\n+\t<proteinFdr>0.01</proteinFdr>\n+\t<siteFdr>0.01</siteFdr>\n+\t<minPeptideLengthForUnspecificSearch>8</minPeptideLengthForUnspecificSearch>\n+\t<maxPeptideLengthForUnspecificSearch>25</maxPeptideLengthForUnspecificSearch>\n+\t<useNormRatiosForOccupancy>True</useNormRatiosForOccupancy>\n+\t<minPeptides>1</minPeptides>\n+\t<minRazorPeptides>1</minRazorPeptides>\n+\t<minUniquePeptides>0</minUniquePeptides>\n+\t<useCounterparts>False</useCounterparts>\n+\t<advancedSiteIntensities>True</advancedSiteIntensities>\n+\t<customProteinQuantification>False</customProteinQuantification>\n+\t<customProteinQuantificationFile/>\n+\t<minRatioCount>2</minRatioCount>\n+\t<restrictProteinQuantification>True</restrictProteinQuantification>\n+\t<restrictMods>\n+\t\t<string>Oxidation (M)</string>\n+\t\t<string>Acetyl (Protein N-term)</string>\n+\t</restrictMods>\n+\t<matchingTimeWindow>0</matchingTimeWindow>\n+\t<matchingIonMobilityWind'..b'<IncludeWater>True</IncludeWater>\n+\t\t\t<IncludeAmmonia>True</IncludeAmmonia>\n+\t\t\t<DependentLosses>True</DependentLosses>\n+\t\t\t<Recalibration>False</Recalibration>\n+\t\t</msmsParams>\n+\t\t<msmsParams>\n+\t\t\t<Name>Unknown</Name>\n+\t\t\t<MatchTolerance>20</MatchTolerance>\n+\t\t\t<MatchToleranceInPpm>True</MatchToleranceInPpm>\n+\t\t\t<DeisotopeTolerance>7</DeisotopeTolerance>\n+\t\t\t<DeisotopeToleranceInPpm>True</DeisotopeToleranceInPpm>\n+\t\t\t<DeNovoTolerance>10</DeNovoTolerance>\n+\t\t\t<DeNovoToleranceInPpm>True</DeNovoToleranceInPpm>\n+\t\t\t<Deisotope>True</Deisotope>\n+\t\t\t<Topx>12</Topx>\n+\t\t\t<TopxInterval>100</TopxInterval>\n+\t\t\t<HigherCharges>True</HigherCharges>\n+\t\t\t<IncludeWater>True</IncludeWater>\n+\t\t\t<IncludeAmmonia>True</IncludeAmmonia>\n+\t\t\t<DependentLosses>True</DependentLosses>\n+\t\t\t<Recalibration>False</Recalibration>\n+\t\t</msmsParams>\n+\t</msmsParamsArray>\n+\t<fragmentationParamsArray>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>CID</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>HCD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>PQD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETHCD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETCID</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>UVPD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>Unknown</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t</fragmentationParamsArray>\n+</MaxQuantParams>\n+\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/03/config.yml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/03/config.yml Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,29 @@
+
+            fastaFiles: [/tmp/tmpQsmPD9/files/7/b/e/dataset_7be42b54-5eac-4f1d-a6bb-0b85e8f1bd67.dat]
+            parseRules:
+              identifierParseRule: '^>.*\|(.*)\|.*$'
+              descriptionParseRule: '^>.*\|.*\|[^ ]+ (.*) OS.*$'
+            minUniquePeptides: 1
+            minPepLen: 7
+            maxPeptideMass: 4600
+            calcPeakProperties: False
+            writeMzTab: False
+            ibaq: True
+            ibaqLogFit: False
+            separateLfq: False
+            lfqStabilizeLargeRatios: True
+            lfqRequireMsms: True
+            advancedSiteIntensities: True
+            matchBetweenRuns: False
+            paramGroups:
+              - files: ['BSA_min_22.mzxml']
+                maxMissedCleavages: 1
+                fixedModifications: [Carbamidomethyl (C)]
+                variableModifications: [Oxidation (M)]
+                enzymes: [Trypsin/P]
+                lfqMode: 1
+                lfqSkipNorm: True
+                lfqMinEdgesPerNode: 3
+                lfqAvEdgesPerNode: 6
+                lfqMinRatioCount: 2
+        
\ No newline at end of file
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/03/mqpar.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/03/mqpar.xml Sat Apr 11 11:49:19 2020 -0400
[
b'@@ -0,0 +1,451 @@\n+<?xml version="1.0" ?>\n+<MaxQuantParams>\n+\t<fastaFiles>\n+\t\t<FastaFileInfo>\n+\t\t\t<fastaFilePath>D:\\shared\\dglaetzer\\maxquant_tool\\test1\\bsa.fasta</fastaFilePath>\n+\t\t\t<identifierParseRule>^&gt;.*\\|(.*)\\|.*$</identifierParseRule>\n+\t\t\t<descriptionParseRule>^&gt;.*\\|.*\\|[^ ]+ (.*) OS.*$</descriptionParseRule>\n+\t\t\t<taxonomyParseRule/>\n+\t\t\t<variationParseRule/>\n+\t\t\t<modificationParseRule/>\n+\t\t\t<taxonomyId/>\n+\t\t</FastaFileInfo>\n+\t</fastaFiles>\n+\t<fastaFilesProteogenomics>\n+   </fastaFilesProteogenomics>\n+\t<fastaFilesFirstSearch>\n+   </fastaFilesFirstSearch>\n+\t<fixedSearchFolder/>\n+\t<andromedaCacheSize>350000</andromedaCacheSize>\n+\t<advancedRatios>True</advancedRatios>\n+\t<pvalThres>0.005</pvalThres>\n+\t<neucodeRatioBasedQuantification>False</neucodeRatioBasedQuantification>\n+\t<neucodeStabilizeLargeRatios>False</neucodeStabilizeLargeRatios>\n+\t<rtShift>False</rtShift>\n+\t<separateLfq>False</separateLfq>\n+\t<lfqStabilizeLargeRatios>True</lfqStabilizeLargeRatios>\n+\t<lfqRequireMsms>True</lfqRequireMsms>\n+\t<decoyMode>revert</decoyMode>\n+\t<boxCarMode>all</boxCarMode>\n+\t<includeContaminants>True</includeContaminants>\n+\t<maxPeptideMass>4600</maxPeptideMass>\n+\t<epsilonMutationScore>True</epsilonMutationScore>\n+\t<mutatedPeptidesSeparately>True</mutatedPeptidesSeparately>\n+\t<proteogenomicPeptidesSeparately>True</proteogenomicPeptidesSeparately>\n+\t<minDeltaScoreUnmodifiedPeptides>0</minDeltaScoreUnmodifiedPeptides>\n+\t<minDeltaScoreModifiedPeptides>6</minDeltaScoreModifiedPeptides>\n+\t<minScoreUnmodifiedPeptides>0</minScoreUnmodifiedPeptides>\n+\t<minScoreModifiedPeptides>40</minScoreModifiedPeptides>\n+\t<secondPeptide>True</secondPeptide>\n+\t<matchBetweenRuns>False</matchBetweenRuns>\n+\t<matchUnidentifiedFeatures>False</matchUnidentifiedFeatures>\n+\t<matchBetweenRunsFdr>False</matchBetweenRunsFdr>\n+\t<dependentPeptides>False</dependentPeptides>\n+\t<dependentPeptideFdr>0</dependentPeptideFdr>\n+\t<dependentPeptideMassBin>0</dependentPeptideMassBin>\n+\t<dependentPeptidesBetweenRuns>False</dependentPeptidesBetweenRuns>\n+\t<dependentPeptidesWithinExperiment>False</dependentPeptidesWithinExperiment>\n+\t<dependentPeptidesWithinParameterGroup>False</dependentPeptidesWithinParameterGroup>\n+\t<dependentPeptidesRestrictFractions>False</dependentPeptidesRestrictFractions>\n+\t<dependentPeptidesFractionDifference>0</dependentPeptidesFractionDifference>\n+\t<msmsConnection>False</msmsConnection>\n+\t<ibaq>True</ibaq>\n+\t<top3>False</top3>\n+\t<independentEnzymes>False</independentEnzymes>\n+\t<useDeltaScore>False</useDeltaScore>\n+\t<splitProteinGroupsByTaxonomy>False</splitProteinGroupsByTaxonomy>\n+\t<taxonomyLevel>Species</taxonomyLevel>\n+\t<avalon>False</avalon>\n+\t<nModColumns>3</nModColumns>\n+\t<ibaqLogFit>False</ibaqLogFit>\n+\t<razorProteinFdr>True</razorProteinFdr>\n+\t<deNovoSequencing>False</deNovoSequencing>\n+\t<deNovoVarMods>True</deNovoVarMods>\n+\t<massDifferenceSearch>False</massDifferenceSearch>\n+\t<isotopeCalc>False</isotopeCalc>\n+\t<writePeptidesForSpectrumFile/>\n+\t<intensityPredictionsFile>\n+   </intensityPredictionsFile>\n+\t<minPepLen>7</minPepLen>\n+\t<psmFdrCrosslink>0.01</psmFdrCrosslink>\n+\t<peptideFdr>0.01</peptideFdr>\n+\t<proteinFdr>0.01</proteinFdr>\n+\t<siteFdr>0.01</siteFdr>\n+\t<minPeptideLengthForUnspecificSearch>8</minPeptideLengthForUnspecificSearch>\n+\t<maxPeptideLengthForUnspecificSearch>25</maxPeptideLengthForUnspecificSearch>\n+\t<useNormRatiosForOccupancy>True</useNormRatiosForOccupancy>\n+\t<minPeptides>1</minPeptides>\n+\t<minRazorPeptides>1</minRazorPeptides>\n+\t<minUniquePeptides>1</minUniquePeptides>\n+\t<useCounterparts>False</useCounterparts>\n+\t<advancedSiteIntensities>True</advancedSiteIntensities>\n+\t<customProteinQuantification>False</customProteinQuantification>\n+\t<customProteinQuantificationFile/>\n+\t<minRatioCount>2</minRatioCount>\n+\t<restrictProteinQuantification>True</restrictProteinQuantification>\n+\t<restrictMods>\n+\t\t<string>Oxidation (M)</string>\n+\t\t<string>Acetyl (Protein N-term)</string>\n+\t</restrictMods>\n+\t<matchingTimeWindow>0</matchingTimeWindow>\n'..b'<IncludeWater>True</IncludeWater>\n+\t\t\t<IncludeAmmonia>True</IncludeAmmonia>\n+\t\t\t<DependentLosses>True</DependentLosses>\n+\t\t\t<Recalibration>False</Recalibration>\n+\t\t</msmsParams>\n+\t\t<msmsParams>\n+\t\t\t<Name>Unknown</Name>\n+\t\t\t<MatchTolerance>20</MatchTolerance>\n+\t\t\t<MatchToleranceInPpm>True</MatchToleranceInPpm>\n+\t\t\t<DeisotopeTolerance>7</DeisotopeTolerance>\n+\t\t\t<DeisotopeToleranceInPpm>True</DeisotopeToleranceInPpm>\n+\t\t\t<DeNovoTolerance>10</DeNovoTolerance>\n+\t\t\t<DeNovoToleranceInPpm>True</DeNovoToleranceInPpm>\n+\t\t\t<Deisotope>True</Deisotope>\n+\t\t\t<Topx>12</Topx>\n+\t\t\t<TopxInterval>100</TopxInterval>\n+\t\t\t<HigherCharges>True</HigherCharges>\n+\t\t\t<IncludeWater>True</IncludeWater>\n+\t\t\t<IncludeAmmonia>True</IncludeAmmonia>\n+\t\t\t<DependentLosses>True</DependentLosses>\n+\t\t\t<Recalibration>False</Recalibration>\n+\t\t</msmsParams>\n+\t</msmsParamsArray>\n+\t<fragmentationParamsArray>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>CID</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>HCD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>PQD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETHCD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETCID</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>UVPD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>Unknown</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t</fragmentationParamsArray>\n+</MaxQuantParams>\n+\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/04/config.yml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/04/config.yml Sat Apr 11 11:49:19 2020 -0400
[
@@ -0,0 +1,26 @@
+
+            fastaFiles: [/home/galaxy/galaxy/database/files/000/dataset_4.dat]
+            parseRules:
+              identifierParseRule: '>([^\s]*)'
+              descriptionParseRule: '>(.*)'
+            minUniquePeptides: 0
+            minPepLen: 7
+            maxPeptideMass: 4600
+            calcPeakProperties: False
+            writeMzTab: False
+            separateLfq: False
+            lfqStabilizeLargeRatios: True
+            lfqRequireMsms: True
+            advancedSiteIntensities: True
+            matchBetweenRuns: False
+            paramGroups:
+              - files: ['BSA_min_23.mzXML', 'BSA_min_22.mzxml']
+                maxMissedCleavages: 2
+                fixedModifications: [Carbamidomethyl (C)]
+                variableModifications: [Oxidation (M)]
+                enzymes: [Trypsin/P]
+                labelMods:
+                  - [Arg6,Lys4]
+                  - []
+                  - [Arg10,DimethLys8]
+        
\ No newline at end of file
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/04/exp_design
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/04/exp_design Sat Apr 11 11:49:19 2020 -0400
b
@@ -0,0 +1,3 @@
+Name Fraction Experiment PTM
+BSA_min_22 1 e1
+BSA_min_23 2 e2
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/04/mqpar.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/04/mqpar.xml Sat Apr 11 11:49:19 2020 -0400
[
b'@@ -0,0 +1,458 @@\n+<?xml version="1.0" ?>\n+<MaxQuantParams>\n+\t<fastaFiles>\n+\t\t<FastaFileInfo>\n+\t\t\t<fastaFilePath>D:\\shared\\dglaetzer\\maxquant_tool\\test2\\bsa.fasta</fastaFilePath>\n+\t\t\t<identifierParseRule>&gt;([^\\s]*)</identifierParseRule>\n+\t\t\t<descriptionParseRule>&gt;(.*)</descriptionParseRule>\n+\t\t\t<taxonomyParseRule/>\n+\t\t\t<variationParseRule/>\n+\t\t\t<modificationParseRule/>\n+\t\t\t<taxonomyId/>\n+\t\t</FastaFileInfo>\n+\t</fastaFiles>\n+\t<fastaFilesProteogenomics>\n+   </fastaFilesProteogenomics>\n+\t<fastaFilesFirstSearch>\n+   </fastaFilesFirstSearch>\n+\t<fixedSearchFolder/>\n+\t<andromedaCacheSize>350000</andromedaCacheSize>\n+\t<advancedRatios>True</advancedRatios>\n+\t<pvalThres>0.005</pvalThres>\n+\t<neucodeRatioBasedQuantification>False</neucodeRatioBasedQuantification>\n+\t<neucodeStabilizeLargeRatios>False</neucodeStabilizeLargeRatios>\n+\t<rtShift>False</rtShift>\n+\t<separateLfq>False</separateLfq>\n+\t<lfqStabilizeLargeRatios>True</lfqStabilizeLargeRatios>\n+\t<lfqRequireMsms>True</lfqRequireMsms>\n+\t<decoyMode>revert</decoyMode>\n+\t<boxCarMode>all</boxCarMode>\n+\t<includeContaminants>True</includeContaminants>\n+\t<maxPeptideMass>4600</maxPeptideMass>\n+\t<epsilonMutationScore>True</epsilonMutationScore>\n+\t<mutatedPeptidesSeparately>True</mutatedPeptidesSeparately>\n+\t<proteogenomicPeptidesSeparately>True</proteogenomicPeptidesSeparately>\n+\t<minDeltaScoreUnmodifiedPeptides>0</minDeltaScoreUnmodifiedPeptides>\n+\t<minDeltaScoreModifiedPeptides>6</minDeltaScoreModifiedPeptides>\n+\t<minScoreUnmodifiedPeptides>0</minScoreUnmodifiedPeptides>\n+\t<minScoreModifiedPeptides>40</minScoreModifiedPeptides>\n+\t<secondPeptide>True</secondPeptide>\n+\t<matchBetweenRuns>False</matchBetweenRuns>\n+\t<matchUnidentifiedFeatures>False</matchUnidentifiedFeatures>\n+\t<matchBetweenRunsFdr>False</matchBetweenRunsFdr>\n+\t<dependentPeptides>False</dependentPeptides>\n+\t<dependentPeptideFdr>0</dependentPeptideFdr>\n+\t<dependentPeptideMassBin>0</dependentPeptideMassBin>\n+\t<dependentPeptidesBetweenRuns>False</dependentPeptidesBetweenRuns>\n+\t<dependentPeptidesWithinExperiment>False</dependentPeptidesWithinExperiment>\n+\t<dependentPeptidesWithinParameterGroup>False</dependentPeptidesWithinParameterGroup>\n+\t<dependentPeptidesRestrictFractions>False</dependentPeptidesRestrictFractions>\n+\t<dependentPeptidesFractionDifference>0</dependentPeptidesFractionDifference>\n+\t<msmsConnection>False</msmsConnection>\n+\t<ibaq>False</ibaq>\n+\t<top3>False</top3>\n+\t<independentEnzymes>False</independentEnzymes>\n+\t<useDeltaScore>False</useDeltaScore>\n+\t<splitProteinGroupsByTaxonomy>False</splitProteinGroupsByTaxonomy>\n+\t<taxonomyLevel>Species</taxonomyLevel>\n+\t<avalon>False</avalon>\n+\t<nModColumns>3</nModColumns>\n+\t<ibaqLogFit>False</ibaqLogFit>\n+\t<razorProteinFdr>True</razorProteinFdr>\n+\t<deNovoSequencing>False</deNovoSequencing>\n+\t<deNovoVarMods>True</deNovoVarMods>\n+\t<massDifferenceSearch>False</massDifferenceSearch>\n+\t<isotopeCalc>False</isotopeCalc>\n+\t<writePeptidesForSpectrumFile/>\n+\t<intensityPredictionsFile>\n+   </intensityPredictionsFile>\n+\t<minPepLen>7</minPepLen>\n+\t<psmFdrCrosslink>0.01</psmFdrCrosslink>\n+\t<peptideFdr>0.01</peptideFdr>\n+\t<proteinFdr>0.01</proteinFdr>\n+\t<siteFdr>0.01</siteFdr>\n+\t<minPeptideLengthForUnspecificSearch>8</minPeptideLengthForUnspecificSearch>\n+\t<maxPeptideLengthForUnspecificSearch>25</maxPeptideLengthForUnspecificSearch>\n+\t<useNormRatiosForOccupancy>True</useNormRatiosForOccupancy>\n+\t<minPeptides>1</minPeptides>\n+\t<minRazorPeptides>1</minRazorPeptides>\n+\t<minUniquePeptides>0</minUniquePeptides>\n+\t<useCounterparts>False</useCounterparts>\n+\t<advancedSiteIntensities>True</advancedSiteIntensities>\n+\t<customProteinQuantification>False</customProteinQuantification>\n+\t<customProteinQuantificationFile/>\n+\t<minRatioCount>2</minRatioCount>\n+\t<restrictProteinQuantification>True</restrictProteinQuantification>\n+\t<restrictMods>\n+\t\t<string>Oxidation (M)</string>\n+\t\t<string>Acetyl (Protein N-term)</string>\n+\t</restrictMods>\n+\t<matchingTimeWindow>0</matchingTimeWindow>\n+\t<matchingIonMobilityWind'..b'<IncludeWater>True</IncludeWater>\n+\t\t\t<IncludeAmmonia>True</IncludeAmmonia>\n+\t\t\t<DependentLosses>True</DependentLosses>\n+\t\t\t<Recalibration>False</Recalibration>\n+\t\t</msmsParams>\n+\t\t<msmsParams>\n+\t\t\t<Name>Unknown</Name>\n+\t\t\t<MatchTolerance>20</MatchTolerance>\n+\t\t\t<MatchToleranceInPpm>True</MatchToleranceInPpm>\n+\t\t\t<DeisotopeTolerance>7</DeisotopeTolerance>\n+\t\t\t<DeisotopeToleranceInPpm>True</DeisotopeToleranceInPpm>\n+\t\t\t<DeNovoTolerance>10</DeNovoTolerance>\n+\t\t\t<DeNovoToleranceInPpm>True</DeNovoToleranceInPpm>\n+\t\t\t<Deisotope>True</Deisotope>\n+\t\t\t<Topx>12</Topx>\n+\t\t\t<TopxInterval>100</TopxInterval>\n+\t\t\t<HigherCharges>True</HigherCharges>\n+\t\t\t<IncludeWater>True</IncludeWater>\n+\t\t\t<IncludeAmmonia>True</IncludeAmmonia>\n+\t\t\t<DependentLosses>True</DependentLosses>\n+\t\t\t<Recalibration>False</Recalibration>\n+\t\t</msmsParams>\n+\t</msmsParamsArray>\n+\t<fragmentationParamsArray>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>CID</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>HCD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>PQD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETHCD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>ETCID</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>UVPD</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t\t<fragmentationParams>\n+\t\t\t<Name>Unknown</Name>\n+\t\t\t<Connected>False</Connected>\n+\t\t\t<ConnectedScore0>1</ConnectedScore0>\n+\t\t\t<ConnectedScore1>1</ConnectedScore1>\n+\t\t\t<ConnectedScore2>1</ConnectedScore2>\n+\t\t\t<InternalFragments>False</InternalFragments>\n+\t\t\t<InternalFragmentWeight>1</InternalFragmentWeight>\n+\t\t\t<InternalFragmentAas>KRH</InternalFragmentAas>\n+\t\t</fragmentationParams>\n+\t</fragmentationParamsArray>\n+</MaxQuantParams>\n+\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/BSA_min_21.mzXML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/BSA_min_21.mzXML Sat Apr 11 11:49:19 2020 -0400
b
b'@@ -0,0 +1,2200 @@\n+<?xml version="1.0" encoding="ISO-8859-1"?>\n+<mzXML xmlns="http://sashimi.sourceforge.net/schema_revision/mzXML_3.2"\n+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n+       xsi:schemaLocation="http://sashimi.sourceforge.net/schema_revision/mzXML_3.2 http://sashimi.sourceforge.net/schema_revision/mzXML_3.2/mzXML_idx_3.2.xsd">\n+  <msRun scanCount="100" startTime="PT0.2912S" endTime="PT35.5222S">\n+    <parentFile fileName="file:///D:\\shared\\dglaetzer\\maxquant_tool\\test2\\two/BSA_min_21.raw"\n+                fileType="RAWData"\n+                fileSha1="52125693477eda68b26bcebf7d345c550c6d3ef0"/>\n+    <msInstrument msInstrumentID="1">\n+      <msManufacturer category="msManufacturer" value="Thermo Scientific"/>\n+      <msModel category="msModel" value="LTQ Orbitrap XL"/>\n+      <msIonisation category="msIonisation" value="nanoelectrospray"/>\n+      <msMassAnalyzer category="msMassAnalyzer" value="orbitrap"/>\n+      <msDetector category="msDetector" value="inductive detector"/>\n+      <software type="acquisition" name="Xcalibur" version="2.5.5 SP2"/>\n+    </msInstrument>\n+    <msInstrument msInstrumentID="2">\n+      <msManufacturer category="msManufacturer" value="Thermo Scientific"/>\n+      <msModel category="msModel" value="LTQ Orbitrap XL"/>\n+      <msIonisation category="msIonisation" value="nanoelectrospray"/>\n+      <msMassAnalyzer category="msMassAnalyzer" value="radial ejection linear ion trap"/>\n+      <msDetector category="msDetector" value="electron multiplier"/>\n+      <software type="acquisition" name="Xcalibur" version="2.5.5 SP2"/>\n+    </msInstrument>\n+    <dataProcessing centroided="1">\n+      <software type="conversion" name="ProteoWizard software" version="3.0.9706"/>\n+      <processingOperation name="Conversion to mzML"/>\n+      <software type="processing" name="ProteoWizard software" version="3.0.9706"/>\n+      <comment>Thermo/Xcalibur peak picking</comment>\n+    </dataProcessing>\n+    <scan num="1"\n+          scanType="Full"\n+          centroided="1"\n+          msLevel="1"\n+          peaksCount="704"\n+          polarity="+"\n+          retentionTime="PT0.2912S"\n+          lowMz="370.207275390625"\n+          highMz="1609.848266601563"\n+          basePeakMz="372.186614990234"\n+          basePeakIntensity="1.998346e06"\n+          totIonCurrent="2.1077186e07"\n+          msInstrumentID="1">\n+      <peaks compressionType="zlib"\n+             compressedLen="5188"\n+             precision="32"\n+             byteOrder="network"\n+             contentType="m/z-int">eJwNlXdYDvwXxpGIXu2l1FNGkaJUiMo453yfJ+OnSaKhXiNJJWWkaAhpb02KSshINGmJaKdJGkK9VFJk5tdfn+vc549zXedc97khX/Y8V4ArAflgzeZ5b4X8Ex50JDsE8n1OcrV/L4Z8fz7y9j8F+fF/afjba8hPWsrdcuIV5Bf1ExNuhQKRYFpvew8KpM7Tz4gZk2xiIulyUCDdZzj62QgK5h2gUP1aKJB3ZYJlPlDA6WSa1xAKnHMpaNkaKDgyQI5rPaDAR5n+jIZAgW8iecW0QUGcMS/0/SwoSMqjyE/8UDDYxlSlJuf9kmKHPMKgUMaCdWQGQqHsFt6W2W5QaBnIzbpwAwq9dlIlxx4K4ytY2D/boTBZks3NeAiFrQL0tMoKiuQ7GF8KQlHEUt78D0NQVKZBFKIAxWKJLC/OEorlllFkxSMoDhWhp82GUJwkSLZnxSb5gKwqz8Mj+TDyffQGHiWIkYuzLjz64Ew6e3/CY8k39OL9XCiRfs9sBfWgZJ4nm+ZqDyUKx2ir4wCUOMWRz797ocQrkZm8VoaSeG+2xvI0lCpEsNR7rlCqOEFtt/ZAqfclQzmNYihNPEdXvDlQmtxH92/ZQmlqCdXRJDumk9GAGpS+0qWQtUJQ+ncWl2caAGWKwVx+k49Qts6SVvVdgzIapz3rPKHMW5R71SYQyhJyyUtTHsqSrCli+SUouzxC+fnboFxOlTrW7YVyjjB5hCpDuaU4hbUXQfmpYnZU5TaUx98kn0EVKL+6j2ucugPKfx9nqk+uQIXMIYrf+Asq5OXo8vuPULGwha2ivVARfJtJVFVARUgTNzT6MTwR3syMd+yCJ3On047ci/Bk52M6l3UQniSpUmjffahUuE0BVpVQ+cWTvN1L4Oncd2RT1wJPQxsp2BzhmV0oWf+YCs88r5Hz/GR4luxPtz1+Q5XcejoYZgpV8v9x5eW+QpWnDDvF8YWqZHP6YrQFnnP6eJHBx+C5pzB9S5gNzxPmUcKOafD8sjHXml8RXsjGUFfYMLyQ96YuSVF4MXknPxlbqJYLoJd63lB9ailFePKg2svEcFV+KVR7+5Nj7xeojgkhWyFTqI5fxPYEWED1n1Lu/rocqJHcQbbMBGq4MeSgNhtqbEao+GsY1Lg1k+94O9ScquQ6CrZCjVcd1a7/B2oSPZmj5hyoSQ6jrTLvoOYPkbfXMqhNnUNPbzCoreSSRbMD1Ml3UfitU1BnO0SX+mWh7rIXt+xEF9TLbaT2Y9lQL29E9/l9oZ7TwjZLtUO94gDLuewP9ewFea96DfW779DZ9YFQf2QbWXVkQYOUIFlEeECDUjcv84c7NKQacw2ztaEh04buO5pDI0eX5/PlEDQqPiDPNYPQOH8bRdSIQ6NqPm1ON4TGlCyuvoMENCkksCm5xtCUqMKsE1SgKamcTNqnw8t5ybSjYBO8jGmiWJfX8PLSa'..b'NHRCj1upncp6xEbXPUmiVKB1nxGq6Kf0adS89yW3sJuodHpK6oRT1fo1U1pqD+sjVlHL7BS6eO8E0/DiahP4UvycCzasrqX+XDVr4RUzfJ8CVEg0bclBDf+l3zqI6GK3bT5Bz1320nXeigo5oGOx3k7vY7j9+7/2n</peaks>\n+    </scan>\n+  </msRun>\n+  <index name="scan">\n+    <offset id="1">1917</offset>\n+    <offset id="2">9424</offset>\n+    <offset id="3">14360</offset>\n+    <offset id="4">18439</offset>\n+    <offset id="5">22458</offset>\n+    <offset id="6">26385</offset>\n+    <offset id="7">29205</offset>\n+    <offset id="8">37722</offset>\n+    <offset id="9">41941</offset>\n+    <offset id="10">44317</offset>\n+    <offset id="11">48311</offset>\n+    <offset id="12">52139</offset>\n+    <offset id="13">56154</offset>\n+    <offset id="14">64532</offset>\n+    <offset id="15">65383</offset>\n+    <offset id="16">69045</offset>\n+    <offset id="17">72975</offset>\n+    <offset id="18">75614</offset>\n+    <offset id="19">79022</offset>\n+    <offset id="20">87581</offset>\n+    <offset id="21">90501</offset>\n+    <offset id="22">93065</offset>\n+    <offset id="23">95486</offset>\n+    <offset id="24">97717</offset>\n+    <offset id="25">99928</offset>\n+    <offset id="26">108098</offset>\n+    <offset id="27">112447</offset>\n+    <offset id="28">115533</offset>\n+    <offset id="29">118046</offset>\n+    <offset id="30">120113</offset>\n+    <offset id="31">123748</offset>\n+    <offset id="32">132140</offset>\n+    <offset id="33">135796</offset>\n+    <offset id="34">138376</offset>\n+    <offset id="35">141633</offset>\n+    <offset id="36">145590</offset>\n+    <offset id="37">148239</offset>\n+    <offset id="38">156729</offset>\n+    <offset id="39">159772</offset>\n+    <offset id="40">162343</offset>\n+    <offset id="41">165625</offset>\n+    <offset id="42">167531</offset>\n+    <offset id="43">171020</offset>\n+    <offset id="44">179417</offset>\n+    <offset id="45">183256</offset>\n+    <offset id="46">185204</offset>\n+    <offset id="47">188784</offset>\n+    <offset id="48">191705</offset>\n+    <offset id="49">200242</offset>\n+    <offset id="50">203051</offset>\n+    <offset id="51">206241</offset>\n+    <offset id="52">209376</offset>\n+    <offset id="53">213124</offset>\n+    <offset id="54">216660</offset>\n+    <offset id="55">225224</offset>\n+    <offset id="56">228456</offset>\n+    <offset id="57">230355</offset>\n+    <offset id="58">232081</offset>\n+    <offset id="59">234387</offset>\n+    <offset id="60">237086</offset>\n+    <offset id="61">246008</offset>\n+    <offset id="62">249052</offset>\n+    <offset id="63">252303</offset>\n+    <offset id="64">254108</offset>\n+    <offset id="65">258229</offset>\n+    <offset id="66">261306</offset>\n+    <offset id="67">270056</offset>\n+    <offset id="68">273107</offset>\n+    <offset id="69">276205</offset>\n+    <offset id="70">278441</offset>\n+    <offset id="71">280948</offset>\n+    <offset id="72">283995</offset>\n+    <offset id="73">293087</offset>\n+    <offset id="74">297029</offset>\n+    <offset id="75">300575</offset>\n+    <offset id="76">303864</offset>\n+    <offset id="77">307621</offset>\n+    <offset id="78">310545</offset>\n+    <offset id="79">319429</offset>\n+    <offset id="80">323075</offset>\n+    <offset id="81">326682</offset>\n+    <offset id="82">330374</offset>\n+    <offset id="83">332639</offset>\n+    <offset id="84">335653</offset>\n+    <offset id="85">345009</offset>\n+    <offset id="86">348399</offset>\n+    <offset id="87">349987</offset>\n+    <offset id="88">352823</offset>\n+    <offset id="89">356445</offset>\n+    <offset id="90">364892</offset>\n+    <offset id="91">368014</offset>\n+    <offset id="92">371687</offset>\n+    <offset id="93">373873</offset>\n+    <offset id="94">383076</offset>\n+    <offset id="95">386464</offset>\n+    <offset id="96">388199</offset>\n+    <offset id="97">390817</offset>\n+    <offset id="98">393876</offset>\n+    <offset id="99">396801</offset>\n+    <offset id="100">405732</offset>\n+  </index>\n+  <indexOffset>408106</indexOffset>\n+  <sha1>fc6ffa16c1a8c2a4794d4fbb0b345d08e73fe577</sha1>\n+</mzXML>\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/BSA_min_22
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/BSA_min_22 Sat Apr 11 11:49:19 2020 -0400
b
b'@@ -0,0 +1,2190 @@\n+<?xml version="1.0" encoding="ISO-8859-1"?>\n+<mzXML xmlns="http://sashimi.sourceforge.net/schema_revision/mzXML_3.2"\n+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n+       xsi:schemaLocation="http://sashimi.sourceforge.net/schema_revision/mzXML_3.2 http://sashimi.sourceforge.net/schema_revision/mzXML_3.2/mzXML_idx_3.2.xsd">\n+  <msRun scanCount="100" startTime="PT0.1508S" endTime="PT35.9553S">\n+    <parentFile fileName="file:///D:\\shared\\dglaetzer\\maxquant_tool\\test2\\two/BSA_min_22.raw"\n+                fileType="RAWData"\n+                fileSha1="670beb3b6f7b8ee6c02f3a44c53017346731d382"/>\n+    <msInstrument msInstrumentID="1">\n+      <msManufacturer category="msManufacturer" value="Thermo Scientific"/>\n+      <msModel category="msModel" value="LTQ Orbitrap XL"/>\n+      <msIonisation category="msIonisation" value="nanoelectrospray"/>\n+      <msMassAnalyzer category="msMassAnalyzer" value="orbitrap"/>\n+      <msDetector category="msDetector" value="inductive detector"/>\n+      <software type="acquisition" name="Xcalibur" version="2.5.5 SP2"/>\n+    </msInstrument>\n+    <msInstrument msInstrumentID="2">\n+      <msManufacturer category="msManufacturer" value="Thermo Scientific"/>\n+      <msModel category="msModel" value="LTQ Orbitrap XL"/>\n+      <msIonisation category="msIonisation" value="nanoelectrospray"/>\n+      <msMassAnalyzer category="msMassAnalyzer" value="radial ejection linear ion trap"/>\n+      <msDetector category="msDetector" value="electron multiplier"/>\n+      <software type="acquisition" name="Xcalibur" version="2.5.5 SP2"/>\n+    </msInstrument>\n+    <dataProcessing centroided="1">\n+      <software type="conversion" name="ProteoWizard software" version="3.0.9706"/>\n+      <processingOperation name="Conversion to mzML"/>\n+      <software type="processing" name="ProteoWizard software" version="3.0.9706"/>\n+      <comment>Thermo/Xcalibur peak picking</comment>\n+    </dataProcessing>\n+    <scan num="1"\n+          scanType="Full"\n+          centroided="1"\n+          msLevel="1"\n+          peaksCount="796"\n+          polarity="+"\n+          retentionTime="PT0.1508S"\n+          lowMz="370.200469970703"\n+          highMz="1629.619750976563"\n+          basePeakMz="467.559143066406"\n+          basePeakIntensity="1.43900225e06"\n+          totIonCurrent="2.4422036e07"\n+          msInstrumentID="1">\n+      <peaks compressionType="zlib"\n+             compressedLen="5854"\n+             precision="32"\n+             byteOrder="network"\n+             contentType="m/z-int">eJwNl2c8138XxomySsnefik0qQhJ65zz+f7QslLSlqYoqQhZRZE/sjJC0roVpWWWWUZljyi0jKYRpXV79H6d6zw5D65zvc6BHMXrdHtGEOTYzqYTlWKQ4+FJf6wjIMfrLB16ORVy/Ly57PgayDlTSLZuzZAT/YoubzwPOQkjVHjjHuQkzeIH/jaBnGu7KV9qJuT8cKS8Fg3IFXSlB5uPQa78e368zl/IVaxg+u8eQa5qJCdq+hBy1b+yxfv2QK6fPpUcG9Pj1nFSi2oh95cM2yA5CHkKJ2n/ynDI0+aRhdVkyDtWQxuk0yHP+yDdaz8PeReq6MqaOshrVuB0NryFfHl7NuVTGeQr8qiw+gTkR85lJ8Z5QH5CGe0uPwMFygb0A+dDQdYI2U6XgYJ3ymTS1QGFKrv5T5KfQqFqNxtnMhEKee/IdHE1FDqk8oXkL0Nhog41R8iOsYOl1VyBwta9nPx6PjxSzGCitc/hkYodW+5RBY/UTehS5B54FOfLveSWwKNkO3IPqoLH8j30UUINHit8ZjE7g+GxSgb5GfnC4y1LaaVWAjz2TmMHMtLgcXwAc5M9CI+TjClS7TgUqSKTOrIBitRCueJXklDEk2LyEeJQ5O1ENpY2UOSTYGbT8h2KkmbQpaB8KLo4ygwEhaHonzi3p8cRihV1KE4iA4o1QvkrT+yD4u07KeiSGBT7TOFqu05AcUIBG69QAMUpP7hJzqFQ3K/FCvYjlCgvYLPD3o1xhM3eUQklnD5tbnsOJfbTKUzfC0q8ctmmnNVQ4n2NnS68BiVJFrQ58imUJK8nv/RMKLm8m7uwY0z/7cKW346AUlVTOq4XAqXT69medh6Uhr1i8uVhUBr/lJnt1ILS/gxy9HoCZUoRFFF/D8pULCjsaieUXfwfZ7m1Bspe97Ckv4FQrq7A3FwToTw+iKU+MYHy8htsfuxxKO//j82omQRPlT/wDRJz4WmiHWtPOAVPf7mRv8YXqFA2oSTHUqhQmUanTi6CCtVO9s2iCypOSLJzauugIvEVBdcGQ8XFDXTXxwUq1bvN1jpcgUp+FqV1rIDKEzzm/DQbKmNmMeFZT6AyYSbFTP8ClSnWfMl90lA1dRIleiRDlVIw5R8SgSrV/yjjzAKoUp9Lm0cvQ5WGDRNK+jXGUsreOA+qDt8g68MPocozgi36EwhVMRq0WFkRqpIEKKxbB6pl62jPJF2oVkmmSK1/UO3xh9z3LoRqbxuz1QueQrV/KB3svgXVsefYvKXXoTpen5NbGAzVf0o5x6DJ8EzpKlOCMnjmtotq1dXgmVcVd/D2EDzzLqNvzXnwLDGK3kWO6RdtKFrgMDxr7qLt3bnw7I8Vhdvvg+c7jJjYLlt4keLLlVx5ADXK1tQ9vAtqVBdwbwO+QI16B4u+fhRqND6xEOm1UDP9Kg20u0NNwnQzqU8tUJN0ni3elAg1t96'..b'frhO0Chcj624c6xuW44879rxIWwe5hTY8KrQI+Z6ff7CzgdpOi9zfG0A9o4OVBX04qZ9P8yMaUbhmMf1g0Yei9JWU81qKs85lbPv7KZxbkMfy4iyc95VR06oilBqe4S/VJiitV1OD0wmUdWRwbGT1/6SMAX4=</peaks>\n+    </scan>\n+  </msRun>\n+  <index name="scan">\n+    <offset id="1">1917</offset>\n+    <offset id="2">10314</offset>\n+    <offset id="3">14484</offset>\n+    <offset id="4">19915</offset>\n+    <offset id="5">24049</offset>\n+    <offset id="6">26515</offset>\n+    <offset id="7">29743</offset>\n+    <offset id="8">38208</offset>\n+    <offset id="9">42590</offset>\n+    <offset id="10">46568</offset>\n+    <offset id="11">50805</offset>\n+    <offset id="12">52873</offset>\n+    <offset id="13">58040</offset>\n+    <offset id="14">66800</offset>\n+    <offset id="15">71095</offset>\n+    <offset id="16">75640</offset>\n+    <offset id="17">77396</offset>\n+    <offset id="18">80771</offset>\n+    <offset id="19">83862</offset>\n+    <offset id="20">91950</offset>\n+    <offset id="21">95476</offset>\n+    <offset id="22">97015</offset>\n+    <offset id="23">100343</offset>\n+    <offset id="24">104219</offset>\n+    <offset id="25">105921</offset>\n+    <offset id="26">114407</offset>\n+    <offset id="27">115239</offset>\n+    <offset id="28">118369</offset>\n+    <offset id="29">119730</offset>\n+    <offset id="30">122087</offset>\n+    <offset id="31">126187</offset>\n+    <offset id="32">134469</offset>\n+    <offset id="33">137380</offset>\n+    <offset id="34">140395</offset>\n+    <offset id="35">142195</offset>\n+    <offset id="36">146250</offset>\n+    <offset id="37">147804</offset>\n+    <offset id="38">156053</offset>\n+    <offset id="39">157941</offset>\n+    <offset id="40">160678</offset>\n+    <offset id="41">163217</offset>\n+    <offset id="42">166119</offset>\n+    <offset id="43">169056</offset>\n+    <offset id="44">177367</offset>\n+    <offset id="45">178987</offset>\n+    <offset id="46">181947</offset>\n+    <offset id="47">185515</offset>\n+    <offset id="48">188232</offset>\n+    <offset id="49">189982</offset>\n+    <offset id="50">199249</offset>\n+    <offset id="51">201017</offset>\n+    <offset id="52">202782</offset>\n+    <offset id="53">203875</offset>\n+    <offset id="54">207454</offset>\n+    <offset id="55">210548</offset>\n+    <offset id="56">219477</offset>\n+    <offset id="57">223038</offset>\n+    <offset id="58">225876</offset>\n+    <offset id="59">233946</offset>\n+    <offset id="60">234776</offset>\n+    <offset id="61">238403</offset>\n+    <offset id="62">241997</offset>\n+    <offset id="63">244836</offset>\n+    <offset id="64">247880</offset>\n+    <offset id="65">255494</offset>\n+    <offset id="66">257770</offset>\n+    <offset id="67">266705</offset>\n+    <offset id="68">269871</offset>\n+    <offset id="69">273183</offset>\n+    <offset id="70">281555</offset>\n+    <offset id="71">282721</offset>\n+    <offset id="72">286189</offset>\n+    <offset id="73">288371</offset>\n+    <offset id="74">289922</offset>\n+    <offset id="75">297777</offset>\n+    <offset id="76">298854</offset>\n+    <offset id="77">302643</offset>\n+    <offset id="78">304110</offset>\n+    <offset id="79">311913</offset>\n+    <offset id="80">315935</offset>\n+    <offset id="81">318836</offset>\n+    <offset id="82">320953</offset>\n+    <offset id="83">323219</offset>\n+    <offset id="84">331302</offset>\n+    <offset id="85">335375</offset>\n+    <offset id="86">338998</offset>\n+    <offset id="87">347061</offset>\n+    <offset id="88">348359</offset>\n+    <offset id="89">356606</offset>\n+    <offset id="90">359875</offset>\n+    <offset id="91">362167</offset>\n+    <offset id="92">370394</offset>\n+    <offset id="93">372614</offset>\n+    <offset id="94">375149</offset>\n+    <offset id="95">382972</offset>\n+    <offset id="96">385759</offset>\n+    <offset id="97">393892</offset>\n+    <offset id="98">401021</offset>\n+    <offset id="99">404265</offset>\n+    <offset id="100">406676</offset>\n+  </index>\n+  <indexOffset>409039</indexOffset>\n+  <sha1>c2b383b781920c60c1ac034edee96ff0ab830715</sha1>\n+</mzXML>\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/allPeptides.txt
--- a/test-data/single/combined/txt/allPeptides.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,166 +0,0 @@\n-Raw file\tType\tCharge\tm/z\tMass\tUncalibrated m/z\tResolution\tNumber of data points\tNumber of scans\tNumber of isotopic peaks\tPIF\tMass fractional part\tMass deficit\tMass precision [ppm]\tMax intensity m/z 0\tRetention time\tRetention length\tRetention length (FWHM)\tMin scan number\tMax scan number\tIdentified\tMS/MS IDs\tSequence\tLength\tModifications\tModified sequence\tProteins\tScore\tIntensity\tIntensities\tIsotope pattern\tMS/MS Count\tMSMS Scan Numbers\tMSMS Isotope Indices\r\n-BSA_min_23\tMULTI\t3\t710.69967\t2129.0772\t710.69967\tNaN\t5\t3\t2\t\t0.077192\t0.0578164096173168\t1.180035\t711.033930698172\t0.037\t8.255\t0\t1\t25\t\t-1\t \t0\t \t \t \tNaN\t27555\t0;16823.720703125;10726.12109375;6644.5966796875;0\t7737.3974609375;9086.3232421875\t0\t\t\r\n-BSA_min_23\tMULTI\t3\t1567.4354\t4699.2845\t1567.4354\tNaN\t5\t3\t2\t\t0.284514\t0.0828426326752378\t7.986968\t1568.10387245715\t0.067\t8.255\t0\t1\t25\t\t-1\t \t0\t \t \t \tNaN\t137580\t0;23479.5932617188;59085.9194335938;20990.259765625;0\t0;0;53540.3203125;7305.36279296875\t0\t\t\r\n-BSA_min_23\tMULTI\t2\t466.26817\t930.5218\t466.26817\tNaN\t6\t4\t2\t\t0.521797\t0.0537564853223103\t1.477127\t466.26850803291\t0.107\t10.33\t0\t1\t31\t\t-1\t \t0\t \t \t \tNaN\t33499\t0;16896.8359375;13251.4482421875;29638.681640625;21903.5859375;0\t22962.34375;6676.337890625\t0\t\t\r\n-BSA_min_23\tMULTI\t2\t835.80692\t1669.5993\t835.80692\tNaN\t7\t4\t2\t\t0.599289\t-0.208726257088529\t1.196939\t835.807035746435\t0.107\t10.33\t0\t1\t31\t\t-1\t \t0\t \t \t \tNaN\t35250\t0;14611.8764648438;18125.6357421875;25099.0166015625;15365.583984375;0\t16483.943359375;8615.0732421875\t0\t\t\r\n-BSA_min_23\tMULTI\t2\t889.42648\t1776.8384\t889.42648\tNaN\t6\t3\t2\t\t0.838398\t-0.0189472723534436\t2.943901\t889.927320499287\t0.107\t8.255\t0\t1\t25\t\t-1\t \t0\t \t \t \tNaN\t24592\t0;9125.99072265625;13286.1201171875;16742.716796875;0\t7208.8173828125;9533.8994140625\t0\t\t\r\n-BSA_min_23\tMULTI\t2\t378.70717\t755.39978\t378.70717\tNaN\t4\t2\t2\t\t0.399783\t0.0122990350871532\t2.895866\t378.7066995797\t0.119\t6.221\t0\t13\t31\t\t-1\t \t0\t \t \t \tNaN\t17113\t0;15764.96875;12169.2568359375;0\t9865.826171875;5910.52587890625\t0\t\t\r\n-BSA_min_23\tMULTI\t6\t456.58136\t2733.4445\t456.58136\tNaN\t6\t5\t2\t\t0.444504\t0.14711979940148\t1.365307\t456.748107866223\t0.139\t12.618\t0\t7\t43\t\t-1\t \t0\t \t \t \tNaN\t36582\t0;9077.5439453125;13902.0874023438;19992.689453125;13010.4306640625;0;0\t0;13844.125;6148.564453125\t1\t8\t1\r\n-BSA_min_23\tMULTI\t2\t701.87367\t1401.7328\t701.87367\tNaN\t4\t2\t2\t\t0.732779\t0.0479819779827722\t2.085359\t701.87287295525\t0.139\t6.221\t0\t13\t31\t\t-1\t \t0\t \t \t \tNaN\t19640\t0;11736.2470703125;14934.2939453125;0\t8433.541015625;6500.7529296875\t0\t\t\r\n-BSA_min_23\tMULTI\t2\t903.84665\t1805.6788\t903.84665\tNaN\t14\t5\t3\t\t0.67875\t-0.191861895242255\t0.587413\t903.846381489202\t0.128\t12.505\t0\t1\t37\t\t-1\t \t0\t \t \t \tNaN\t89876\t0;22660.5712890625;48080.4096679688;66770.5043945313;78759.361328125;39740.7744140625;0\t39216.41796875;30181.7421875;16944.533203125\t1\t27\t0\r\n-BSA_min_23\tMULTI\t3\t487.53462\t1459.582\t487.53462\tNaN\t16\t8\t3\t\t0.582041\t-0.129367074224319\t0.655422\t487.53461224021\t0.133\t19.043\t0\t1\t55\t\t-1\t \t0\t \t \t \tNaN\t84731\t0;7211.73095703125;32638.8959960938;79787.74609375;74581.1875;40743.359375;31912.87890625;10748.6064453125;5496.4296875;0\t40288.40234375;32200.93359375;13735.64453125\t1\t33\t1\r\n-BSA_min_23\tMULTI\t3\t583.22015\t1746.6386\t583.22015\tNaN\t7\t4\t2\t\t0.638625\t-0.204828530265331\t2.286815\t583.220239813966\t0.176\t10.457\t0\t7\t37\t\t-1\t \t0\t \t \t \tNaN\t42292\t0;4036.83081054688;17411.11328125;19834.8046875;29221.802734375;0\t17431.560546875;11790.2421875\t0\t\t\r\n-BSA_min_23\tMULTI\t3\t635.60251\t1903.7857\t635.60251\tNaN\t11\t5\t3\t\t0.785698\t-0.130043202729439\t1.119621\t635.602244079812\t0.167\t12.618\t0\t7\t43\t\t-1\t \t0\t \t \t \tNaN\t45493\t0;8725.0478515625;17613.3891601563;33308.2824707031;39386.6171875;0;0\t17209.375;13758.326171875;9491.1767578125\t0\t\t\r\n-BSA_min_23\tMULTI\t2\t730.79903\t1459.5835\t730.79903\tNaN\t10\t6\t2\t\t0.583509\t-0.127899156014337\t0.609982\t730.799136547346\t0.151\t14.666\t0\t1\t43\t\t-1\t \t0\t \t \t \tNaN\t77496\t0;5839.765625;27434.9599609375;42471.279296875;58278.560546875;32345.4384765625;15650.7568359375;0\t39553.00390625;19513.171875\t1\t29\t0\r\n-BSA_min_23\tMULTI\t2\t996.94429\t1991.874\t996.94429\tNaN\t15\t13\t2\t\t0'..b'\t11\t4\t3\t\t0.571176\t-0.132406498940327\t0.529807\t722.794557009268\t0.587\t8.245\t0\t81\t99\t\t-1\t \t0\t \t \t \tNaN\t88555\t0;19382.1572265625;29263.3842773438;56304.751953125;72047.59765625;0\t31798.40625;40249.19140625;9051.69140625\t2\t94;97\t0;0\r\n-BSA_min_23\tMULTI\t2\t731.29826\t1460.582\t731.29826\tNaN\t9\t5\t2\t\t0.581963\t-0.129905034647663\t1.015729\t731.799523381077\t0.526\t10.085\t0\t75\t99\t\t-1\t \t0\t \t \t \tNaN\t29169\t0;10700.2763671875;21935.4814453125;17981.1000976563;13056.220703125;17802.30078125;0\t11073.208984375;11301.125\t1\t90\t0\r\n-BSA_min_23\tMULTI\t2\t772.32634\t1542.6381\t772.32634\tNaN\t16\t12\t3\t\t0.638121\t-0.111492432172099\t0.832583\t772.326445295162\t0.587\t24.286\t0\t37\t99\t\t-1\t \t0\t \t \t \tNaN\t48065\t0;8672.376953125;7721.82470703125;8208.14233398438;8694.4599609375;12981.9775390625;10428.1220703125;10370.2294921875;9308.8408203125;12825.458984375;17852.220703125;30189.3129882813;24380.708984375;0\t19063.345703125;15360.51953125;9020.189453125\t0\t\t\r\n-BSA_min_23\tMULTI\t3\t776.67069\t2326.9902\t776.67069\tNaN\t7\t3\t3\t\t0.990245\t-0.120170237694765\t2.142655\t777.004331643663\t0.571\t6.087\t0\t87\t99\t\t-1\t \t0\t \t \t \tNaN\t37194\t0;6977.5546875;29906.751953125;25277;0\t9063.5791015625;14645.7783203125;12678.326171875\t0\t\t\r\n-BSA_min_23\tMULTI\t1\t837.43637\t836.42909\t837.43637\tNaN\t7\t4\t2\t\t0.429093\t0.0043357496634826\t1.321128\t837.436103089852\t0.587\t8.245\t0\t81\t99\t\t-1\t \t0\t \t \t \tNaN\t73009\t0;8795.1123046875;28166.4892578125;33590.7690429688;65961.154296875;0\t53311.69140625;12649.462890625\t0\t\t\r\n-BSA_min_23\tMULTI\t2\t882.84611\t1763.6777\t882.84611\tNaN\t12\t7\t3\t\t0.677665\t-0.17362702288824\t0.483171\t882.846072087715\t0.563\t13.784\t0\t65\t99\t\t-1\t \t0\t \t \t \tNaN\t1179300\t0;10685.890625;57645.44140625;185231.5625;292455.5625;750275.78125;1040647.75;871335.640625;0\t494015.65625;379948.71875;166683.375\t1\t100\t0\r\n-BSA_min_23\tMULTI\t2\t886.81224\t1771.6099\t886.81224\tNaN\t8\t5\t2\t\t0.609919\t-0.245021216350096\t1.522474\t887.31412154531\t0.576\t10.085\t0\t75\t99\t\t-1\t \t0\t \t \t \tNaN\t29012\t0;5249.1533203125;6298.3564453125;13226.2900390625;17856.4375;20045.5546875;0\t8890.65234375;11784.896484375\t0\t\t\r\n-BSA_min_23\tMULTI\t1\t899.44874\t898.44146\t899.44874\tNaN\t10\t6\t2\t\t0.441463\t-0.0118196933137824\t0.473138\t899.44868329937\t0.563\t11.938\t0\t71\t99\t\t-1\t \t0\t \t \t \tNaN\t93356\t0;10259.021484375;11104.9755859375;38988.1611328125;51494.2109375;83477.83203125;72926.943359375;0\t61125.3359375;22352.49609375\t0\t\t\r\n-BSA_min_23\tMULTI\t2\t973.90466\t1945.7948\t973.90466\tNaN\t7\t4\t2\t\t0.794757\t-0.14030840214582\t1.357784\t973.904958275679\t0.587\t8.245\t0\t81\t99\t\t-1\t \t0\t \t \t \tNaN\t67032\t0;22343.408203125;30602.4375;39709.193359375;30783.283203125;0\t30783.283203125;12774.3359375\t0\t\t\r\n-BSA_min_23\tMULTI\t1\t1012.4647\t1011.4574\t1012.4647\tNaN\t10\t6\t2\t\t0.457396\t-0.0478741148867812\t0.66179\t1012.46465963589\t0.58\t11.938\t0\t71\t99\t\t-1\t \t0\t \t \t \tNaN\t45315\t0;6566.83447265625;5892.9794921875;22179.6865234375;26302.4379882813;35693.482421875;39795.4755859375;0\t31461.541015625;12683.193359375\t0\t\t\r\n-BSA_min_23\tMULTI\t2\t1044.9323\t2087.8501\t1044.9323\tNaN\t6\t4\t2\t\t0.850137\t-0.150273671131799\t1.779455\t1045.43259299012\t0.587\t8.245\t0\t81\t99\t\t-1\t \t0\t \t \t \tNaN\t22292\t0;6181.01806640625;6017.2158203125;11961.13671875;13880.3842773438;0\t6740.865234375;7139.51904296875\t0\t\t\r\n-BSA_min_23\tMULTI\t2\t1074.9485\t2147.8825\t1074.9485\tNaN\t7\t5\t2\t\t0.882505\t-0.145520540587768\t1.74705\t1074.94713499826\t0.56\t10.085\t0\t75\t99\t\t-1\t \t0\t \t \t \tNaN\t47904\t0;7807.28466796875;5717.341796875;13474.2958984375;16493.6396484375;19157.744140625;0\t13474.2958984375;10645.7109375\t0\t\t\r\n-BSA_min_23\tMULTI\t1\t1164.5167\t1163.5094\t1164.5167\tNaN\t6\t4\t2\t\t0.50944\t-0.065774688654983\t0.883473\t1164.51651446826\t0.569\t8.245\t0\t81\t99\t\t-1\t \t0\t \t \t \tNaN\t30247\t0;5882.703125;19118.6171875;25656.2758789063;16791.0786132813;0\t19902.078125;6989.12060546875\t0\t\t\r\n-BSA_min_23\tMULTI\t1\t1177.4707\t1176.4634\t1177.4707\tNaN\t18\t7\t3\t\t0.463421\t-0.117752640125445\t0.401898\t1177.47052434449\t0.565\t13.784\t0\t65\t99\t\t-1\t \t0\t \t \t \tNaN\t191160\t0;13462.1650390625;32176.0517578125;66198.634765625;127578.37890625;153005.427734375;176360.41015625;148912.65625;0\t107823.8203125;52374.53515625;18917.345703125\t1\t64\t0\r\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/evidence.txt
--- a/test-data/single/combined/txt/evidence.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,7 +0,0 @@
-Sequence Length Modifications Modified sequence Oxidation (M) Probabilities Oxidation (M) Score Diffs Oxidation (M) Missed cleavages Proteins Leading proteins Leading razor protein Type Raw file Experiment MS/MS m/z Charge m/z Mass Resolution Uncalibrated - Calibrated m/z [ppm] Uncalibrated - Calibrated m/z [Da] Mass error [ppm] Mass error [Da] Uncalibrated mass error [ppm] Uncalibrated mass error [Da] Max intensity m/z 0 Retention time Retention length Calibrated retention time Calibrated retention time start Calibrated retention time finish Retention time calibration Match time difference Match m/z difference Match q-value Match score Number of data points Number of scans Number of isotopic peaks PIF Fraction of total spectrum Base peak fraction PEP MS/MS count MS/MS scan number Score Delta score Combinatorics Intensity Reverse Potential contaminant id Protein group IDs Peptide ID Mod. peptide ID MS/MS IDs Best MS/MS AIF MS/MS IDs Oxidation (M) site IDs
-DSFDIIK 7 Unmodified _DSFDIIK_ 0 0 CON__ENSEMBL:ENSBTAP00000016046 CON__ENSEMBL:ENSBTAP00000016046 CON__ENSEMBL:ENSBTAP00000016046 MULTI-MSMS BSA_min_23 BSA_min_23.mzXML 419.221313476563 2 419.221268 836.427984 NaN 0 0 0.54276 0.00022754 0.54276 0.00022754 419.22139467134 0.58669 0.13742 0.58669 0.46121 0.59862 0 11 4 3 0 0 0 0.010549 1 96 0 0 1 768320 + 0 2 0 0 0 0
-LLESEECR 8 Unmodified _LLESEECR_ 0 0 CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 CON__Q14CN4-1 CON__Q14CN4-1 MSMS BSA_min_23 BSA_min_23.mzXML 518.238220214844 2 518.242406 1034.47026 NaN NaN NaN NaN NaN NaN NaN NaN 0.50957 1 0.50957 0.0095717 1.0096 0 0 0 0 0.0075205 1 86 1.6313 1.6313 1 + 1 5 1 1 1 1
-LVTDLTK 7 Unmodified _LVTDLTK_ 0 0 CON__P02769;bsa;CON__P02768-1 CON__P02769 CON__P02769 MSMS BSA_min_23 BSA_min_23.mzXML 395.239288330078 2 395.239461 788.46437 NaN NaN NaN NaN NaN NaN NaN NaN 0.010013 1 0.010013 -0.48999 0.51001 0 0 0 0 0.0046553 1 2 0 0 1 + 2 0 2 2 2 2
-QLELEKQLEK 10 Unmodified _QLELEKQLEK_ 0 1 CON__ENSEMBL:ENSBTAP00000001528 CON__ENSEMBL:ENSBTAP00000001528 CON__ENSEMBL:ENSBTAP00000001528 MULTI-SECPEP BSA_min_23 BSA_min_23.mzXML 419.221313476563 3 419.906482 1256.69762 NaN 0 0 0.052788 2.2166E-05 0.052788 2.2166E-05 419.9067499241 0.32847 0.47559 0.32847 0.12303 0.59862 0 25 14 2 0 0 0 0.011549 1 96 0 0 1 57554 + 3 1 3 3 3 3
-SLSAIRER 8 Unmodified _SLSAIRER_ 0 1 CON__Q03247 CON__Q03247 CON__Q03247 MULTI-SECPEP BSA_min_23 BSA_min_23.mzXML 465.766693115234 2 466.269616 930.524678 NaN 0 0 -3.0904 -0.0014409 -3.0904 -0.0014409 466.26850803291 0.10674 0.17216 0.10674 -0.014552 0.15761 0 6 4 2 0 0 0 0.011549 1 17 0 0 1 33499 + 4 4 4 4 4 4
-TLGPWGQR 8 Unmodified _TLGPWGQR_ 0 0 CON__ENSEMBL:ENSBTAP00000018574 CON__ENSEMBL:ENSBTAP00000018574 CON__ENSEMBL:ENSBTAP00000018574 MULTI-MSMS BSA_min_23 BSA_min_23.mzXML 457.746032714844 2 457.745776 913.477 NaN 0 0 -0.28456 -0.00013026 -0.28456 -0.00013026 457.745456355006 0.4547 0.40477 0.4547 0.19386 0.59862 -5.5511E-17 18 12 2 0 0 0 0.01108 1 72 0 0 1 61894 + 5 3 5 5 5 5
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/modificationSpecificPeptides.txt
--- a/test-data/single/combined/txt/modificationSpecificPeptides.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,7 +0,0 @@
-Sequence Modifications Mass Mass Fractional Part Protein Groups Proteins Unique (Groups) Unique (Proteins) Oxidation (M) Missed cleavages Experiment BSA_min_23.mzXML Retention time Calibrated retention time Charges PEP MS/MS scan number Raw file Score Delta score Intensity Intensity BSA_min_23.mzXML Reverse Potential contaminant id Protein group IDs Peptide ID Evidence IDs MS/MS IDs Best MS/MS Oxidation (M) site IDs MS/MS Count
-DSFDIIK Unmodified 836.42798 0.42798405 2 CON__ENSEMBL:ENSBTAP00000016046 yes yes 0 0 1 0.58669 0.58669 2 0.010549 96 BSA_min_23 0 0 768320 768320 + 0 2 0 0 0 0 1
-LLESEECR Unmodified 1034.4703 0.47025958 5 CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 yes no 0 0 1 0.50957 0.50957 2 0.0075205 86 BSA_min_23 1.6313 1.6313 0 0 + 1 5 1 1 1 1 1
-LVTDLTK Unmodified 788.46437 0.46436956 0 CON__P02769;bsa;CON__P02768-1 yes no 0 0 1 0.010013 0.010013 2 0.0046553 2 BSA_min_23 0 0 0 0 + 2 0 2 2 2 2 1
-QLELEKQLEK Unmodified 1256.6976 0.69761697 1 CON__ENSEMBL:ENSBTAP00000001528 yes yes 0 1 1 0.32847 0.32847 3 0.011549 96 BSA_min_23 0 0 57554 57554 + 3 1 3 3 3 3 0
-SLSAIRER Unmodified 930.52468 0.52467841 4 CON__Q03247 yes yes 0 1 1 0.10674 0.10674 2 0.011549 17 BSA_min_23 0 0 33499 33499 + 4 4 4 4 4 4 0
-TLGPWGQR Unmodified 913.477 0.47699993 3 CON__ENSEMBL:ENSBTAP00000018574 yes yes 0 0 1 0.4547 0.4547 2 0.01108 72 BSA_min_23 0 0 61894 61894 + 5 3 5 5 5 5 1
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/msms.txt
--- a/test-data/single/combined/txt/msms.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,7 +0,0 @@
-Raw file Scan number Scan index Sequence Length Missed cleavages Modifications Modified sequence Oxidation (M) Probabilities Oxidation (M) Score Diffs Oxidation (M) Proteins Charge Fragmentation Mass analyzer Type Scan event number Isotope index m/z Mass Mass error [ppm] Mass error [Da] Simple mass error [ppm] Retention time PEP Score Delta score Score diff Localization prob Combinatorics PIF Fraction of total spectrum Base peak fraction Precursor Full ScanNumber Precursor Intensity Precursor Apex Fraction Precursor Apex Offset Precursor Apex Offset Time Matches Intensities Mass Deviations [Da] Mass Deviations [ppm] Masses Number of Matches Intensity coverage Peak coverage Neutral loss level ETD identification type Reverse All scores All sequences All modified sequences id Protein group IDs Peptide ID Mod. peptide ID Evidence ID Oxidation (M) site IDs
-BSA_min_23 96 77 DSFDIIK 7 0 Unmodified _DSFDIIK_ 0 CON__ENSEMBL:ENSBTAP00000016046 2 CID FTMS MULTI-MSMS 1 0 419.22127 836.42798 0.54276 0.00022754 NaN 0.57043 0.010549 0 0 NaN NaN 1 0 0 0 95 346270.625 0.704625040984097 -1 0.0243583333333334 0 0 0 None Unknown 0 DSFDIIK _DSFDIIK_ 0 2 0 0 0
-BSA_min_23 86 70 LLESEECR 8 0 Unmodified _LLESEECR_ 0 CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 2 CID FTMS MSMS 5 518.24241 1034.4703 NaN NaN NaN 0.50957 0.0075205 1.6313 1.6313 NaN NaN 1 0 0 0 81 10271.2001953125 1 0 0 y6 11.7 0.0135096433999706 16.6930827476743 809.2958984375 1 0.00309955136349784 0.00847457627118644 None Unknown 1.63126590808724;0;0 LLESEECR;LGSDMEDLR;QLNQEMEK _LLESEECR_;_LGSDMEDLR_;_QLNQEM(ox)EK_ 1 5 1 1 1
-BSA_min_23 2 0 LVTDLTK 7 0 Unmodified _LVTDLTK_ 0 CON__P02769;bsa;CON__P02768-1 2 CID FTMS MSMS 1 395.23946 788.46437 NaN NaN NaN 0.010013 0.0046553 0 0 NaN NaN 1 0 0 0 -1 NaN NaN 0 NaN 0 0 0 None Unknown 0;0 LVTDLTK;DSLLTLK _LVTDLTK_;_DSLLTLK_ 2 0 2 2 2
-BSA_min_23 96 77 QLELEKQLEK 10 1 Unmodified _QLELEKQLEK_ 0 CON__ENSEMBL:ENSBTAP00000001528 3 CID FTMS MULTI-SECPEP 1 -2 419.90648 1256.6976 0.052788 2.2166E-05 NaN 0.57043 0.011549 0 0 NaN NaN 1 0 0 0 95 346270.625 0.704625040984097 -1 0.0243583333333334 0 0 0 None Unknown 0 QLELEKQLEK _QLELEKQLEK_ 3 1 3 3 3
-BSA_min_23 17 13 SLSAIRER 8 1 Unmodified _SLSAIRER_ 0 CON__Q03247 2 CID FTMS MULTI-SECPEP 4 -1 466.26962 930.52468 -3.0904 -0.0014409 NaN 0.096553 0.011549 0 0 NaN NaN 1 0 0 0 -1 NaN NaN 0 NaN 0 0 0 None Unknown 0 SLSAIRER _SLSAIRER_ 4 4 4 4 4
-BSA_min_23 72 58 TLGPWGQR 8 0 Unmodified _TLGPWGQR_ 0 CON__ENSEMBL:ENSBTAP00000018574 2 CID FTMS MULTI-MSMS 1 0 457.74578 913.477 -0.28456 -0.00013026 NaN 0.42593 0.01108 0 0 NaN NaN 1 0 0 0 71 32936.3203125 0.758644306612328 -2 0.0615566666666666 0 0 0 None Unknown 0;0 TLGPWGQR;IHVFNER _TLGPWGQR_;_IHVFNER_ 5 3 5 5 5
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/msmsScans.txt
--- a/test-data/single/combined/txt/msmsScans.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,82 +0,0 @@\n-Raw file\tScan number\tRetention time\tIon injection time\tTotal ion current\tCollision energy\tSummations\tBase peak intensity\tElapsed time\tIdentified\tMS/MS IDs\tSequence\tLength\tFiltered peaks\tm/z\tMass\tCharge\tType\tFragmentation\tMass analyzer\tParent intensity fraction\tFraction of total spectrum\tBase peak fraction\tPrecursor full scan number\tPrecursor intensity\tPrecursor apex fraction\tPrecursor apex offset\tPrecursor apex offset time\tScan event number\tModifications\tModified sequence\tProteins\tScore\tExperiment\tIntens Comp Factor\tCTCD Comp\tRawOvFtT\tAGC Fill\tScan index\tMS scan index\tMS scan number\r\n-BSA_min_23\t2\t0.010013\t-1\t35863\t35\t0\t0\t-1\t+\t2\tLVTDLTK\t7\t103\t395.239288330078\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t1\tUnmodified\t_LVTDLTK_\tbsa;CON__P02768-1;CON__P02769\t0\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t0\t0\t1\r\n-BSA_min_23\t3\t0.01458\t-1\t30585\t35\t0\t0\t-1\t-\t-1\t \t0\t164\t552.918823242188\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t2\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t1\t0\t1\r\n-BSA_min_23\t4\t0.020265\t-1\t11886\t35\t0\t0\t-1\t-\t-1\t \t0\t126\t676.387463660038\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t3\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t2\t0\t1\r\n-BSA_min_23\t5\t0.025633\t-1\t12813\t35\t0\t0\t-1\t-\t-1\t \t0\t146\t751.810668945313\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t4\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t3\t0\t1\r\n-BSA_min_23\t6\t0.031253\t-1\t10791\t35\t0\t0\t-1\t-\t-1\t \t0\t124\t670.800842285156\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t5\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t4\t0\t1\r\n-BSA_min_23\t8\t0.044372\t-1\t7950.3\t35\t0\t0\t-1\t-\t-1\t \t0\t111\t456.581360511828\t2733.44450427137\t6\tMULTI\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t1\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t5\t1\t7\r\n-BSA_min_23\t9\t0.049315\t-1\t13730\t35\t0\t0\t-1\t-\t-1\t \t0\t120\t562.257629394531\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t2\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t6\t1\t7\r\n-BSA_min_23\t10\t0.05446\t-1\t8774.7\t35\t0\t0\t-1\t-\t-1\t \t0\t121\t589.203410887949\t588.196134421349\t1\tMULTI\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t3\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t7\t1\t7\r\n-BSA_min_23\t11\t0.06018\t-1\t4436.2\t35\t0\t0\t-1\t-\t-1\t \t0\t115\t828.876770019531\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t4\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t8\t1\t7\r\n-BSA_min_23\t12\t0.065908\t-1\t3625.8\t35\t0\t0\t-1\t-\t-1\t \t0\t112\t639.798400878906\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t5\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t9\t1\t7\r\n-BSA_min_23\t14\t0.078957\t-1\t13236\t35\t0\t0\t-1\t-\t-1\t \t0\t137\t883.333059829652\t1764.6515667261\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t13\t171569.53125\t0.0583552615411773\t-4\tNaN\t1\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t10\t2\t13\r\n-BSA_min_23\t15\t0.084805\t-1\t6304.6\t35\t0\t0\t-1\t-\t-1\t \t0\t120\t602.8994140625\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t2\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t11\t2\t13\r\n-BSA_min_23\t16\t0.090573\t-1\t12119\t35\t0\t0\t-1\t-\t-1\t \t0\t135\t648.602708784548\t1942.78629695384\t3\tMULTI\tCID\tFTMS\t0\t0\t0\t13\t52074.7734375\t0.102435594507697\t-16\tNaN\t3\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t12\t2\t13\r\n-BSA_min_23\t17\t0.096553\t-1\t5932.3\t35\t0\t0\t-1\t-\t-1\t \t0\t110\t465.766693115234\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t4\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t13\t2\t13\r\n-BSA_min_23\t18\t0.10154\t-1\t4161.5\t35\t0\t0\t-1\t-\t-1\t \t0\t108\t605.758117675781\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t-1\tNaN\tNaN\t0\tNaN\t5\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t14\t2\t13\r\n-BSA_min_23\t20\t0.11439\t-1\t65173\t35\t0\t0\t-1\t-\t-1\t \t0\t102\t387.700285234344\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t19\t5176.81640625\t0.231645826498235\t-7\tNaN\t1\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t15\t3\t19\r\n-BSA_min_23\t21\t0.11842\t-1\t33705\t35\t0\t0\t-1\t-\t-1\t \t0\t123\t430.226482307928\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t19\t7040.359375\t0.343536017509867\t-2\t0.0701033333333334\t2\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t16\t3\t19\r\n-BSA_min_23\t22\t0.1234\t-1\t9502.6\t35\t0\t0\t-1\t-\t-1\t \t0\t111\t455.744353147131\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t19\t112493.5\t0.827447086298523\t-1\t0.0355433333333333\t3\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t17\t3\t19\r\n-BSA_min_23\t23\t0.12833\t-1\t2553.5\t35\t0\t0\t-1\t-\t-1\t \t0\t105\t664.964606092136\t1991.87198887661\t3\tMULTI\tCID\tFTMS\t0\t0\t0\t19\t58531.14453125\t1\t0\t0\t4\t \t \t'..b'zXML\tNaN\tNaN\tNaN\t0\t62\t13\t75\r\n-BSA_min_23\t78\t0.46188\t-1\t2747.5\t35\t0\t0\t-1\t-\t-1\t \t0\t106\t664.964606092136\t1991.87198887661\t3\tMULTI\tCID\tFTMS\t0\t0\t0\t75\t18094.236328125\t0.676187560804335\t3\t-0.0957016666666666\t3\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t63\t13\t75\r\n-BSA_min_23\t79\t0.46792\t-1\t3792.1\t35\t0\t0\t-1\t-\t-1\t \t0\t127\t782.86823361998\t1563.72191430676\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t75\t24751.693359375\t0.989113548898297\t-1\t0.0244116666666667\t4\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t64\t13\t75\r\n-BSA_min_23\t80\t0.4736\t-1\t1227.2\t35\t0\t0\t-1\t-\t-1\t \t0\t96\t1173.07641144645\t2344.1382699597\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t75\t23081.546875\t1\t0\t0\t5\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t65\t13\t75\r\n-BSA_min_23\t82\t0.48722\t-1\t6556.1\t35\t0\t0\t-1\t-\t-1\t \t0\t116\t629.356568937177\t1256.69858494115\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t81\t28788.931640625\t1\t0\t0\t1\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t66\t14\t81\r\n-BSA_min_23\t83\t0.4925\t-1\t6615.3\t35\t0\t0\t-1\t-\t-1\t \t0\t116\t559.768784063361\t1117.52301519352\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t81\t35334.84765625\t0.949368528711517\t-1\t0.0369099999999999\t2\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t67\t14\t81\r\n-BSA_min_23\t84\t0.49762\t-1\t6183.7\t35\t0\t0\t-1\t-\t-1\t \t0\t125\t972.401410273474\t1942.78826761375\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t81\t19756.91796875\t0.347354270628424\t7\tNaN\t3\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t68\t14\t81\r\n-BSA_min_23\t85\t0.50353\t-1\t3559.8\t35\t0\t0\t-1\t-\t-1\t \t0\t116\t681.999313403946\t2042.97611081204\t3\tMULTI\tCID\tFTMS\t0\t0\t0\t81\t11550.4775390625\t0.629091502669348\t2\t-0.0587916666666667\t4\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t69\t14\t81\r\n-BSA_min_23\t86\t0.50957\t-1\t5114.2\t35\t0\t0\t-1\t+\t1\tLLESEECR\t8\t118\t518.240989833781\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t81\t10271.2001953125\t1\t0\t0\t5\tUnmodified\t_LLESEECR_\tCON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5\t1.63126590808724\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t70\t14\t81\r\n-BSA_min_23\t88\t0.52259\t-1\t44411\t35\t0\t0\t-1\t-\t-1\t \t0\t134\t385.207382835291\t384.200106368691\t1\tMULTI\tCID\tFTMS\t0\t0\t0\t87\t5929296.5\t0.739051055541228\t-3\t0.0963616666666667\t1\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t71\t15\t87\r\n-BSA_min_23\t89\t0.52681\t-1\t3749.8\t35\t0\t0\t-1\t-\t-1\t \t0\t100\t597.066144900786\t2980.29434217093\t5\tMULTI\tCID\tFTMS\t0\t0\t0\t87\t19359.11328125\t0.820197080002651\t2\t-0.04811\t2\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t72\t15\t87\r\n-BSA_min_23\t90\t0.53279\t-1\t3364.5\t35\t0\t0\t-1\t-\t-1\t \t0\t128\t731.29825780069\t1460.58196266818\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t87\t10634.3564453125\t0.960368079417471\t-1\t0.0350400000000001\t3\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t73\t15\t87\r\n-BSA_min_23\t92\t0.54611\t-1\t4680.5\t35\t0\t0\t-1\t-\t-1\t \t0\t116\t582.760858227368\t1163.50716352154\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t91\t46220.83984375\t0.762103661377976\t-2\t0.0587916666666667\t1\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t74\t16\t91\r\n-BSA_min_23\t93\t0.55132\t-1\t3773.2\t35\t0\t0\t-1\t-\t-1\t \t0\t106\t635.60201346581\t1903.78421099763\t3\tMULTI\tCID\tFTMS\t0\t0\t0\t91\t24284.580078125\t0.586968526901584\t-2\t0.0587916666666667\t2\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t75\t16\t91\r\n-BSA_min_23\t94\t0.55721\t-1\t4670.5\t35\t0\t0\t-1\t-\t-1\t \t0\t143\t722.292864587666\t1442.57117624213\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t91\t14970.0166015625\t0.470778833500893\t-2\t0.0587916666666667\t3\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t76\t16\t91\r\n-BSA_min_23\t96\t0.57043\t-1\t15235\t35\t0\t0\t-1\t+\t0\tDSFDIIK\t7\t110\t419.22149602984\t836.428439126479\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t95\t346270.625\t0.704625040984097\t-1\t0.0243583333333334\t1\tUnmodified\t_DSFDIIK_\tCON__ENSEMBL:ENSBTAP00000016046\t0\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t77\t17\t95\r\n-BSA_min_23\t97\t0.57533\t-1\t4806.4\t35\t0\t0\t-1\t-\t-1\t \t0\t129\t722.292864587666\t1442.57117624213\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t95\t26752.708984375\t0.841322322069994\t-1\t0.0243583333333334\t2\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t78\t17\t95\r\n-BSA_min_23\t98\t0.58084\t-1\t3667\t35\t0\t0\t-1\t-\t-1\t \t0\t113\t595.224647156549\tNaN\t0\tPEAK\tCID\tFTMS\t0\t0\t0\t95\t6964.16259765625\t0.341923515563021\t-1\t0.0243583333333334\t3\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t79\t17\t95\r\n-BSA_min_23\t100\t0.59414\t-1\t44171\t35\t0\t0\t-1\t-\t-1\t \t0\t176\t882.846108818038\t1763.67766470288\t2\tMULTI\tCID\tFTMS\t0\t0\t0\t99\t379571.375\t0.768338756470332\t1\tNaN\t1\t \t \t \tNaN\tBSA_min_23.mzXML\tNaN\tNaN\tNaN\t0\t80\t18\t99\r\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/mzRange.txt
--- a/test-data/single/combined/txt/mzRange.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1881 +0,0 @@\n-Raw file\tm/z\tPeaks / Da\tSingle peaks / Da\tIsotope patterns / Da\tSingle isotope patterns / Da\tSILAC pairs / Da\tIdentified SILAC pairs / Da\tSILAC identification rate [%]\tMS/MS / Da\tIdentified MS/MS / Da\tIdentification rate [%]\r\n-BSA_min_23\t111.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t112.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t113.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t114.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t115.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t116.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t117.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t118.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t119.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t120.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t121.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t122.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t123.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t124.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t125.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t126.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t127.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t128.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t129.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t130.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t131.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t132.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t133.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t134.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t135.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t136.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t137.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t138.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t139.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t140.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t141.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t142.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t143.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t144.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t145.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t146.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t147.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t148.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t149.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t150.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t151.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t152.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t153.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t154.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t155.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t156.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t157.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t158.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t159.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t160.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t161.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t162.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t163.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t164.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t165.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t166.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t167.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t168.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t169.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t170.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t171.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t172.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t173.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t174.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t175.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t176.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t177.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t178.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t179.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t180.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t181.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t182.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t183.199897766113\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t184.199897766113\t0'..b'\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1913.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1914.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1915.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1916.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1917.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1918.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1919.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1920.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1921.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1922.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1923.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1924.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1925.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1926.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1927.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1928.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1929.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1930.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1931.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1932.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1933.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1934.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1935.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1936.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1937.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1938.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1939.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1940.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1941.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1942.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1943.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1944.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1945.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1946.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1947.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1948.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1949.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1950.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1951.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1952.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1953.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1954.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1955.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1956.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1957.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1958.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1959.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1960.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1961.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1962.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1963.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1964.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1965.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1966.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1967.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1968.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1969.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1970.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1971.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1972.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1973.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1974.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1975.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1976.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1977.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1978.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1979.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1980.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1981.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1982.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1983.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1984.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1985.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1986.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1987.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1988.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1989.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n-BSA_min_23\t1990.19989776611\t0\t0\t0\t0\t0\t0\tNaN\t0\t0\t\r\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/mzTab.mzTab
--- a/test-data/single/combined/txt/mzTab.mzTab Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,45 +0,0 @@
-MTD mzTab-version 1.0.0
-MTD mzTab-mode Complete
-MTD mzTab-type Identification
-MTD title null
-MTD description null
-MTD software[1] [MS, MS:1001583, MaxQuant,1.6.3.4]
-COM [, CHEMMOD:57.0214637236, Carbamidomethyl (C),]
-MTD fixed_mod[1] [, , CHEMMOD:57.0214637236,]
-MTD fixed_mod[1]-site C
-MTD fixed_mod[1]-position Anywhere
-COM [, CHEMMOD:15.9949146221, Oxidation (M),]
-MTD variable_mod[1] [, , CHEMMOD:15.9949146221,]
-MTD variable_mod[1]-site M
-MTD variable_mod[1]-position Anywhere
-MTD protein_search_engine_score[1] [MS, MS:1002375, protein group-level combined FDRscore, ]
-MTD peptide_search_engine_score[1] [MS, MS:1001250, local FDR, ]
-MTD psm_search_engine_score[1] [MS, MS:1002338, Andromeda:score,  ]
-MTD psm_search_engine_score[2] [MS, MS:1002995, Andromeda:PEP,  ]
-MTD ms_run[1]-format [MS, MS:1002996, Andromeda:apl file format, ]
-MTD ms_run[1]-location file://d:/shared/dglaetzer/maxquant_tool/test1/combined/andromeda/allspectra.cid.ftms.secpep.sil0_0.apl
-MTD ms_run[1]-id_format [MS, MS:1000776, scan number only nativeID format, ]
-MTD ms_run[2]-format [MS, MS:1002996, Andromeda:apl file format, ]
-MTD ms_run[2]-location file://d:/shared/dglaetzer/maxquant_tool/test1/combined/andromeda/allspectra.cid.ftms.iso_0.apl
-MTD ms_run[2]-id_format [MS, MS:1000776, scan number only nativeID format, ]
-
-PRH accession description taxid species database database_version search_engine best_search_engine_score[1] search_engine_score[1]_ms_run[1] search_engine_score[1]_ms_run[2] num_psms_ms_run[1] num_psms_ms_run[2] num_peptides_distinct_ms_run[1] num_peptides_distinct_ms_run[2] num_peptides_unique_ms_run[1] num_peptides_unique_ms_run[2] ambiguity_members modifications protein_coverage opt_global_cv_MS:1002217_decoy_peptide 
-PRT CON__P02769 null null null null null [MS, MS:1002337, Andromeda, 1.6.3.4] 6.33205607832812 null null null null null null null null CON__P02769, bsa, CON__P02768-1 null 0.012 0
-PRT CON__ENSEMBL:ENSBTAP00000001528 null null null null null [MS, MS:1002337, Andromeda, 1.6.3.4] 5.93746772688895 null null null null null null null null CON__ENSEMBL:ENSBTAP00000001528 null 0.008 0
-PRT CON__ENSEMBL:ENSBTAP00000016046 null null null null null [MS, MS:1002337, Andromeda, 1.6.3.4] 5.97677849538172 null null null null null null null null CON__ENSEMBL:ENSBTAP00000016046 null 0.01 0
-PRT CON__ENSEMBL:ENSBTAP00000018574 null null null null null [MS, MS:1002337, Andromeda, 1.6.3.4] 5.95544937626172 null null null null null null null null CON__ENSEMBL:ENSBTAP00000018574 null 0.016 0
-PRT CON__Q03247 null null null null null [MS, MS:1002337, Andromeda, 1.6.3.4] 5.93746772688895 null null null null null null null null CON__Q03247 null 0.025 0
-PRT CON__Q14CN4-1 null null null null null [MS, MS:1002337, Andromeda, 1.6.3.4] 6.1237531147968 null null null null null null null null CON__Q14CN4-1, CON__Q3SY84, CON__Q9R0H5 null 0.016 0
-
-PSH sequence PSM_ID accession unique database database_version search_engine search_engine_score[1] search_engine_score[2] modifications retention_time charge exp_mass_to_charge calc_mass_to_charge spectra_ref pre post start end opt_global_cv_MS:1000776_scan_number_only_nativeID_format opt_global_cv_MS:1002217_decoy_peptide 
-PSM DSFDIIK 1 CON__ENSEMBL:ENSBTAP00000016046 1 null null [MS, MS:1002338, Andromeda:score, 1.6.3.4] 0 0.010549248059121 null 0.570428333333333 2 419.22 419.22127 ms_run[2]:index=5 R R 646 652 96 0
-PSM LLESEECR 2 CON__Q14CN4-1 0 null null [MS, MS:1002338, Andromeda:score, 1.6.3.4] 1.63126590808724 0.00752050293704335 null 0.509571666666667 2 518.24 518.24241 ms_run[2]:index=13 K M 430 437 86 0
-PSM LLESEECR 2 CON__Q3SY84 0 null null [MS, MS:1002338, Andromeda:score, 1.6.3.4] 1.63126590808724 0.00752050293704335 null 0.509571666666667 2 518.24 518.24241 ms_run[2]:index=13 K M 430 437 86 0
-PSM LLESEECR 2 CON__Q9R0H5 0 null null [MS, MS:1002338, Andromeda:score, 1.6.3.4] 1.63126590808724 0.00752050293704335 null 0.509571666666667 2 518.24 518.24241 ms_run[2]:index=13 K M 430 437 86 0
-PSM LVTDLTK 3 CON__P02769 0 null null [MS, MS:1002338, Andromeda:score, 1.6.3.4] 0 0.00465525978542915 null 0.0100133333333333 2 395.24 395.23946 ms_run[2]:index=4 K V 257 263 2 0
-PSM LVTDLTK 3 bsa 0 null null [MS, MS:1002338, Andromeda:score, 1.6.3.4] 0 0.00465525978542915 null 0.0100133333333333 2 395.24 395.23946 ms_run[2]:index=4 K V 257 263 2 0
-PSM LVTDLTK 3 CON__P02768-1 0 null null [MS, MS:1002338, Andromeda:score, 1.6.3.4] 0 0.00465525978542915 null 0.0100133333333333 2 395.24 395.23946 ms_run[2]:index=4 K V 257 263 2 0
-PSM QLELEKQLEK 4 CON__ENSEMBL:ENSBTAP00000001528 1 null null [MS, MS:1002338, Andromeda:score, 1.6.3.4] 0 0.0115486780155693 null 0.570428333333333 3 419.91 419.90648 ms_run[1]:index=5 R Q 408 417 96 0
-PSM SLSAIRER 5 CON__Q03247 1 null null [MS, MS:1002338, Andromeda:score, 1.6.3.4] 0 0.0115486780155693 null 0.0965533333333333 2 466.27 466.26962 ms_run[1]:index=2 R F 190 197 17 0
-PSM TLGPWGQR 6 CON__ENSEMBL:ENSBTAP00000018574 1 null null [MS, MS:1002338, Andromeda:score, 1.6.3.4] 0 0.0110802771561295 null 0.425933333333333 2 457.75 457.74578 ms_run[2]:index=9 R D 20 27 72 0
-
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/parameters.txt
--- a/test-data/single/combined/txt/parameters.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,105 +0,0 @@
-Parameter Value
-Version 1.6.3.4
-User name dglaetzer
-Machine name FPROT-BEAST
-Date of writing 04/04/2019 17:32:37
-Include contaminants True
-PSM FDR 0.01
-PSM FDR Crosslink 0.01
-Protein FDR 0.01
-Site FDR 0.01
-Use Normalized Ratios For Occupancy True
-Min. peptide Length 7
-Min. score for unmodified peptides 0
-Min. score for modified peptides 40
-Min. delta score for unmodified peptides 0
-Min. delta score for modified peptides 6
-Min. unique peptides 0
-Min. razor peptides 1
-Min. peptides 1
-Use only unmodified peptides and True
-Modifications included in protein quantification Oxidation (M)
-Peptides used for protein quantification Razor
-Discard unmodified counterpart peptides True
-Label min. ratio count 2
-Use delta score False
-iBAQ False
-iBAQ log fit False
-Match between runs False
-Find dependent peptides False
-Fasta file D:\fasta\bsa.fasta
-Decoy mode revert
-Include contaminants True
-Advanced ratios True
-Fixed andromeda index folder
-Temporary folder
-Combined folder location
-Second peptides True
-Stabilize large LFQ ratios True
-Separate LFQ in parameter groups False
-Require MS/MS for LFQ comparisons True
-Calculate peak properties False
-Main search max. combinations 200
-Advanced site intensities True
-Write msScans table False
-Write msmsScans table True
-Write ms3Scans table True
-Write allPeptides table True
-Write mzRange table True
-Write pasefMsmsScans table True
-Write accumulatedPasefMsmsScans table True
-Max. peptide mass [Da] 4600
-Min. peptide length for unspecific search 8
-Max. peptide length for unspecific search 25
-Razor protein FDR True
-Disable MD5 False
-Max mods in site table 3
-Match unidentified features False
-Epsilon score for mutations
-Evaluate variant peptides separately True
-Variation mode None
-MS/MS tol. (FTMS) 20 ppm
-Top MS/MS peaks per Da interval. (FTMS) 12
-Da interval. (FTMS) 100
-MS/MS deisotoping (FTMS) True
-MS/MS deisotoping tolerance (FTMS) 7
-MS/MS deisotoping tolerance unit (FTMS) ppm
-MS/MS higher charges (FTMS) True
-MS/MS water loss (FTMS) True
-MS/MS ammonia loss (FTMS) True
-MS/MS dependent losses (FTMS) True
-MS/MS recalibration (FTMS) False
-MS/MS tol. (ITMS) 0.5 Da
-Top MS/MS peaks per Da interval. (ITMS) 8
-Da interval. (ITMS) 100
-MS/MS deisotoping (ITMS) False
-MS/MS deisotoping tolerance (ITMS) 0.15
-MS/MS deisotoping tolerance unit (ITMS) Da
-MS/MS higher charges (ITMS) True
-MS/MS water loss (ITMS) True
-MS/MS ammonia loss (ITMS) True
-MS/MS dependent losses (ITMS) True
-MS/MS recalibration (ITMS) False
-MS/MS tol. (TOF) 40 ppm
-Top MS/MS peaks per Da interval. (TOF) 10
-Da interval. (TOF) 100
-MS/MS deisotoping (TOF) True
-MS/MS deisotoping tolerance (TOF) 0.01
-MS/MS deisotoping tolerance unit (TOF) Da
-MS/MS higher charges (TOF) True
-MS/MS water loss (TOF) True
-MS/MS ammonia loss (TOF) True
-MS/MS dependent losses (TOF) True
-MS/MS recalibration (TOF) False
-MS/MS tol. (Unknown) 0.5 Da
-Top MS/MS peaks per Da interval. (Unknown) 8
-Da interval. (Unknown) 100
-MS/MS deisotoping (Unknown) False
-MS/MS deisotoping tolerance (Unknown) 0.15
-MS/MS deisotoping tolerance unit (Unknown) Da
-MS/MS higher charges (Unknown) True
-MS/MS water loss (Unknown) True
-MS/MS ammonia loss (Unknown) True
-MS/MS dependent losses (Unknown) True
-MS/MS recalibration (Unknown) False
-Site tables Oxidation (M)Sites.txt
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/peptideSection.txt
--- a/test-data/single/combined/txt/peptideSection.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,7 +0,0 @@
-PEH sequence accession unique database database_version search_engine best_search_engine_score[1] search_engine_score[1]_ms_run[0] modifications retention_time retention_time_window charge mass_to_charge spectra_ref peptide_abundance_study_variable[0] peptide_abundance_stdev_study_variable[0] peptide_abundance_std_error_study_variable[0]
-PEP DSFDIIK null
-PEP LLESEECR null
-PEP LVTDLTK null
-PEP QLELEKQLEK null
-PEP SLSAIRER null
-PEP TLGPWGQR null
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/peptides.txt
--- a/test-data/single/combined/txt/peptides.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,7 +0,0 @@
-Sequence N-term cleavage window C-term cleavage window Amino acid before First amino acid Second amino acid Second last amino acid Last amino acid Amino acid after A Count R Count N Count D Count C Count Q Count E Count G Count H Count I Count L Count K Count M Count F Count P Count S Count T Count W Count Y Count V Count U Count O Count Length Missed cleavages Mass Proteins Leading razor protein Start position End position Unique (Groups) Unique (Proteins) Charges PEP Score Experiment BSA_min_23.mzXML Intensity Intensity BSA_min_23.mzXML Reverse Potential contaminant id Protein group IDs Mod. peptide IDs Evidence IDs MS/MS IDs Best MS/MS Oxidation (M) site IDs MS/MS Count
-DSFDIIK NHADIIFDITDGNLRDSFDIIKRYMDGMTV DITDGNLRDSFDIIKRYMDGMTVGVVRQVR R D S I K R 0 0 0 2 0 0 0 0 0 2 0 1 0 1 0 1 0 0 0 0 0 0 7 0 836.42798 CON__ENSEMBL:ENSBTAP00000016046 CON__ENSEMBL:ENSBTAP00000016046 646 652 yes yes 2 0.010549 0 1 768320 768320 + 0 2 0 0 0 0 1
-LLESEECR SLKLALDMEIATYRKLLESEECRMSGEYPN EIATYRKLLESEECRMSGEYPNSVSISVIS K L L C R M 0 1 0 0 1 0 3 0 0 0 2 0 0 0 0 1 0 0 0 0 0 0 8 0 1034.4703 CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 CON__Q14CN4-1 430 437 yes no 2 0.0075205 1.6313 1 0 0 + 1 5 1 1 1 1 1
-LVTDLTK LSQKFPKAEFVEVTKLVTDLTKVHKECCHG AEFVEVTKLVTDLTKVHKECCHGDLLECAD K L V T K V 0 0 0 1 0 0 0 0 0 0 2 1 0 0 0 0 2 0 0 1 0 0 7 0 788.46437 CON__P02769;bsa;CON__P02768-1 CON__P02769 257 263 yes no 2 0.0046553 0 1 0 0 + 2 0 2 2 2 2 1
-QLELEKQLEK QERKERERQEQERKRQLELEKQLEKQRELE QERKRQLELEKQLEKQRELERQREEERRKE R Q L E K Q 0 0 0 0 0 2 3 0 0 0 3 2 0 0 0 0 0 0 0 0 0 0 10 1 1256.6976 CON__ENSEMBL:ENSBTAP00000001528 CON__ENSEMBL:ENSBTAP00000001528 408 417 yes yes 3 0.011549 0 1 57554 57554 + 3 1 3 3 3 3 0
-SLSAIRER RLAVYQAGASEGAERSLSAIRERFGPLVEQ ASEGAERSLSAIRERFGPLVEQGQSRAATL R S L E R F 1 2 0 0 0 0 1 0 0 1 1 0 0 0 0 2 0 0 0 0 0 0 8 1 930.52468 CON__Q03247 CON__Q03247 190 197 yes yes 2 0.011549 0 1 33499 33499 + 4 4 4 4 4 4 0
-TLGPWGQR LRPLLLALLLASACRTLGPWGQRDDGGGEP LLASACRTLGPWGQRDDGGGEPESMEPRWG R T L Q R D 0 1 0 0 0 1 0 2 0 0 1 0 0 0 1 0 1 1 0 0 0 0 8 0 913.477 CON__ENSEMBL:ENSBTAP00000018574 CON__ENSEMBL:ENSBTAP00000018574 20 27 yes yes 2 0.01108 0 1 61894 61894 + 5 3 5 5 5 5 1
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/proteinGroups.txt
--- a/test-data/single/combined/txt/proteinGroups.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,7 +0,0 @@
-Protein IDs Majority protein IDs Peptide counts (all) Peptide counts (razor+unique) Peptide counts (unique) Fasta headers Number of proteins Peptides Razor + unique peptides Unique peptides Peptides BSA_min_23.mzXML Razor + unique peptides BSA_min_23.mzXML Unique peptides BSA_min_23.mzXML Sequence coverage [%] Unique + razor sequence coverage [%] Unique sequence coverage [%] Mol. weight [kDa] Sequence length Sequence lengths Q-value Score Sequence coverage BSA_min_23.mzXML [%] Intensity Intensity BSA_min_23.mzXML MS/MS count Only identified by site Reverse Potential contaminant id Peptide IDs Peptide is razor Mod. peptide IDs Evidence IDs MS/MS IDs Best MS/MS Oxidation (M) site IDs Oxidation (M) site positions
-CON__P02769;bsa;CON__P02768-1 CON__P02769;bsa;CON__P02768-1 1;1;1 1;1;1 1;1;1 ;bsa sp|P02769|ALBU_BOVIN Serum albumin OS=Bos taurus OX=9913 GN=ALB PE=1 SV=4; 3 1 1 1 1 1 1 1.2 1.2 1.2 69.293 607 607;607;609 0 6.3321 1.2 0 0 1 + 0 2 True 2 2 2 2
-CON__ENSEMBL:ENSBTAP00000001528 CON__ENSEMBL:ENSBTAP00000001528 1 1 1 1 1 1 1 1 1 1 0.8 0.8 0.8 137.98 1222 1222 0 5.9375 0.8 57554 57554 0 + 1 3 True 3 3 3 3
-CON__ENSEMBL:ENSBTAP00000016046 CON__ENSEMBL:ENSBTAP00000016046 1 1 1 1 1 1 1 1 1 1 1 1 1 77.456 706 706 0 5.9768 1 768320 768320 1 + 2 0 True 0 0 0 0
-CON__ENSEMBL:ENSBTAP00000018574 CON__ENSEMBL:ENSBTAP00000018574 1 1 1 1 1 1 1 1 1 1 1.6 1.6 1.6 55.207 496 496 0 5.9554 1.6 61894 61894 1 + 3 5 True 5 5 5 5
-CON__Q03247 CON__Q03247 1 1 1 1 1 1 1 1 1 1 2.5 2.5 2.5 35.979 316 316 0 5.9375 2.5 33499 33499 0 + 4 4 True 4 4 4 4
-CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 CON__Q14CN4-1;CON__Q3SY84;CON__Q9R0H5 1;1;1 1;1;1 1;1;1 ;; 3 1 1 1 1 1 1 1.6 1.6 1.6 55.877 511 511;523;524 0 6.1238 1.6 0 0 1 + 5 1 True 1 1 1 1
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/combined/txt/summary.txt
--- a/test-data/single/combined/txt/summary.txt Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,3 +0,0 @@
-Raw file Experiment Enzyme Enzyme mode Enzyme first search Enzyme mode first search Use enzyme first search Variable modifications Fixed modifications Multi modifications Variable modifications first search Use variable modifications first search Requantify Multiplicity Max. missed cleavages Labels0 LC-MS run type Time-dependent recalibration MS MS/MS MS3 MS/MS Submitted MS/MS Submitted (SIL) MS/MS Submitted (ISO) MS/MS Submitted (PEAK) MS/MS Identified MS/MS Identified (SIL) MS/MS Identified (ISO) MS/MS Identified (PEAK) MS/MS Identified [%] MS/MS Identified (SIL) [%] MS/MS Identified (ISO) [%] MS/MS Identified (PEAK) [%] Peptide Sequences Identified Peaks Peaks Sequenced Peaks Sequenced [%] Peaks Repeatedly Sequenced Peaks Repeatedly Sequenced [%] Isotope Patterns Isotope Patterns Sequenced Isotope Patterns Sequenced (z>1) Isotope Patterns Sequenced [%] Isotope Patterns Sequenced (z>1) [%] Isotope Patterns Repeatedly Sequenced Isotope Patterns Repeatedly Sequenced [%] Recalibrated Av. Absolute Mass Deviation [ppm] Mass Standard Deviation [ppm] Av. Absolute Mass Deviation [mDa] Mass Standard Deviation [mDa]
-BSA_min_23 BSA_min_23.mzXML Trypsin/P Specific False Oxidation (M) Carbamidomethyl (C) False False 1 1 Standard 19 81 0 111 51 0 60 4 2 0 2 3.6 3.92 NaN 3.33 6 1201 57 4.75 4 7.02 165 39 35 23.64 26.52 10 25.64 + 0.41463 0.43436 0.1789 0.18539
-Total 19 81 0 111 51 0 60 4 2 0 2 3.6 3.92 NaN 3.33 6 1201 165 39 35 23.64 26.52 10 25.64 0.41463 0.43436 0.1789 0.18539
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/single/mqpar.xml
--- a/test-data/single/mqpar.xml Thu Aug 15 08:09:00 2019 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,426 +0,0 @@\n-<?xml version="1.0" encoding="utf-8"?>\r\n-<MaxQuantParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">\r\n-   <fastaFiles>\r\n-      <FastaFileInfo>\r\n-         <fastaFilePath>D:\\fasta\\bsa.fasta</fastaFilePath>\r\n-         <identifierParseRule>>([^\\s]*)</identifierParseRule>\r\n-         <descriptionParseRule>>(.*)</descriptionParseRule>\r\n-         <taxonomyParseRule></taxonomyParseRule>\r\n-         <variationParseRule></variationParseRule>\r\n-         <modificationParseRule></modificationParseRule>\r\n-         <taxonomyId></taxonomyId>\r\n-      </FastaFileInfo>\r\n-   </fastaFiles>\r\n-   <fastaFilesProteogenomics>\r\n-   </fastaFilesProteogenomics>\r\n-   <fastaFilesFirstSearch>\r\n-   </fastaFilesFirstSearch>\r\n-   <fixedSearchFolder></fixedSearchFolder>\r\n-   <andromedaCacheSize>350000</andromedaCacheSize>\r\n-   <advancedRatios>True</advancedRatios>\r\n-   <pvalThres>0.005</pvalThres>\r\n-   <neucodeRatioBasedQuantification>False</neucodeRatioBasedQuantification>\r\n-   <neucodeStabilizeLargeRatios>False</neucodeStabilizeLargeRatios>\r\n-   <rtShift>False</rtShift>\r\n-   <separateLfq>False</separateLfq>\r\n-   <lfqStabilizeLargeRatios>True</lfqStabilizeLargeRatios>\r\n-   <lfqRequireMsms>True</lfqRequireMsms>\r\n-   <decoyMode>revert</decoyMode>\r\n-   <boxCarMode>all</boxCarMode>\r\n-   <includeContaminants>True</includeContaminants>\r\n-   <maxPeptideMass>4600</maxPeptideMass>\r\n-   <epsilonMutationScore>True</epsilonMutationScore>\r\n-   <mutatedPeptidesSeparately>True</mutatedPeptidesSeparately>\r\n-   <proteogenomicPeptidesSeparately>True</proteogenomicPeptidesSeparately>\r\n-   <minDeltaScoreUnmodifiedPeptides>0</minDeltaScoreUnmodifiedPeptides>\r\n-   <minDeltaScoreModifiedPeptides>6</minDeltaScoreModifiedPeptides>\r\n-   <minScoreUnmodifiedPeptides>0</minScoreUnmodifiedPeptides>\r\n-   <minScoreModifiedPeptides>40</minScoreModifiedPeptides>\r\n-   <secondPeptide>True</secondPeptide>\r\n-   <matchBetweenRuns>False</matchBetweenRuns>\r\n-   <matchUnidentifiedFeatures>False</matchUnidentifiedFeatures>\r\n-   <matchBetweenRunsFdr>False</matchBetweenRunsFdr>\r\n-   <dependentPeptides>False</dependentPeptides>\r\n-   <dependentPeptideFdr>0</dependentPeptideFdr>\r\n-   <dependentPeptideMassBin>0</dependentPeptideMassBin>\r\n-   <dependentPeptidesBetweenRuns>False</dependentPeptidesBetweenRuns>\r\n-   <dependentPeptidesWithinExperiment>False</dependentPeptidesWithinExperiment>\r\n-   <dependentPeptidesWithinParameterGroup>False</dependentPeptidesWithinParameterGroup>\r\n-   <dependentPeptidesRestrictFractions>False</dependentPeptidesRestrictFractions>\r\n-   <dependentPeptidesFractionDifference>0</dependentPeptidesFractionDifference>\r\n-   <msmsConnection>False</msmsConnection>\r\n-   <ibaq>False</ibaq>\r\n-   <top3>False</top3>\r\n-   <independentEnzymes>False</independentEnzymes>\r\n-   <useDeltaScore>False</useDeltaScore>\r\n-   <splitProteinGroupsByTaxonomy>False</splitProteinGroupsByTaxonomy>\r\n-   <taxonomyLevel>Species</taxonomyLevel>\r\n-   <avalon>False</avalon>\r\n-   <nModColumns>3</nModColumns>\r\n-   <ibaqLogFit>False</ibaqLogFit>\r\n-   <razorProteinFdr>True</razorProteinFdr>\r\n-   <deNovoSequencing>False</deNovoSequencing>\r\n-   <deNovoVarMods>True</deNovoVarMods>\r\n-   <massDifferenceSearch>False</massDifferenceSearch>\r\n-   <isotopeCalc>False</isotopeCalc>\r\n-   <writePeptidesForSpectrumFile></writePeptidesForSpectrumFile>\r\n-   <intensityPredictionsFile>\r\n-   </intensityPredictionsFile>\r\n-   <minPepLen>7</minPepLen>\r\n-   <psmFdrCrosslink>0.01</psmFdrCrosslink>\r\n-   <peptideFdr>0.01</peptideFdr>\r\n-   <proteinFdr>0.01</proteinFdr>\r\n-   <siteFdr>0.01</siteFdr>\r\n-   <minPeptideLengthForUnspecificSearch>8</minPeptideLengthForUnspecificSearch>\r\n-   <maxPeptideLengthForUnspecificSearch>25</maxPeptideLengthForUnspecificSearch>\r\n-   <useNormRatiosForOccupancy>True</useNormRatiosForOccupancy>\r\n-   <minPeptides>1</minPeptides>\r\n-   <minRazorPeptides>1</minRazorPeptides>\r\n-   <minUniquePeptides>0</minUniquePeptides>\r\n-   <useCounterparts>False</useCou'..b'terval>100</TopxInterval>\r\n-         <HigherCharges>True</HigherCharges>\r\n-         <IncludeWater>True</IncludeWater>\r\n-         <IncludeAmmonia>True</IncludeAmmonia>\r\n-         <DependentLosses>True</DependentLosses>\r\n-         <Recalibration>False</Recalibration>\r\n-      </msmsParams>\r\n-   </msmsParamsArray>\r\n-   <fragmentationParamsArray>\r\n-      <fragmentationParams>\r\n-         <Name>CID</Name>\r\n-         <Connected>False</Connected>\r\n-         <ConnectedScore0>1</ConnectedScore0>\r\n-         <ConnectedScore1>1</ConnectedScore1>\r\n-         <ConnectedScore2>1</ConnectedScore2>\r\n-         <InternalFragments>False</InternalFragments>\r\n-         <InternalFragmentWeight>1</InternalFragmentWeight>\r\n-         <InternalFragmentAas>KRH</InternalFragmentAas>\r\n-      </fragmentationParams>\r\n-      <fragmentationParams>\r\n-         <Name>HCD</Name>\r\n-         <Connected>False</Connected>\r\n-         <ConnectedScore0>1</ConnectedScore0>\r\n-         <ConnectedScore1>1</ConnectedScore1>\r\n-         <ConnectedScore2>1</ConnectedScore2>\r\n-         <InternalFragments>False</InternalFragments>\r\n-         <InternalFragmentWeight>1</InternalFragmentWeight>\r\n-         <InternalFragmentAas>KRH</InternalFragmentAas>\r\n-      </fragmentationParams>\r\n-      <fragmentationParams>\r\n-         <Name>ETD</Name>\r\n-         <Connected>False</Connected>\r\n-         <ConnectedScore0>1</ConnectedScore0>\r\n-         <ConnectedScore1>1</ConnectedScore1>\r\n-         <ConnectedScore2>1</ConnectedScore2>\r\n-         <InternalFragments>False</InternalFragments>\r\n-         <InternalFragmentWeight>1</InternalFragmentWeight>\r\n-         <InternalFragmentAas>KRH</InternalFragmentAas>\r\n-      </fragmentationParams>\r\n-      <fragmentationParams>\r\n-         <Name>PQD</Name>\r\n-         <Connected>False</Connected>\r\n-         <ConnectedScore0>1</ConnectedScore0>\r\n-         <ConnectedScore1>1</ConnectedScore1>\r\n-         <ConnectedScore2>1</ConnectedScore2>\r\n-         <InternalFragments>False</InternalFragments>\r\n-         <InternalFragmentWeight>1</InternalFragmentWeight>\r\n-         <InternalFragmentAas>KRH</InternalFragmentAas>\r\n-      </fragmentationParams>\r\n-      <fragmentationParams>\r\n-         <Name>ETHCD</Name>\r\n-         <Connected>False</Connected>\r\n-         <ConnectedScore0>1</ConnectedScore0>\r\n-         <ConnectedScore1>1</ConnectedScore1>\r\n-         <ConnectedScore2>1</ConnectedScore2>\r\n-         <InternalFragments>False</InternalFragments>\r\n-         <InternalFragmentWeight>1</InternalFragmentWeight>\r\n-         <InternalFragmentAas>KRH</InternalFragmentAas>\r\n-      </fragmentationParams>\r\n-      <fragmentationParams>\r\n-         <Name>ETCID</Name>\r\n-         <Connected>False</Connected>\r\n-         <ConnectedScore0>1</ConnectedScore0>\r\n-         <ConnectedScore1>1</ConnectedScore1>\r\n-         <ConnectedScore2>1</ConnectedScore2>\r\n-         <InternalFragments>False</InternalFragments>\r\n-         <InternalFragmentWeight>1</InternalFragmentWeight>\r\n-         <InternalFragmentAas>KRH</InternalFragmentAas>\r\n-      </fragmentationParams>\r\n-      <fragmentationParams>\r\n-         <Name>UVPD</Name>\r\n-         <Connected>False</Connected>\r\n-         <ConnectedScore0>1</ConnectedScore0>\r\n-         <ConnectedScore1>1</ConnectedScore1>\r\n-         <ConnectedScore2>1</ConnectedScore2>\r\n-         <InternalFragments>False</InternalFragments>\r\n-         <InternalFragmentWeight>1</InternalFragmentWeight>\r\n-         <InternalFragmentAas>KRH</InternalFragmentAas>\r\n-      </fragmentationParams>\r\n-      <fragmentationParams>\r\n-         <Name>Unknown</Name>\r\n-         <Connected>False</Connected>\r\n-         <ConnectedScore0>1</ConnectedScore0>\r\n-         <ConnectedScore1>1</ConnectedScore1>\r\n-         <ConnectedScore2>1</ConnectedScore2>\r\n-         <InternalFragments>False</InternalFragments>\r\n-         <InternalFragmentWeight>1</InternalFragmentWeight>\r\n-         <InternalFragmentAas>KRH</InternalFragmentAas>\r\n-      </fragmentationParams>\r\n-   </fragmentationParamsArray>\r\n-</MaxQuantParams>\r\n'
b
diff -r 175e062b6a17 -r dcd39bcc7481 test-data/template.xml
--- a/test-data/template.xml Thu Aug 15 08:09:00 2019 -0400
+++ b/test-data/template.xml Sat Apr 11 11:49:19 2020 -0400
b
@@ -2,7 +2,7 @@
 <MaxQuantParams xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <fastaFiles>
       <FastaFileInfo>
-         <fastaFilePath></fastaFilePath>
+         <fastaFilePath>example.fasta</fastaFilePath>
          <identifierParseRule>>(.*)</identifierParseRule>
          <descriptionParseRule></descriptionParseRule>
          <taxonomyParseRule></taxonomyParseRule>
@@ -88,8 +88,9 @@
       <string>Acetyl (Protein N-term)</string>
    </restrictMods>
    <matchingTimeWindow>0</matchingTimeWindow>
+   <matchingIonMobilityWindow>0</matchingIonMobilityWindow>
    <alignmentTimeWindow>0</alignmentTimeWindow>
-   <numberOfCandidatesMultiplexedMsms>25</numberOfCandidatesMultiplexedMsms>
+   <alignmentIonMobilityWindow>0</alignmentIonMobilityWindow>
    <numberOfCandidatesMsms>15</numberOfCandidatesMsms>
    <compositionPrediction>0</compositionPrediction>
    <quantMode>1</quantMode>
@@ -107,15 +108,13 @@
    <disableMd5>False</disableMd5>
    <cacheBinInds>True</cacheBinInds>
    <etdIncludeB>False</etdIncludeB>
-   <complementaryTmtCollapseNplets>True</complementaryTmtCollapseNplets>
-   <stackPeaks>False</stackPeaks>
    <ms2PrecursorShift>0</ms2PrecursorShift>
    <complementaryIonPpm>20</complementaryIonPpm>
    <variationParseRule></variationParseRule>
    <variationMode>none</variationMode>
    <useSeriesReporters>False</useSeriesReporters>
    <name>templateSession</name>
-   <maxQuantVersion>1.6.3.4</maxQuantVersion>
+   <maxQuantVersion>1.6.10.43</maxQuantVersion>
    <tempFolder></tempFolder>
    <pluginFolder></pluginFolder>
    <numThreads>1</numThreads>
@@ -150,11 +149,14 @@
    <referenceChannel>
       <string></string>
    </referenceChannel>
+   <intensPred>False</intensPred>
+   <intensPredModelReTrain>False</intensPredModelReTrain>
    <parameterGroups>
       <parameterGroup>
          <msInstrument>0</msInstrument>
          <maxCharge>7</maxCharge>
          <minPeakLen>2</minPeakLen>
+         <diaMinPeakLen>2</diaMinPeakLen>
          <useMs1Centroids>False</useMs1Centroids>
          <useMs2Centroids>False</useMs2Centroids>
          <cutPeaks>True</cutPeaks>
@@ -263,14 +265,35 @@
          <crosslinkMaxMonoSaturated>0</crosslinkMaxMonoSaturated>
          <crosslinkMaxDiUnsaturated>0</crosslinkMaxDiUnsaturated>
          <crosslinkMaxDiSaturated>0</crosslinkMaxDiSaturated>
-         <crosslinkUseSeparateFasta>False</crosslinkUseSeparateFasta>
-         <crosslinkCleaveModifications>
-         </crosslinkCleaveModifications>
+         <crosslinkModifications>
+         </crosslinkModifications>
          <crosslinkFastaFiles>
          </crosslinkFastaFiles>
-         <crosslinkMode>PeptidesWithCleavedLinker</crosslinkMode>
+         <crosslinkSites>
+         </crosslinkSites>
+         <crosslinkNetworkFiles>
+         </crosslinkNetworkFiles>
+         <crosslinkMode></crosslinkMode>
          <peakRefinement>False</peakRefinement>
          <isobaricSumOverWindow>True</isobaricSumOverWindow>
+         <isobaricWeightExponent>0.75</isobaricWeightExponent>
+         <diaLibraryType>0</diaLibraryType>
+         <diaLibraryPath></diaLibraryPath>
+         <diaPeptidePaths>
+         </diaPeptidePaths>
+         <diaEvidencePaths>
+         </diaEvidencePaths>
+         <diaMsmsPaths>
+         </diaMsmsPaths>
+         <diaInitialPrecMassTolPpm>20</diaInitialPrecMassTolPpm>
+         <diaInitialFragMassTolPpm>20</diaInitialFragMassTolPpm>
+         <diaCorrThresholdFeatureClustering>0.85</diaCorrThresholdFeatureClustering>
+         <diaPrecTolPpmFeatureClustering>2</diaPrecTolPpmFeatureClustering>
+         <diaFragTolPpmFeatureClustering>2</diaFragTolPpmFeatureClustering>
+         <diaScoreN>7</diaScoreN>
+         <diaMinScore>2.99</diaMinScore>
+         <diaPrecursorQuant>False</diaPrecursorQuant>
+         <diaDiaTopNFragmentsForQuant>3</diaDiaTopNFragmentsForQuant>
       </parameterGroup>
    </parameterGroups>
    <msmsParamsArray>
@@ -327,14 +350,14 @@
       </msmsParams>
       <msmsParams>
          <Name>Unknown</Name>
-         <MatchTolerance>0.5</MatchTolerance>
-         <MatchToleranceInPpm>False</MatchToleranceInPpm>
-         <DeisotopeTolerance>0.15</DeisotopeTolerance>
-         <DeisotopeToleranceInPpm>False</DeisotopeToleranceInPpm>
-         <DeNovoTolerance>0.25</DeNovoTolerance>
-         <DeNovoToleranceInPpm>False</DeNovoToleranceInPpm>
-         <Deisotope>False</Deisotope>
-         <Topx>8</Topx>
+         <MatchTolerance>20</MatchTolerance>
+         <MatchToleranceInPpm>True</MatchToleranceInPpm>
+         <DeisotopeTolerance>7</DeisotopeTolerance>
+         <DeisotopeToleranceInPpm>True</DeisotopeToleranceInPpm>
+         <DeNovoTolerance>10</DeNovoTolerance>
+         <DeNovoToleranceInPpm>True</DeNovoToleranceInPpm>
+         <Deisotope>True</Deisotope>
+         <Topx>12</Topx>
          <TopxInterval>100</TopxInterval>
          <HigherCharges>True</HigherCharges>
          <IncludeWater>True</IncludeWater>
b
diff -r 175e062b6a17 -r dcd39bcc7481 test_mqparam.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test_mqparam.py Sat Apr 11 11:49:19 2020 -0400
[
b'@@ -0,0 +1,212 @@\n+"""Tests for mqparam class. If testing a new MaxQuant version,\n+create a new parameter file using \'<MAXQUANT_CMD> -c ./mqpar.xml\'\n+"""\n+\n+import pytest\n+import xml.etree.ElementTree as ET\n+from mqparam import MQParam, ParamGroup\n+\n+TEMPLATE_PATH = \'./test-data/template.xml\'\n+\n+\n+def mk_pg_root():\n+    mqpar = ET.parse(TEMPLATE_PATH).getroot()\n+    return mqpar.find(\'.parameterGroups/parameterGroup\')\n+\n+\n+class TestParamGroup:\n+    def test_list_param(self):\n+        t = ParamGroup(mk_pg_root())\n+        t.set_list_param(\'enzymes\', (\'test 1\', \'test 2\'))\n+        assert len(t._root.find(\'enzymes\')) == 2\n+\n+        t.set_list_param(\'variableModifications\', (\'Oxidation (M)\', ))\n+        assert t._root.find(\'variableModifications\')[0].text == \'Oxidation (M)\'\n+\n+        with pytest.raises(ValueError):\n+            t.set_list_param(\'foo\', [])\n+\n+    def test_simple_params(self):\n+        t = ParamGroup(mk_pg_root())\n+        t.set_simple_param(\'fastLfq\', False)\n+        assert t._root.find(\'.fastLfq\').text == \'False\'\n+\n+        with pytest.raises(ValueError):\n+            t.set_simple_param(\'foo\', 2)\n+\n+    def test_silac(self):\n+        t = ParamGroup(mk_pg_root())\n+        t.set_silac(None, None, (\'Arg10\', \'Lys4\'))\n+        assert t._root.find(\'.maxLabeledAa\').text == \'2\'\n+        assert t._root.find(\'.multiplicity\').text == \'2\'\n+        assert t._root.find(\'.labelMods\')[1].text == \'Arg10;Lys4\'\n+        assert t._root.find(\'.labelMods\')[0].text == \'\'\n+\n+    def test_isobaric_label(self):\n+        t = ParamGroup(mk_pg_root())\n+        t.set_isobaric_label(\'iTRAQ4plex-Lys114\', \'iTRAQ4plex-Nter114\', 0.3, 1, 1.2, 0, True)\n+\n+        assert len(t._root.find(\'isobaricLabels\')) == 1\n+        assert len(t._root.find(\'isobaricLabels\')[0]) == 7\n+\n+        t.set_isobaric_label(\'iTRAQ4plex-Lys115\', \'iTRAQ4plex-Nter115\', 0.3, 1.0, 1.2, 0, True)\n+\n+        assert len(t._root.find(\'isobaricLabels\')) == 2\n+\n+        tag_list = [el.tag for el in t._root.find(\'isobaricLabels\')[1]]\n+        assert tag_list == [\'internalLabel\', \'terminalLabel\', \'correctionFactorM2\',\n+                            \'correctionFactorM1\', \'correctionFactorP1\', \'correctionFactorP2\',\n+                            \'tmtLike\']\n+\n+        text_list = [el.text for el in t._root.find(\'isobaricLabels\')[1]]\n+        assert text_list == [\'iTRAQ4plex-Lys115\', \'iTRAQ4plex-Nter115\',\n+                             \'0.3\', \'1\', \'1.2\', \'0\', \'True\']\n+\n+\n+class TestMQParam:\n+\n+    def test_version(self):\n+        t = MQParam(TEMPLATE_PATH)\n+        assert t._root.find(\'maxQuantVersion\').text == \'1.6.10.43\'\n+\n+    def test_validity_check(self):\n+        design = {\'Name\': [\'Test1\', \'Test2\'],\n+                  \'Fraction\': [\'2\', 32767],\n+                  \'PTM\': [\'False\', \'False\'],\n+                  \'Experiment\': [\'e1\', \'e1\'],\n+                  \'paramGroup\': [0, 0]}\n+\n+        assert MQParam._check_validity(design, 2) is None\n+\n+        design[\'Name\'][0] = None\n+        with pytest.raises(Exception):\n+            MQParam._check_validity(design, 2)\n+        design[\'Name\'][0] = \'Test1\'\n+\n+        design[\'Experiment\'][0] = \'\'\n+        with pytest.raises(ValueError):\n+            MQParam._check_validity(design, 2)\n+        design[\'Experiment\'][0] = \'e1\'\n+\n+        design[\'Fraction\'][0] = \'foo\'\n+        with pytest.raises(ValueError):\n+            MQParam._check_validity(design, 2)\n+\n+    def test_exp_design(self, tmpdir):\n+        # default experimental design when None is specified\n+        t = MQParam(TEMPLATE_PATH)\n+        design = t._make_exp_design((0, 0), (\'./Test1.mzXML\', \'./Test2.mzXML\'))\n+        assert design[\'Name\'] == (\'./Test1.mzXML\', \'./Test2.mzXML\')\n+        assert design[\'Fraction\'] == (\'32767\', \'32767\')\n+\n+        # valid experimental design\n+        e1 = tmpdir / "e1.txt"\n+        e1.write(\'Name\\tExperiment\\tFraction\\tPTM\\nTest1\\te1\\nTest2\\te1\\t\\tfalse\')\n+        t.exp_design = str(e1)\n+        design = t._make_exp_design((0, 0), (\'./Test1.mzXML\', \'./Test2.mzXML'..b't.raises(Exception):\n+            design = t._make_exp_design((\'./Test2.mzXML\',), (0,))\n+\n+    def test_add_infiles(self):\n+        t = MQParam(TEMPLATE_PATH)\n+        t.add_infiles([(\'/path/Test1.mzXML\', \'/path/Test2.mzXML\'),\n+                       (\'/path/Test3.mzXML\', \'/path/Test4.mzXML\')])\n+\n+        assert [e.text for e in t._root.find(\'filePaths\')] == [\'/path/Test1.mzXML\',\n+                                                               \'/path/Test2.mzXML\',\n+                                                               \'/path/Test3.mzXML\',\n+                                                               \'/path/Test4.mzXML\']\n+\n+        assert [e.text for e in t._root.find(\'paramGroupIndices\')] == [\'0\', \'0\', \'1\', \'1\']\n+        assert t[1]\n+\n+    def test_translate(self):\n+        t = MQParam(TEMPLATE_PATH)\n+        t.add_infiles([(\'/posix/path/to/Test1.mzXML\',\n+                        \'/posix/path/to/Test2.mzXML\'),\n+                       (\'/path/dummy.mzXML\',)])  # mqparam is not designed for windows\n+\n+        t._root.find(\'filePaths\')[2].text = r\'D:\\Windows\\Path\\Test3.mzXML\'\n+\n+        t.translate((\'/galaxy/working/Test3.mzXML\',\n+                     \'/galaxy/working/Test1.mzXML\',\n+                     \'/galaxy/working/Test2.mzXML\',\n+                     \'/galaxy/working/Test4.mzXML\'))\n+\n+        assert [e.text for e in t._root.find(\'filePaths\')] == [\'/galaxy/working/Test1.mzXML\',\n+                                                               \'/galaxy/working/Test2.mzXML\',\n+                                                               \'/galaxy/working/Test3.mzXML\']\n+\n+    def test_fasta_files(self):\n+        t = MQParam(TEMPLATE_PATH)\n+        t.add_fasta_files((\'test1\', \'test2\'),\n+                          parse_rules={\'identifierParseRule\': r\'>([^\\s]*)\'})\n+        assert len(t._root.find(\'fastaFiles\')) == 2\n+        assert t._root.find(\'fastaFiles\')[0].find("fastaFilePath").text == \'test1\'\n+        assert t._root.find(\'fastaFiles\')[0].find("identifierParseRule").text == \'>([^\\\\s]*)\'\n+\n+    def test_simple_param(self):\n+        t = MQParam(TEMPLATE_PATH)\n+        t.set_simple_param(\'minUniquePeptides\', 4)\n+        assert t._root.find(\'.minUniquePeptides\').text == \'4\'\n+\n+        with pytest.raises(ValueError):\n+            t.set_simple_param(\'foo\', 3)\n+\n+    def test_from_yaml(self, tmpdir):\n+        conf1 = tmpdir / "conf1.yml"\n+        conf1.write(r"""\n+        numThreads: 4\n+        fastaFiles: [test1.fasta,test2.fasta]\n+        parseRules:\n+          identifierParseRule: ^>.*\\|(.*)\\|.*$\n+        paramGroups:\n+          - files: [Test1.mzXML,Test2.mzXML] # paramGroup 0\n+            fixedModifications: [mod1,mod2]\n+            lfqMode: 1\n+          - files: [Test3.mzXML,Test4.mzXML] # paramGroup 1\n+            labelMods:\n+              - []\n+              - []\n+              - [label1,label2]\n+        """)\n+\n+        t = MQParam(TEMPLATE_PATH)\n+        t._from_yaml(str(conf1))\n+        assert t[\'numThreads\'] == \'4\'\n+        assert [child.text for child in t[1]._root.find(\'labelMods\')] == [\'\', \'label1;label2\']\n+\n+    def test_write(self, tmpdir):\n+        yaml_conf = tmpdir / "conf.yml"\n+        yaml_conf.write(r"""\n+        numThreads: 4\n+        fastaFiles: [test1.fasta,test2.fasta]\n+        parseRules:\n+          identifierParseRule: ^>.*\\|(.*)\\|.*$\n+        paramGroups:\n+          - files: [Test1.mzXML,Test2.mzXML] # paramGroup 0\n+            fixedModifications: [mod1]\n+            variableModifications: [mod2,mod3]\n+            maxMissedCleavages: 1\n+        """)\n+        mqpar_out = tmpdir / "mqpar.xml"\n+\n+        t = MQParam(TEMPLATE_PATH, yaml=str(yaml_conf))\n+        t.write(str(mqpar_out))\n+\n+        test = ET.parse(str(mqpar_out)).getroot()\n+        assert test.find(\'numThreads\').text == \'4\'\n+        assert test.find(\'fastaFiles\')[1].find(\'identifierParseRule\').text == \'^>.*\\\\|(.*)\\\\|.*$\'\n+        assert [el.text for el in test.find(\'parameterGroups\')[0].find(\'variableModifications\')] == [\'mod2\', \'mod3\']\n'