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

Changeset 0:14785481da2b (2024-07-10)
Next changeset 1:dc5de2ea607e (2024-07-12)
Commit message:
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/fragpipe commit 905cc2be18669cffe9ac6c46fcd08b6857a67f4f
added:
fragpipe
fragpipe.xml
genericize_db.py
macros.xml
msfragger_macros.xml
test-data/default/outputs/workflow.txt
test-data/default/test.fasta
test-data/default/test.manifest
test-data/default/test1.mzML
test-data/default/test2.mzML
test-data/tmt11/outputs/workflow.txt
test-data/tmt11/test.annotation
test-data/tmt11/test.fasta
test-data/tmt11/test.manifest
test-data/tmt11/test1.mzML
test-data/tmt11/test2.mzML
workflows/Default.workflow
workflows/LFQ-MBR.workflow
workflows/Nonspecific-HLA.workflow
workflows/Open.workflow
workflows/TMT10.workflow
workflows/TMT11.workflow
b
diff -r 000000000000 -r 14785481da2b fragpipe
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fragpipe Wed Jul 10 06:15:00 2024 +0000
[
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+# Modified version of the Bioconda wrapper of the script for command-line FragPipe, calling a local link to fragpipe instead of the version in $CONDA_PREFIX.
+# Ensures the user agrees to MSFragger and IonQuant academic licenses.
+
+license_agreement_text='
+Please accept the academic license.
+
+FragPipe uses tools that are available freely for academic research and educational purposes only.
+
+Please provide license keys for MSFragger and IonQuant with the --msfragger_key and --ionquant_key flags. By passing these, you verify that you have read the ACADEMIC licenses for the MSFragger and IonQuant tools. You may obtain these keys by agreeing to the terms at http://msfragger-upgrader.nesvilab.org/upgrader/ and https://msfragger.arsci.com/ionquant/.'
+
+declare -a fragpipe_args
+
+while [[ $# -gt 0 ]]; do
+    case "$1" in
+        --msfragger_key)
+            shift
+            msfragger_key=$1
+            ;;
+        --ionquant_key)
+            shift
+            ionquant_key=$1
+            ;;
+        --workflow)
+            fragpipe_args+=("$1")
+            shift
+            workflow_file="$1"
+            fragpipe_args+=("$1")
+            ;;
+        *)
+            fragpipe_args+=("$1")
+            ;;
+    esac
+    shift
+done
+
+if [[ ! -z "$workflow_file" ]]; then
+    # Because the DIA-NN license is incompatible with bioconda, we remove the feature.
+    grep 'diann.run-dia-nn=true' "$workflow_file" >/dev/null
+    if [[ $? -eq 0 ]]; then
+        echo "Error: DIA-NN is disabled in the FragPipe bioconda package."
+        exit 1
+    fi
+fi
+
+if [[ -z $msfragger_key || -z $ionquant_key ]]; then
+    echo "$license_agreement_text"
+    exit 1
+else
+    msfragger --key $msfragger_key --help | grep 'License key verified' >/dev/null 2>&1
+    if [[ $? -ne 0 ]]; then
+        echo "Error: Invalid MSFragger license key"
+        echo "$license_agreement_text"
+        exit 1
+    fi
+    ionquant --key $ionquant_key --help | grep 'License key verified' >/dev/null 2>&1
+    if [[ $? -ne 0 ]]; then
+        echo "Error: Invalid IonQuant license key"
+        echo "$license_agreement_text"
+        exit 1
+    fi
+fi
+
+sh fragpipe_local/bin/fragpipe "${fragpipe_args[@]}"
b
diff -r 000000000000 -r 14785481da2b fragpipe.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fragpipe.xml Wed Jul 10 06:15:00 2024 +0000
[
b'@@ -0,0 +1,276 @@\n+<tool id="fragpipe" name="FragPipe -  Academic Research and Education User License (Non-Commercial)" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.05">\n+    <description>Data analysis for mass spectrometry-based proteomics</description>\n+    <macros>\n+        <import>macros.xml</import>\n+    </macros>\n+    <expand macro="requirements"/>\n+\n+    <stdio>\n+        <!-- The error code from individual tools run by FragPipe is not always propogated to the FragPipe process exit code -->\n+        <regex match="exit code: [^0]"\n+               source="stdout"\n+               level="fatal"\n+               description="A FragPipe pipeline process returned non-zero exit code."/>\n+    </stdio>\n+\n+    <version_command>fragpipe --help | grep \'FragPipe v\'</version_command>\n+\n+    <!--\n+        FragPipe wrapper command:\n+        - Links input files\n+        - Modifies database path in workflow file\n+        - Runs Philosopher to add decoys and contaminants\n+        - Runs FragPipe, passing paths to MSFragger, Philosopher, Python, and IonQuant\n+    -->\n+    <command detect_errors="exit_code"><![CDATA[\n+        ## Create symlink for workflow output\n+        ln -s $workflow_configfile fp.workflow;\n+\n+        ## The user may opt to only output the workflow to review the parameters. If they haven\'t selected this option, we prepare and run FragPipe.\n+        #if not $workflow_only\n+            @PREPARE_ENVIRONMENT@\n+            @PREPARE_INPUTS@\n+            @PREPARE_DATABASE@\n+\n+            ## Run FragPipe\n+            \'$__tool_directory__/fragpipe\'\n+                --msfragger_key f28c4be2-759b0a11-6c1ea652-1240565a\n+                --ionquant_key 47cb2953-b4bf7726-2c96f5fe-8f1013aa\n+                --headless\n+                --threads \\${GALAXY_SLOTS:-8}\n+                --ram \\$[ \\${GALAXY_MEMORY_MB:-8192} / 1024 ]\n+                --workflow fp.workflow --manifest fp.manifest\n+                --workdir outputs\n+                --config-msfragger \\${env_location}/share/msfragger-*/MSFragger-*/MSFragger-*.jar\n+                --config-philosopher \\$(which philosopher)\n+                --config-python \\$(which python)\n+                --config-ionquant \\${env_location}/share/ionquant-*/IonQuant.jar &&\n+\n+            @PREPARE_OUTPUTS@\n+        #end if\n+    ]]></command>\n+\n+    <!-- Config file is a FragPipe workflow file -->\n+    <configfiles>\n+        <expand macro="workflow_configfile" />\n+    </configfiles>\n+\n+    <inputs>\n+        <!-- License agreements -->\n+        <expand macro="license_agreements"/>\n+\n+        <!-- Input scan samples -->\n+        <expand macro="samples"/>\n+\n+        <!-- Searched database -->\n+        <expand macro="fragger_database"/>\n+\n+        <!-- Workflow input, if the user chooses to re-use existing FragPipe workflow. -->\n+        <expand macro="workflow"/>\n+\n+        <!-- Only generate a workflow, don\'t run FragPipe -->\n+        <param name="workflow_only" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Only generate the workflow output"/>\n+\n+        <param name="output_options" label="Additional outputs" type="select" multiple="true" display="checkboxes" optional="true">\n+            <option value="workflow">FragPipe Workflow</option>\n+            <option value="log">FragPipe Log</option>\n+            <option value="combined_outputs">FragPipe Combined Outputs</option>\n+            <option value="concatenated_outputs">TSV Outputs Concatenated</option>\n+        </param>\n+    </inputs>\n+\n+    <outputs>\n+        <!-- Workflow file used by FragPipe -->\n+        <data name="output_workflow" format="txt" label="${tool.name} on ${on_string}: workflow" from_work_dir="fp.workflow">\n+            <filter>workflow_only or (output_options and \'workflow\' in output_options)</filter>\n+        </data>\n+        <!-- FragPipe log -->\n+        <data name="log" format="txt" label="${tool.name} on ${on_string}: log.txt" from_work_dir="outputs/log_*.txt">\n+            <filter>not workf'..b'            </assert_contents>\n+        </output>\n+        <output name="concat_ion_tsv" ftype="tabular">\n+            <assert_contents>\n+                <has_text text="Experiment&#x9;Peptide Sequence&#x9;Modified Sequence&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Protein Start&#x9;Protein End&#x9;M/Z&#x9;Charge&#x9;Observed Mass&#x9;Probability&#x9;Expectation&#x9;Spectral Count&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>\n+                <has_text text="sample1"/>\n+            </assert_contents>\n+        </output>\n+        <output name="concat_peptide_tsv" ftype="tabular">\n+            <assert_contents>\n+                <has_text text="Experiment&#x9;Peptide&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Protein Start&#x9;Protein End&#x9;Charges&#x9;Probability&#x9;Spectral Count&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>\n+                <has_text text="sample1"/>\n+            </assert_contents>\n+        </output>\n+        <output name="concat_protein_tsv" ftype="tabular">\n+            <assert_contents>\n+                <has_text text="Experiment&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Length&#x9;Organism&#x9;Protein Description&#x9;Protein Existence&#x9;Coverage&#x9;Protein Probability&#x9;Top Peptide Probability&#x9;Total Peptides&#x9;Unique Peptides&#x9;Razor Peptides&#x9;Total Spectral Count&#x9;Unique Spectral Count&#x9;Razor Spectral Count&#x9;Total Intensity&#x9;Unique Intensity&#x9;Razor Intensity&#x9;Razor Assigned Modifications&#x9;Razor Observed Modifications&#x9;Indistinguishable Proteins"/>\n+                <has_text text="sample1"/>\n+            </assert_contents>\n+        </output>\n+        <output name="output_workflow" ftype="txt" file="tmt11/outputs/workflow.txt" compare="contains">\n+            <assert_contents>\n+                <has_text text="crystalc.run-crystalc=false"/>\n+            </assert_contents>\n+        </output>\n+        <output name="log" ftype="txt">\n+            <assert_contents>\n+                <has_text text="FragPipe version 20.0"/>\n+            </assert_contents>\n+        </output>\n+        <output_collection name="tmt_results" type="list">\n+            <element name="abundance_gene_MD.tsv" ftype="tabular">\n+                <assert_contents>\n+                    <has_text text="Index&#x9;NumberPSM&#x9;ProteinID&#x9;MaxPepProb&#x9;ReferenceIntensity&#x9;sample-01&#x9;sample-02&#x9;sample-03&#x9;sample-04&#x9;sample-05&#x9;sample-06&#x9;sample-07&#x9;sample-08&#x9;sample-09&#x9;sample-10&#x9;Bridge"/>\n+                </assert_contents>\n+            </element>\n+            <element name="ratio_gene_MD.tsv" ftype="tabular">\n+                <assert_contents>\n+                    <has_text text="Index&#x9;NumberPSM&#x9;ProteinID&#x9;MaxPepProb&#x9;ReferenceIntensity&#x9;sample-01&#x9;sample-02&#x9;sample-03&#x9;sample-04&#x9;sample-05&#x9;sample-06&#x9;sample-07&#x9;sample-08&#x9;sample-09&#x9;sample-10&#x9;Bridge"/>\n+                </assert_contents>\n+            </element>\n+        </output_collection>\n+      </test>\n+    </tests>\n+\n+    <help><![CDATA[\n+**FragPipe**\n+\n+FragPipe_ is a suite of computational tools enabling comprehensive analysis of mass spectrometry-based proteomics data.\n+FragPipe uses MSFragger_ - an ultrafast proteomic search engine suitable for both conventional and \xe2\x80\x9copen\xe2\x80\x9d (wide precursor mass tolerance) peptide identification.\n+\n+FragPipe_ runs a user selected analysis workflow_\n+\n+**License Agreements**\n+\n+    @LICENSE_AGREEMENTS@\n+\n+.. _FragPipe: https://fragpipe.nesvilab.org\n+.. _MSFragger: https://msfragger.nesvilab.org\n+.. _workflow: https://fragpipe.nesvilab.org/docs/tutorial_fragpipe_workflows.html\n+\n+    ]]></help>\n+    <expand macro="citations" />\n+</tool>\n'
b
diff -r 000000000000 -r 14785481da2b genericize_db.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/genericize_db.py Wed Jul 10 06:15:00 2024 +0000
[
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+#
+# Prefixes sequence headers in the input FASTA file that are not formatted according to the UniProt, NCBI, or ENSEMBL formats with '>generic|' to avoid being misinterpreted by Philosopher.
+#
+
+import re
+import sys
+
+input_db_file = sys.argv[1]
+output_db_file = sys.argv[2]
+
+
+def sub_header(line):
+    return re.sub(r'^>(?!sp\||tr\||db\||AP_|NP_|YP_|XP_|WP_|ENSP|UniRef|nxp|generic)', '>generic|', line)
+
+
+with open(input_db_file) as in_file, open(output_db_file, 'w') as out_file:
+    for line in in_file:
+        out_file.write(sub_header(line))
b
diff -r 000000000000 -r 14785481da2b macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Wed Jul 10 06:15:00 2024 +0000
[
b'@@ -0,0 +1,1198 @@\n+<macros>\n+    <import>msfragger_macros.xml</import>\n+    <token name="@TOOL_VERSION@">20.0</token>\n+    <token name="@VERSION_SUFFIX@">0</token>\n+    <xml name="requirements">\n+        <requirements>\n+            <requirement type="package" version="@TOOL_VERSION@">fragpipe</requirement>\n+        </requirements>\n+    </xml>\n+\n+    <!-- TMT-n uses the following n first labels from TMT-18 -->\n+    <token name="@TMT_LABELS@">[\'126\', \'127N\', \'127C\', \'128N\', \'128C\', \'129N\', \'129C\', \'130N\', \'130C\', \'131N\', \'131C\', \'132N\', \'132C\', \'133N\', \'133C\', \'134N\', \'134C\', \'135N\']</token>\n+    <token name="@iTRAQ-4_LABELS@">[\'114\', \'115\', \'116\', \'117\']</token>\n+    <token name="@iTRAQ-8_LABELS@">[\'113\', \'114\', \'115\', \'116\', \'117\', \'118\', \'119\', \'121\']</token>\n+\n+    <!--\n+      User specifies input file format and selects sample files as are included by the scan_inputs macro\n+\n+      User must also supply their own manifest file, a TSV file of the format:\n+      name, experiment, bioreplicate, data type\n+    -->\n+    <xml name="samples">\n+        <param name="inputs" type="data" format="mzML,mzXML" multiple="true" label="Proteomics Spectrum files"  help="All input scan files must of a matching format: mzML, mzXML"/>\n+        <param name="input_prefix" type="text" value="" optional="true" label="File name prefix" help="Names inputs: prefix_rep#.mzXML Leave blank to use History names of inputs">\n+              <validator type="regex" message="">[a-zA-Z][a-zA-Z0-9_-]*</validator>\n+        </param>\n+        <param name="manifest" type="data" format="tabular" label="Manifest file" help="TSV file with entries for each input scan file: Name (Name of input Galaxy history item. Extension in the name must be mzML or mzXML.), Experiment (empty, alphanumeric, or _), Bioreplicate (empty or integer), Data type (DDA, DIA, GPF-DIA, DIA-Quant, or DIA-lib)"/>\n+    </xml>\n+\n+    <!--\n+      Prepares enviroment variables for FragPipe.\n+    -->\n+    <token name="@PREPARE_ENVIRONMENT@"><![CDATA[\n+        env_location="\\$(dirname \\$(which philosopher))/.." &&\n+        cp -r \\${env_location}/share/fragpipe*/ fragpipe_local/ &&\n+        mkdir .cache .config tmp &&\n+        export XDG_CONFIG_HOME=\\$(pwd)/.config &&\n+        export XDG_CACHE_HOME=\\$(pwd)/.cache &&\n+        export JAVA_OPTS="\\$JAVA_OPTS -Djava.io.tmpdir=\\$(pwd)/tmp" &&\n+        export LD_LIBRARY_PATH="\\$LD_LIBRARY_PATH:/usr/local/lib" &&\n+    ]]></token>\n+\n+    <!--\n+      Prepares input scan files.\n+\n+      Scans and moved to a scan directory and linked.\n+\n+      Annotation files are copied into the scan directory for TMT workflows.\n+    -->\n+    <token name="@LINK_SAMPLES@"><![CDATA[\n+        CWD=\\$(pwd | sed \'s@/@\\\\/@g\') &&\n+\n+        mkdir -p scans &&\n+        #if $wf.workflow_name == "TMT10" or $wf.workflow_name == "TMT11"\n+            cp -p \'$wf.annotation\' \'scans/annotation.txt\' &&\n+        #end if\n+\n+        sed "s@^@\\$CWD/scans/@" $manifest > fp.manifest &&\n+\n+        #for $sf in $inputs\n+            #set $i_name = $ln_name($sf)\n+            ln -s \'$sf\' \'scans/${i_name}\' &&\n+        #end for\n+    ]]></token>\n+\n+    <!--\n+      Prepares input files, excluding database.\n+    -->\n+    <token name="@PREPARE_INPUTS@"><![CDATA[\n+        mkdir -p outputs &&\n+        @CMD_IMPORTS@\n+        @LINK_SAMPLES@\n+    ]]></token>\n+\n+    <!--\n+      Prepares database.\n+\n+      First genericizes unknown sequence headers in the database.\n+      Then adds decoys, or decoys and contaminants depending on user selection.\n+    -->\n+    <token name="@PREPARE_DATABASE@"><![CDATA[\n+        \'$__tool_directory__/genericize_db.py\' $database_name genericized_db.fas &&\n+\n+        #if str($database_options) != \'none\'\n+            philosopher workspace --init &&\n+            philosopher database --custom genericized_db.fas --prefix rev_\n+            #if str($database_options) != \'decoy_and_contam\'\n+                --contam\n+            #end if\n+            --contamprefix &&\n+            ln -s *-decoys-*.fas fi'..b'fdict[\'tmtintegrator.allow_unlabeled\'] = $cxt.allow_unlabeled\n+            #end if\n+            #if $cxt.outlier_removal != \'None\'\n+                #set $wfdict[\'tmtintegrator.outlier_removal\'] = $cxt.outlier_removal\n+            #end if\n+            #if $cxt.ms1_int != \'None\'\n+                #set $wfdict[\'tmtintegrator.ms1_int\'] = $cxt.ms1_int\n+            #end if\n+            #if $cxt.tolerance != \'\'\n+                #set $wfdict[\'tmtintegrator.tolerance\'] = $cxt.tolerance\n+            #end if\n+            #if $cxt.top3_pep != \'None\'\n+                #set $wfdict[\'tmtintegrator.top3_pep\'] = $cxt.top3_pep\n+            #end if\n+            #if $cxt.print_RefInt != \'None\'\n+                #set $wfdict[\'tmtintegrator.print_RefInt\'] = $cxt.print_RefInt\n+            #end if\n+        #end if\n+    ]]></token>\n+\n+    <!-- License agreement texts. -->\n+    <token name="@MSFRAGGER_LICENSE_AGREEMENT@">\n+MSFragger is available freely for academic research and educational purposes only. I have read the ACADEMIC license for MSFragger software: http://msfragger-upgrader.nesvilab.org/upgrader/MSFragger-LICENSE.pdf. This license provides with non-exclusive, non-transferable right to use MSFragger solely for academic research, non-commercial or educational purposes. I agree to be subject to the terms and conditions of this license. I understand that to use MSFragger for other purposes requires a commercial license from the University of Michigan Office of Tech Transfer.\n+    </token>\n+    <token name="@IONQUANT_LICENSE_AGREEMENT@">\n+IonQuant is available freely for academic research and educational purposes only. I have read the ACADEMIC license for MSFragger software: https://msfragger.arsci.com/ionquant/IonQuant%20Academic%20Use%20License%2005162022.pdf\n+    </token>\n+    <token name="@THERMO_RAW_READER_LICENSE_AGREEMENT@">\n+I agree to the terms of Thermo (c) Raw File Reader License Agreement: http://msfragger-upgrader.nesvilab.org/upgrader/RawFileRdr_License_Agreement_RevA.pdf\n+    </token>\n+    <token name="@BRUKER_LICENSE_AGREEMENT@">\n+I agree to the terms of Bruker SDK library distribution conditions: http://msfragger-upgrader.nesvilab.org/upgrader/redist.txt\n+    </token>\n+    <token name="@LICENSE_AGREEMENTS@">\n+@MSFRAGGER_LICENSE_AGREEMENT@\n+@IONQUANT_LICENSE_AGREEMENT@\n+@THERMO_RAW_READER_LICENSE_AGREEMENT@\n+@BRUKER_LICENSE_AGREEMENT@\n+    </token>\n+\n+    <!-- User must check box agreeing to MSFragger license agreement. -->\n+    <xml name="license_agreements">\n+      <param name="license_agreements" type="boolean" truevalue="true" falsevalue="false" checked="false" label="I understand that these tools, including MSFragger, IonQuant, Bruker, and Thermo Raw File Reader, are available freely for academic research and educational purposes only, and agree to the following terms.">\n+        <validator type="expression" message="You must agree to the MSFragger license!">value == True</validator>\n+        <help><![CDATA[\n+@MSFRAGGER_LICENSE_AGREEMENT@\n+<br/><br/>\n+@IONQUANT_LICENSE_AGREEMENT@\n+<br/><br/>\n+@THERMO_RAW_READER_LICENSE_AGREEMENT@\n+<br/><br/>\n+@BRUKER_LICENSE_AGREEMENT@\n+        ]]></help>\n+      </param>\n+    </xml>\n+\n+    <xml name="citations">\n+        <citations>\n+            <citation type="doi">10.1038/s41592-020-0912-y</citation>\n+            <citation type="doi">10.1038/nmeth.4256</citation>\n+            <citation type="doi">10.1038/s41467-020-17921-y</citation>\n+            <citation type="doi">10.1038/s41592-020-0967-9</citation>\n+            <citation type="doi">10.1021/acs.jproteome.0c00119</citation>\n+            <citation type="doi">10.1074/mcp.TIR120.002216</citation>\n+            <citation type="doi">10.1074/mcp.TIR120.002048</citation>\n+            <citation type="doi">10.1016/j.mcpro.2021.100077</citation>\n+            <citation type="doi">10.1021/acs.jproteome.0c00544</citation>\n+            <citation type="doi">10.1038/nmeth.3255</citation>\n+            <yield />\n+        </citations>\n+    </xml>\n+</macros>\n'
b
diff -r 000000000000 -r 14785481da2b msfragger_macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/msfragger_macros.xml Wed Jul 10 06:15:00 2024 +0000
[
b'@@ -0,0 +1,1000 @@\n+<macros>\n+\n+    <!-- Utility functions for linking input files -->\n+    <token name="@CMD_IMPORTS@"><![CDATA[\n+        #import re\n+        #def identifier_or_name($input1)\n+            #if hasattr($input1, \'element_identifier\')\n+                #return $input1.element_identifier\n+            #else\n+                #return $input1.name\n+            #end if\n+        #end def\n+        #def clean($name1)\n+            #set $name_clean = $re.sub(\'[^\\w\\-_]\', \'_\', $re.sub(\'(?i)[.](fa|fas|fasta|imzml|mzml|mzxml|raw)$\',\'\', $re.sub(\'.*/\',\'\', $name1.rstrip(\'.gz\'))))\n+            #return $name_clean\n+        #end def\n+        #def ln_name($ds)\n+            #set $ext = \'\'\n+            #if $ds.is_of_type(\'mzml\') or $ds.is_of_type(\'imzml\')\n+                #set $ext = ".mzML"\n+            #else if $ds.is_of_type(\'mzxml\')\n+                #set $ext = ".mzXML"\n+            #else if $ds.is_of_type(\'mgf\')\n+                #set $ext = ".mgf"\n+            #else if $ds.is_of_type(\'thermo.raw\')\n+                #set $ext = ".raw"\n+            #else if $ds.is_of_type(\'fasta\')\n+                #set $ext = ".fasta"\n+            #end if\n+            #set $name = "%s%s" % ($clean($identifier_or_name($ds)),$ext)\n+            #return $name\n+        #end def\n+        #set $i_names = []\n+        #set $db_name = None\n+    ]]></token>\n+\n+    <!-- The following xml elements define the parameters for each given workflow -->\n+    <xml name="msfragger_default">\n+        <expand macro="search_tolerances"/>\n+        <expand macro="digestion"/>\n+        <expand macro="variable_modification"/>\n+        <expand macro="static_modification"/>\n+        <expand macro="glyco_labile"/>\n+        <expand macro="mass_offsets"/>\n+        <expand macro="spectrum_processing"/>\n+        <expand macro="open_search_options"/>\n+        <expand macro="modeling_output"/>\n+        <expand macro="advanced_options"/>\n+    </xml>\n+    <xml name="msfragger_open">\n+        <expand macro="search_tolerances"/>\n+        <expand macro="digestion"/>\n+        <expand macro="variable_modification"/>\n+        <expand macro="static_modification"/>\n+        <expand macro="glyco_labile"/>\n+        <expand macro="mass_offsets"/>\n+        <expand macro="spectrum_processing" mode_selected="false" mode_corrected="true"/>\n+        <expand macro="open_search_options" localize="true"/>\n+        <expand macro="modeling_output"/>\n+        <expand macro="advanced_options"/>\n+    </xml>\n+    <xml name="msfragger_nonspecific_HLA">\n+        <expand macro="search_tolerances" precursor_mass_lower="-20" precursor_mass_upper="20"/>\n+        <expand macro="digestion" stricttrypsin="false" nonspecific="true" digest_max_length="25" termini_0="true" termini_2="false"/>\n+        <expand macro="variable_modification"/>\n+        <expand macro="static_modification"/>\n+        <expand macro="glyco_labile"/>\n+        <expand macro="mass_offsets"/>\n+        <expand macro="spectrum_processing" transform_none="false" transform_sqrt="true"/>\n+        <expand macro="open_search_options"/>\n+        <expand macro="modeling_output"/>\n+        <expand macro="advanced_options"/>\n+    </xml>\n+    <xml name="msfragger_LFQ_MBR">\n+        <expand macro="search_tolerances"/>\n+        <expand macro="digestion"/>\n+        <expand macro="variable_modification"/>\n+        <expand macro="static_modification"/>\n+        <expand macro="glyco_labile"/>\n+        <expand macro="mass_offsets"/>\n+        <expand macro="spectrum_processing"/>\n+        <expand macro="open_search_options"/>\n+        <expand macro="modeling_output"/>\n+        <expand macro="advanced_options"/>\n+    </xml>\n+    <xml name="msfragger_TMT">\n+        <expand macro="search_tolerances"/>\n+        <expand macro="digestion" digest_mass_range_min="200.0"/>\n+        <expand macro="variable_modification"/>\n+        <expand macro="static_modification"/>\n+        <expand macro="glyco_labile"/>\n+        <expand macro="mass_offsets"/>\n+        <expand macro="spectrum_proce'..b'nts\'] = $prefix.glyco_labile.diagnostic_fragments\n+\n+        #if $prefix.glyco_labile.remainder_fragment_masses != \'\'\n+            #set $msfragger_dict[\'remainder_fragment_masses\'] = $prefix.glyco_labile.remainder_fragment_masses\n+        #end if\n+            #set $msfragger_dict[\'Y_type_masses\'] = $prefix.glyco_labile.Y_type_masses\n+        #end if\n+  ]]></token>\n+\n+    <!-- Formatting options for output files. -->\n+    <xml name="advanced_options">\n+        <section name="advanced_options" expanded="false" title="Advanced Options">\n+            <param name="output_format" type="select" multiple="true" label="output format">\n+                <option value="pepXML">PEPXML</option>\n+                <option value="tsv">TSV</option>\n+                <option value="tsv_pepXML">TSV_PEPXML</option>\n+                <option value="pin">PIN</option>\n+                <option value="tsv_pin">TSV_PIN</option>\n+                <option value="pepXML_pin" selected="true">PEPXML_PIN</option>\n+                <option value="tsv_pepXML_pin">TSV_PEPXML_PIN</option>\n+            </param>\n+            <param name="output_report_topN" type="integer" value="1" min="1" optional="true"\n+                label="Reports top N PSMs per input spectrum  Default:1" />\n+            <param name="report_alternative_proteins" type="boolean" checked="true"\n+                 label="Report alternative proteins"/>\n+            <param name="output_max_expect" type="float" value="50.0" min="0.0" optional="true"\n+                label="Suppresses reporting of PSM if top hit has expectation greater than this threshold" />\n+\n+            <param name="write_calibrated_mzml" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Write calibrated mzML"/>\n+            <param name="write_uncalibrated_mgf" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Write uncalibrated MGF"/>\n+            <param name="group_variable" type="select" optional="true" label="Group variable">\n+                <option value="0">None</option>\n+                <option value="1">Number of enzymatic termini</option>\n+                <option value="2">Protein evidence from FASTA file</option>\n+            </param>\n+        </section>\n+    </xml>\n+\n+    <!-- Does not enter into msfragger_dict, instead produces configuration text. -->\n+    <token name="@MSFRAGGER_ADVANCED_OPTIONS@"><![CDATA[\n+        #set $msfragger_dict[\'output_format\'] = $prefix.advanced_options.output_format.__str__.replace(\',mgf\',\'\').replace(\',\',\'_\')\n+        #if $prefix.advanced_options.output_report_topN != \'\'\n+            #set $msfragger_dict[\'output_report_topN\'] = $prefix.advanced_options.output_report_topN\n+        #end if\n+        #set $msfragger_dict[\'report_alternative_proteins\'] = $prefix.advanced_options.report_alternative_proteins\n+        #if $prefix.advanced_options.output_max_expect != \'\'\n+            #set $msfragger_dict[\'output_max_expect\'] = $prefix.advanced_options.output_max_expect\n+        #end if\n+        #set $msfragger_dict[\'write_calibrated_mzml\'] = $prefix.advanced_options.write_calibrated_mzml\n+        #set $msfragger_dict[\'write_uncalibrated_mgf\'] = $prefix.advanced_options.write_uncalibrated_mgf\n+        #if $prefix.advanced_options.group_variable != \'None\'\n+            #set $msfragger_dict[\'group_variable\'] = $prefix.advanced_options.group_variable\n+        #end if\n+    ]]></token>\n+\n+    <!-- Composes all parameter tokens for generating msfragger_dict for -->\n+    <token name="@MSFRAGGER_PARAM_DICT@"><![CDATA[\n+        #import re\n+        #set $msfragger_dict = {}\n+        @SEARCH_TOLERANCES@\n+        ## Variable Modification Parameters sets $vmods\n+        @VARIABLE_MODIFICATION@\n+        ## Static Modification Parameters sets $fmods\n+        @STATIC_MODIFICATION@\n+        @GLYCO_LABILE@\n+        @MASS_OFFSETS@\n+        @SPECTRUM_PROCESSING@\n+        @OPEN_SEARCH@\n+        @MODELING_OUTPUT@\n+        @MSFRAGGER_ADVANCED_OPTIONS@\n+    ]]></token>\n+</macros>\n'
b
diff -r 000000000000 -r 14785481da2b test-data/default/outputs/workflow.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/default/outputs/workflow.txt Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,308 @@\n+database.decoy-tag=rev_\n+diann.fragpipe.cmd-opts=\n+diann.heavy=\n+diann.library=\n+diann.light=\n+diann.medium=\n+diann.q-value=0.01\n+diann.quantification-strategy=3\n+diann.run-dia-nn=false\n+diann.run-dia-plex=false\n+diann.run-specific-protein-q-value=false\n+diann.unrelated-runs=false\n+diann.use-predicted-spectra=true\n+diaumpire.AdjustFragIntensity=true\n+diaumpire.BoostComplementaryIon=false\n+diaumpire.CorrThreshold=0\n+diaumpire.DeltaApex=0.2\n+diaumpire.ExportPrecursorPeak=false\n+diaumpire.Q1=true\n+diaumpire.Q2=true\n+diaumpire.Q3=true\n+diaumpire.RFmax=500\n+diaumpire.RPmax=25\n+diaumpire.RTOverlap=0.3\n+diaumpire.SE.EstimateBG=false\n+diaumpire.SE.IsoPattern=0.3\n+diaumpire.SE.MS1PPM=10\n+diaumpire.SE.MS2PPM=20\n+diaumpire.SE.MS2SN=1.1\n+diaumpire.SE.MassDefectFilter=true\n+diaumpire.SE.MassDefectOffset=0.1\n+diaumpire.SE.NoMissedScan=1\n+diaumpire.SE.SN=1.1\n+diaumpire.run-diaumpire=false\n+freequant.mz-tol=10\n+freequant.rt-tol=0.4\n+freequant.run-freequant=false\n+ionquant.excludemods=\n+ionquant.heavy=\n+ionquant.imtol=0.05\n+ionquant.ionfdr=0.01\n+ionquant.light=\n+ionquant.locprob=0.75\n+ionquant.maxlfq=1\n+ionquant.mbr=1\n+ionquant.mbrimtol=0.05\n+ionquant.mbrmincorr=0\n+ionquant.mbrrttol=1\n+ionquant.mbrtoprun=10\n+ionquant.medium=\n+ionquant.minfreq=0\n+ionquant.minions=2\n+ionquant.minisotopes=2\n+ionquant.minscans=3\n+ionquant.mztol=10\n+ionquant.normalization=1\n+ionquant.peptidefdr=1\n+ionquant.proteinfdr=1\n+ionquant.requantify=1\n+ionquant.rttol=0.4\n+ionquant.run-ionquant=true\n+ionquant.tp=0\n+ionquant.uniqueness=0\n+ionquant.use-labeling=false\n+ionquant.use-lfq=true\n+ionquant.writeindex=0\n+msbooster.predict-rt=true\n+msbooster.predict-spectra=true\n+msbooster.run-msbooster=false\n+msbooster.use-correlated-features=false\n+msfragger.Y_type_masses=\n+msfragger.activation_types=all\n+msfragger.add_topN_complementary=0\n+msfragger.allowed_missed_cleavage_1=2\n+msfragger.allowed_missed_cleavage_2=2\n+msfragger.calibrate_mass=2\n+msfragger.check_spectral_files=true\n+msfragger.clip_nTerm_M=true\n+msfragger.deisotope=1\n+msfragger.delta_mass_exclude_ranges=(-1.5,3.5)\n+msfragger.deneutralloss=1\n+msfragger.diagnostic_fragments=\n+msfragger.diagnostic_intensity_filter=0\n+msfragger.digest_max_length=50\n+msfragger.digest_min_length=7\n+msfragger.fragment_ion_series=b,y\n+msfragger.fragment_mass_tolerance=20\n+msfragger.fragment_mass_units=1\n+msfragger.group_variable=0\n+msfragger.intensity_transform=0\n+msfragger.ion_series_definitions=\n+msfragger.isotope_error=0/1/2/3\n+msfragger.labile_search_mode=off\n+msfragger.localize_delta_mass=false\n+msfragger.mass_diff_to_variable_mod=0\n+msfragger.mass_offsets=0\n+msfragger.max_fragment_charge=2\n+msfragger.max_variable_mods_combinations=5000\n+msfragger.max_variable_mods_per_peptide=3\n+msfragger.min_fragments_modelling=2\n+msfragger.min_matched_fragments=4\n+msfragger.min_sequence_matches=2\n+msfragger.minimum_peaks=15\n+msfragger.minimum_ratio=0.01\n+msfragger.misc.fragger.clear-mz-hi=0.0\n+msfragger.misc.fragger.clear-mz-lo=0.0\n+msfragger.misc.fragger.digest-mass-hi=5000\n+msfragger.misc.fragger.digest-mass-lo=500\n+msfragger.misc.fragger.enzyme-dropdown-1=stricttrypsin\n+msfragger.misc.fragger.enzyme-dropdown-2=null\n+msfragger.misc.fragger.precursor-charge-hi=4\n+msfragger.misc.fragger.precursor-charge-lo=1\n+msfragger.misc.fragger.remove-precursor-range-hi=1.5\n+msfragger.misc.fragger.remove-precursor-range-lo=-1.5\n+msfragger.misc.slice-db=1\n+msfragger.num_enzyme_termini=2\n+msfragger.output_format=pepXML_pin\n+msfragger.output_max_expect=50.0\n+msfragger.output_report_topN=1\n+msfragger.output_report_topN_dia1=5\n+msfragger.output_report_topN_dia2=3\n+msfragger.override_charge=false\n+msfragger.precursor_mass_lower=-20\n+msfragger.precursor_mass_mode=selected\n+msfragger.precursor_mass_units=1\n+msfragger.precursor_mass_upper=20\n+msfragger.precursor_true_tolerance=20\n+msfragger.precursor_true_units=1\n+msfragger.remainder_fragment_masses=\n+msfragger.remove_precursor_peak=1\n+msfragger.report_alternative_proteins=true\n+msfragger.require_precursor'..b'1\n+ptmshepherd.cap_y_ions=\n+ptmshepherd.decoy_type=1\n+ptmshepherd.diag_ions=\n+ptmshepherd.diagextract_mode=false\n+ptmshepherd.diagmine_diagMinFoldChange=3.0\n+ptmshepherd.diagmine_diagMinSpecDiff=00.2\n+ptmshepherd.diagmine_fragMinFoldChange=3.0\n+ptmshepherd.diagmine_fragMinPropensity=00.1\n+ptmshepherd.diagmine_fragMinSpecDiff=00.1\n+ptmshepherd.diagmine_minIonsPerSpec=2\n+ptmshepherd.diagmine_minPeps=25\n+ptmshepherd.diagmine_mode=false\n+ptmshepherd.diagmine_pepMinFoldChange=3.0\n+ptmshepherd.diagmine_pepMinSpecDiff=00.2\n+ptmshepherd.glyco_adducts=\n+ptmshepherd.glyco_fdr=1.00\n+ptmshepherd.glyco_isotope_max=3\n+ptmshepherd.glyco_isotope_min=-1\n+ptmshepherd.glyco_mode=false\n+ptmshepherd.glyco_ppm_tol=50\n+ptmshepherd.glycodatabase=\n+ptmshepherd.histo_smoothbins=2\n+ptmshepherd.iontype_a=false\n+ptmshepherd.iontype_b=true\n+ptmshepherd.iontype_c=true\n+ptmshepherd.iontype_x=false\n+ptmshepherd.iontype_y=true\n+ptmshepherd.iontype_z=true\n+ptmshepherd.localization_allowed_res=\n+ptmshepherd.localization_background=4\n+ptmshepherd.max_adducts=0\n+ptmshepherd.n_glyco=true\n+ptmshepherd.normalization-psms=true\n+ptmshepherd.normalization-scans=false\n+ptmshepherd.output_extended=false\n+ptmshepherd.peakpicking_mass_units=0\n+ptmshepherd.peakpicking_minPsm=10\n+ptmshepherd.peakpicking_promRatio=0.3\n+ptmshepherd.peakpicking_width=0.002\n+ptmshepherd.precursor_mass_units=0\n+ptmshepherd.precursor_tol=0.01\n+ptmshepherd.print_decoys=false\n+ptmshepherd.prob_dhexOx=2,0.5,0.1\n+ptmshepherd.prob_dhexY=2,0.5\n+ptmshepherd.prob_neuacOx=2,0.05,0.2\n+ptmshepherd.prob_neugcOx=2,0.05,0.2\n+ptmshepherd.prob_phosphoOx=2,0.05,0.2\n+ptmshepherd.prob_regY=5,0.5\n+ptmshepherd.prob_sulfoOx=2,0.05,0.2\n+ptmshepherd.remainder_masses=\n+ptmshepherd.remove_glycan_delta_mass=true\n+ptmshepherd.run-shepherd=false\n+ptmshepherd.spectra_maxfragcharge=2\n+ptmshepherd.spectra_ppmtol=20\n+ptmshepherd.varmod_masses=\n+quantitation.run-label-free-quant=false\n+run-psm-validation=true\n+run-validation-tab=true\n+saintexpress.fragpipe.cmd-opts=\n+saintexpress.max-replicates=10\n+saintexpress.run-saint-express=false\n+saintexpress.virtual-controls=100\n+speclibgen.easypqp.extras.max_delta_ppm=15\n+speclibgen.easypqp.extras.max_delta_unimod=0.02\n+speclibgen.easypqp.extras.rt_lowess_fraction=0\n+speclibgen.easypqp.fragment.a=false\n+speclibgen.easypqp.fragment.b=true\n+speclibgen.easypqp.fragment.c=false\n+speclibgen.easypqp.fragment.x=false\n+speclibgen.easypqp.fragment.y=true\n+speclibgen.easypqp.fragment.z=false\n+speclibgen.easypqp.im-cal=Automatic selection of a run as reference IM\n+speclibgen.easypqp.neutral_loss=false\n+speclibgen.easypqp.rt-cal=ciRT\n+speclibgen.easypqp.select-file.text=\n+speclibgen.easypqp.select-im-file.text=\n+speclibgen.keep-intermediate-files=false\n+speclibgen.run-speclibgen=false\n+tab-run.delete_calibrated_mzml=false\n+tab-run.delete_temp_files=false\n+tab-run.sub_mzml_prob_threshold=0.5\n+tab-run.write_sub_mzml=false\n+tmtintegrator.add_Ref=-1\n+tmtintegrator.aggregation_method=0\n+tmtintegrator.allow_overlabel=true\n+tmtintegrator.allow_unlabeled=true\n+tmtintegrator.best_psm=true\n+tmtintegrator.channel_num=TMT-6\n+tmtintegrator.dont-run-fq-lq=false\n+tmtintegrator.glyco_qval=-1\n+tmtintegrator.groupby=0\n+tmtintegrator.log2transformed=true\n+tmtintegrator.max_pep_prob_thres=0\n+tmtintegrator.min_ntt=0\n+tmtintegrator.min_pep_prob=0.9\n+tmtintegrator.min_percent=0.05\n+tmtintegrator.min_purity=0.5\n+tmtintegrator.min_site_prob=-1\n+tmtintegrator.mod_tag=none\n+tmtintegrator.ms1_int=true\n+tmtintegrator.outlier_removal=true\n+tmtintegrator.print_RefInt=false\n+tmtintegrator.prot_exclude=none\n+tmtintegrator.prot_norm=0\n+tmtintegrator.psm_norm=false\n+tmtintegrator.quant_level=2\n+tmtintegrator.ref_tag=Bridge\n+tmtintegrator.run-tmtintegrator=false\n+tmtintegrator.tolerance=20\n+tmtintegrator.top3_pep=true\n+tmtintegrator.unique_gene=0\n+tmtintegrator.unique_pep=false\n+tmtintegrator.use_glycan_composition=false\n+workflow.input.data-type.im-ms=false\n+workflow.input.data-type.regular-ms=true\n+workflow.saved-with-ver=20.0-build5\n'
b
diff -r 000000000000 -r 14785481da2b test-data/default/test.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/default/test.fasta Wed Jul 10 06:15:00 2024 +0000
[
b'@@ -0,0 +1,72 @@\n+>generic|U00096.3_prot_AAC76339.1_3292|30SribosomalsubunitproteinS3-Ecoli_MG1655\n+MGQKVHPNGIRLGIVKPWNSTWFANTKEFADNLDSDFKVRQYLTKELAKASVSRIVIERP\n+AKSIRVTIHTARPGIVIGKKGEDVEKLRKVVADIAGVPAQINIAEVRKPELDAKLVADSI\n+TSQLERRVMFRRAMKRAVQNAMRLGAKGIKVEVSGRLGGAEIARTEWYREGRVPLHTLRA\n+DIDYNTSEAHTTYGVIGVKVWIFKGEILGGMAAVEQPEKPAAQPKKQQRKGRK\n+>generic|OFI31430.1|phosphateacetyltransferase[Salmonellaentericasubsp.entericaserovarTyphimuriumstr.TT9079]\n+MSRIIMLIPTGTSVGLTSVSLGVIRAMERKGVRLSVFKPIAQPRAGGDAPDQTTTIVRAN\n+STLPAAEPLKMSHVESLLSSNQKDVLMEEIIANYHANTKDAEVVLVEGLVPTRKHQFAQS\n+LNYEIAKTLNAEIVFVMSQGTDTPEQLNERIELTRSSFGGAKNTNITGVIINKLNAPVDE\n+QGRTRPDLSEIFDDSSKAQVIKIDPAKLQESSPLPVLGAVPWSFDLIATRAIDMARHLNA\n+TIINEGDIKTRRVKSVTFCARSIPHMLEHFRAGSLLVTSADRPDVLVAACLAAMNGVEIG\n+ALLLTGGYEMDARISKLCERAFATGLPVFMVNTNTWQTSLSLQSFNLEVPVDDHERIEKV\n+QEYVANYVNAEWIESLTATSERSRRLSPPAFRYQLTELARKAGKRVVLPEGDEPRTVKAA\n+AICAERGIATCVLLGNPDEINRVAASQGVELGAGIEIVDPEVVRESYVARLVELRKSKGM\n+TEPVAREQLEDNVVLGTLMLEQDEVDGLVSGAVHTTANTIRPPLQLIKTAPGSSLVSSVF\n+FMLLPEQVYVYGDCAINPDPTAEQLAEIAIQSADSAIAFGIEPRVAMLSYSTGTSGAGSD\n+VEKVREATRLAQEKRPDLMIDGPLQYDAAVMADVAKSKAPNSPVAGRATVFIFPDLNTGN\n+TTYKAVQRSADLISIGPMLQGMRKPVNDLSRGALVDDIVYTIALTAIQASQQQQ\n+>generic|OFI30005.1|serinehydroxymethyltransferase[Salmonellaentericasubsp.entericaserovarTyphimuriumstr.TT9079]\n+MLKREMNIADYDAELWQAMEQEKVRQEEHIELIASENYTSPRVMQAQGSQLTNKYAEGYP\n+GKRYYGGCEYVDVVEQLAIDRAKELFGADYANVQPHSGSQANFAVYTALLQPGDTVLGMN\n+LAQGGHLTHGSPVNFSGKLYNIVPYGIDESGKIDYDEMAKLAKEHKPKMIIGGFSAYSGV\n+VDWAKMREIADSIGAYLFVDMAHVAGLIAAGVYPNPVPHAHVVTTTTHKTLAGPRGGLIL\n+AKGGDEELYKKLNSAVFPSAQGGPLMHVIAGKAVALKEAMEPEFKVYQQQVAKNAKAMVE\n+VFLNRGYKVVSGGTENHLFLLDLVDKNLTGKEADAALGRANITVNKNSVPNDPKSPFVTS\n+GIRIGSPAVTRRGFKEAEVKELAGWMCDVLDNINDEATIERVKAKVLDICARFPVYA\n+>generic|OFI28972.1|translationelongationfactorTu,partial[Salmonellaentericasubsp.entericaserovarTyphimuriumstr.TT9079]\n+MSKEKFERTKPHVNVGTIGHVDHGKTTLTAAITTVLAKTYGGAARAFDQIDNAPEEKARG\n+ITINTSHVEYDTPTRHYAHVDCPGHADYVKNMITGAAQMDGAILVVAATDGPMPQTREHI\n+LLGRQVGVPYIIVFLNKCDMVDDEELLELVEMEVRELLSQYDFPGDDTPIVRGSALKALE\n+GDAEWEAKIIELAGFLDSYIPEPERAIDKPFLLPIEDVFSISGRGTVVTGRVERGIIKVG\n+EEVEIVGIKETQKSTCTGVEMFRKLLDEGRAGENVGVLLRGIKREEIERGQVLAKPGTIK\n+PHTKFESEVYILSKDEGGRHTPFFKGYRPQFYFRTTDVTGTIELPEGVEMVMPGDNIKMV\n+VTLIHPIAMDDGLRFAIREGGRTVGAGVVAKVL\n+>generic|OFI28767.1|chitinase[Salmonellaentericasubsp.entericaserovarTyphimuriumstr.TT9079]\n+MATSKLIQGDTITETTHAANGFDPATSDDKISYTSARVAKPVYNKYKNSTTKPKVFGYYT\n+DWSQYDSRLQGNMSQPGRGYDLTKVSPTAYDKLIFGFVGITGFRKIDTEDRDVVAEAAAL\n+CGKVKYEPTFLDPWGDFQSYINLGFDVSGWDVDPKTVTQSNAKGLLGALRDMQAKAKAAG\n+HTLALSMSIGGWSMSNGFHETAASDSSRKIFAKGVVKLFKQFPMFSEVDIDWEYPNNEGA\n+GNPFGPEDGANYALLIAELRKQLDSAGLSNVKISIAASAVTTIFDYAKVKDLMAAGLYGI\n+NLMTYDFFGTPWAETLGHHTNRKALEEGGWAVETIVDHLLAEGFSADRINIGYAGYTRNA\n+RQVEIESLSPLKGSYNPGSGPTTGSFESGTSEWYDVIYSYLDLENQKGRNGFNVYTDQVA\n+DADYLYSPESKLFLSLDTPRTVKAKGEYAAKLGLGGVFTWTIDQDNGVLVNAVREGLGYE\n+IESEVIDMEPFYFEGINVEKDEEQSDSDDAQKVNHAPKAAIELMVVGGSTVQLSGAGSSD\n+EDNDELSFSWGVPSQIDVADKTAEIIEVVVPEVSEKTAFQFTLFVRDCYNEPSSQQRFVL\n+TAVPALSQVQPEPEEEEEIIVPVPDEEEDTTPAEDDTPADDKTSPYAQWDASTVYGANWG\n+SFEIVSWKGHNYQVKWWSMGNQPDLNCGVGGAWTDLGAY\n+>generic|OFI28186.1|50SribosomalproteinL3[Salmonellaentericasubsp.entericaserovarTyphimuriumstr.TT9079]\n+MIGLVGKKVGMTRIFTEDGVSIPVTVIEVEANRVTQVKDLANDGYRAVQVTTGAKKANRV\n+TKPEAGHFAKAGVEAGRGLWEFRLAEGEEYTVGQSISVELFADVKKVDVTGTSKGKGFAG\n+TVKRWNFRTQDATHGNSLSHRVPGSIGQNQTPGKVFKGKKMAGQMGNERVTVQSLDVVRV\n+DAERNLLLVKGGVPGATGCDLIVKPAVKA\n+>generic|AL009126.3_prot_CAB11777.1_1|chromosomalreplicationinitiatorinformationalATPase-BSU\n+MENILDLWNQALAQIEKKLSKPSFETWMKSTKAHSLQGDTLTITAPNEFARDWLESRYLHLIADTIYELTGEELSIKFVIPQNQDVEDFMPKPQVKKAVKEDTSDFPQNMLNPKYTFDTFVIGSGNRFAHAASLAVAEAPAKAYNPLFIYGGVGLGKTHLMHAIGHYVIDHNPSAKVVYLSSEKFTNEFINSIRDNKAVDFRNRYRNVDVLLIDDIQFLAGKEQTQEEFFHTFNTLHEESKQIVISSDRPPKEIPTLEDRLRSRFEWGLITDITPPDLETRIAILRKKAKAEGLDIPNEVMLYIANQIDSNIRELEGALIRVVAYSSLINKDINADLAAEALKDIIPSSKPKVITIKEIQRVVGQQFNIKLEDFKAKKRTKSVAFPRQIAMYLSREMTDSSLPKIGEEFGGRDHTTVIHAHEKISKLLADDEQLQQHVKEIKEQLK\n+>generic|AL009126.3_prot_CAB11778.1_2|DNApolymeraseIII(be'..b'PAESIEISSNSPEIGKVVEAIVADQIEGEELNISFSPKYMLDALKVLEGAEIRVSFTGAMRPFLIRTPNDETIVQLILPVRTY\n+>generic|AL009126.3_prot_CAB11779.1_3|RNAbindingproteininvolvedinribosomematuration-BSU\n+MANPISIDTEMITLGQFLKLADVIQSGGMAKWFLSEHEVLVNDEPDNRRGRKLYVGDVVEIEGFGSFQVVN\n+>generic|AL009126.3_prot_CAB11780.1_4|RecAfilament-DNAcomplexstabilisation,ssDNAanddsDNAbinding,ATPbinding-BSU\n+MYIQNLELTSYRNYDHAELQFENKVNVIIGENAQGKTNLMEAIYVLSMAKSHRTSNDKELIRWDKDYAKIEGRVMKQNGAIPMQLVISKKGKKGKVNHIEQQKLSQYVGALNTIMFAPEDLNLVKGSPQVRRRFLDMEIGQVSPVYLHDLSLYQKILSQRNHFLKQLQTRKQTDRTMLDVLTDQLVEVAAKVVVKRLQFTAQLEKWAQPIHAGISRGLEELTLKYHTALDVSDPLDLSKIGDSYQEAFSKLREKEIERGVTLSGPHRDDVLFYVNGRDVQTYGSQGQQRTTALSLKLAEIDLIHEEIGEYPILLLDDVLSELDDYRQSHLLHTIQGRVQTFVTTTSVDGIDHETLRQAGMFRVQNGALVK\n+>generic|AL009126.3_prot_CAB11781.2_5|regulatorofextracellularmatrixformation-BSU\n+MYIHLGDDFVVSTRDIVGIFDFKANMSPIVEEFLKKQKHKVVPSVNGTPKSIVVTVQNIYYSPLSSSTLKKRAQFMFEIDS\n+>generic|AL009126.3_prot_CAB11782.1_6|DNAgyrase(subunitB)-BSU\n+MEQQQNSYDENQIQVLEGLEAVRKRPGMYIGSTNSKGLHHLVWEIVDNSIDEALAGYCTDINIQIEKDNSITVVDNGRGIPVGIHEKMGRPAVEVIMTVLHAGGKFDGSGYKVSGGLHGVGASVVNALSTELDVTVHRDGKIHRQTYKRGVPVTDLEIIGETDHTGTTTHFVPDPEIFSETTEYDYDLLANRVRELAFLTKGVNITIEDKREGQERKNEYHYEGGIKSYVEYLNRSKEVVHEEPIYIEGEKDGITVEVALQYNDSYTSNIYSFTNNINTYEGGTHEAGFKTGLTRVINDYARKKGLIKENDPNLSGDDVREGLTAIISIKHPDPQFEGQTKTKLGNSEARTITDTLFSTAMETFMLENPDAAKKIVDKGLMAARARMAAKKARELTRRKSALEISNLPGKLADCSSKDPSISELYIVEGDSAGGSAKQGRDRHFQAILPLRGKILNVEKARLDKILSNNEVRSMITALGTGIGEDFNLEKARYHKVVIMTDADVDGAHIRTLLLTFFYRYMRQIIENGYVYIAQPPLYKVQQGKRVEYAYNDKELEELLKTLPQTPKPGLQRYKGLGEMNATQLWETTMDPSSRTLLQVTLEDAMDADETFEMLMGDKVEPRRNFIEANARYVKNLDI\n+>generic|AL009126.3_prot_CAB11783.1_7|DNAgyrase(subunitA)-BSU\n+MSEQNTPQVREINISQEMRTSFLDYAMSVIVSRALPDVRDGLKPVHRRILYAMNDLGMTSDKPYKKSARIVGEVIGKYHPHGDSAVYESMVRMAQDFNYRYMLVDGHGNFGSVDGDSAAAMRYTEARMSKISMEILRDITKDTIDYQDNYDGSEREPVVMPSRFPNLLVNGAAGIAVGMATNIPPHQLGEIIDGVLAVSENPDITIPELMEVIPGPDFPTAGQILGRSGIRKAYESGRGSITIRAKAEIEQTSSGKERIIVTELPYQVNKAKLIEKIADLVRDKKIEGITDLRDESDRTGMRIVIEIRRDANANVILNNLYKQTALQTSFGINLLALVDGQPKVLTLKQCLEHYLDHQKVVIRRRTAYELRKAEARAHILEGLRVALDHLDAVISLIRNSQTAEIARTGLIEQFSLTEKQAQAILDMRLQRLTGLEREKIEEEYQSLVKLIAELKDILANEYKVLEIIREELTEIKERFNDERRTEIVTSGLETIEDEDLIERENIVVTLTHNGYVKRLPASTYRSQKRGGKGVQGMGTNEDDFVEHLISTSTHDTILFFSNKGKVYRAKGYEIPEYGRTAKGIPIINLLEVEKGEWINAIIPVTEFNAELYLFFTTKHGVSKRTSLSQFANIRNNGLIALSLREDDELMGVRLTDGTKQIIIGTKNGLLIRFPETDVREMGRTAAGVKGITLTDDDVVVGMEILEEESHVLIVTEKGYGKRTPAEEYRTQSRGGKGLKTAKITENNGQLVAVKATKGEEDLMIITASGVLIRMDINDISITGRVTQGVRLIRMAEEEHVATVALVEKNEEDENEEEQEEV\n+>generic|AL009126.3_prot_CAB11784.1_8|conservedproteinofunknownfunction-BSU\n+MTYHEWKDLALFYSVESTQKFLEKVYILNGINDAKKNSFKNSERFIYFLKHAESFYKQAAYSPLEIKPILLFYGMAQLIKACLITRDPHYPSHTSVLAHGVTTRKRKKQNYCFSDDEVKIQRNGLCVHFMKHLFGQSDIVDERYTMKKLLMAIPELSDIFYFQQKERFMTKVEKDKNEIFVPEEVVINYKMSDSRFAEYMSHHYQWSFTKKNEHGLLFEISPQDKEPWTSTSLLFDMEKNQYYIPSQREQFLRLPEMTIHYLILYNVGMIARYETEWWYELLTQHISDDYVLIQQFLLVSEKKFPKYASQFLLHF\n+>generic|AL009126.3_prot_CAB11785.1_9|inosine-monophosphatedehydrogenase-BSU\n+MWESKFSKEGLTFDDVLLVPAKSEVLPRDVDLSVELTKTLKLNIPVISAGMDTVTESAMAIAMARQGGLGIIHKNMSIEQQAEQVDKVKRSERGVITNPFFLTPDHQVFDAEHLMGKYRISGVPIVNNEEDQKLVGIITNRDLRFISDYSMKISDVMTKEELVTASVGTTLDEAEKILQKHKIEKLPLVDDQNKLKGLITIKDIEKVIEFPNSSKDIHGRLIVGAAVGVTGDTMTRVKKLVEANVDVIVIDTAHGHSQGVLNTVTKIRETYPELNIIAGNVATAEATRALIEAGADVVKVGIGPGSICTTRVVAGVGVPQITAIYDCATEARKHGKTIIADGGIKFSGDITKALAAGGHAVMLGSLLAGTSESPGETEIYQGRRFKVYRGMGSVAAMEKGSKDRYFQEENKKFVPEGIEGRTPYKGPVEETVYQLVGGLRSGMGYCGSKDLRALREEAQFIRMTGAGLRESHPHDVQITKESPNYTIS\n+>generic|AL009126.3_prot_CAB11786.1_10|D-alanyl-D-alaninecarboxypeptidase(penicillin-bindingprotein5)-BSU\n+MNIKKCKQLLMSLVVLTLAVTCLAPMSKAKAASDPIDINASAAIMIEASSGKILYSKNADKRLPIASMTKMMTEYLLLEAIDQGKVKWDQTYTPDDYVYEISQDNSLSNVPLRKDGKYTVKELYQATAIYSANAAAIAIAEIVAGSETKFVEKMNAKAKELGLTDYKFVNATGLENKDLHGHQPEGTSVNEESEVSAKDMAVLADHLITDYPEILETSSIAKTKFREGTDDEMDMPNWNFMLKGLVSEYKKATVDGLKTGSTDSAGSCFTGTAERNGMRVITVVLNAKGNLHTGRFDETKKMFDYAFDNFSMKEIYAEGDQVKGHKTISVDKGKEKEVGIVTNKAFSLPVKNGEEKNYKAKVTLNKDNLTAPVKKGTKVGKLTAEYTGDEKDYGFLNSDLAGVDLVTKENVEKANWFVLTMRSIGGFFAGIWGSIVDTVTGWF\n'
b
diff -r 000000000000 -r 14785481da2b test-data/default/test.manifest
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/default/test.manifest Wed Jul 10 06:15:00 2024 +0000
b
@@ -0,0 +1,2 @@
+test1.mzML sample1 DDA
+test2.mzML sample2 DDA
b
diff -r 000000000000 -r 14785481da2b test-data/default/test1.mzML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/default/test1.mzML Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,721 @@\n+<indexedmzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.2_idx.xsd">\n+  <mzML xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" id="191016JAT02_Mix_2_1ug" version="1.1.0">\n+    <cvList count="2">\n+      <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="4.1.51" URI="https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo" />\n+      <cv id="UO" fullName="Unit Ontology" version="09:04:2014" URI="https://raw.githubusercontent.com/bio-ontology-research-group/unit-ontology/master/unit.obo" />\n+    </cvList>\n+    <fileDescription>\n+      <fileContent>\n+        <cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value="" />\n+        <cvParam cvRef="MS" accession="MS:1000580" name="MSn spectrum" value="" />\n+      </fileContent>\n+      <sourceFileList count="1">\n+        <sourceFile id="RAW1" name="191016JAT02_Mix_2_1ug.raw" location="file:///">\n+          <cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format" value="" />\n+          <cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW format" value="" />\n+          <cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="d76055ac4d0ddd1b1d9b09af4a790bd5fd25d109" />\n+        </sourceFile>\n+      </sourceFileList>\n+    </fileDescription>\n+    <referenceableParamGroupList count="1">\n+      <referenceableParamGroup id="CommonInstrumentParams">\n+        <cvParam cvRef="MS" accession="MS:1002732" name="Orbitrap Fusion Lumos" value="" />\n+        <cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="FSN20187" />\n+      </referenceableParamGroup>\n+    </referenceableParamGroupList>\n+    <sampleList count="1">\n+      <sample id="_x0031_" name="">\n+        <cvParam cvRef="MS" accession="MS:1000002" name="sample name" value="1" />\n+      </sample>\n+    </sampleList>\n+    <softwareList count="2">\n+      <software id="Xcalibur" version="3.0.2041">\n+        <cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value="" />\n+      </software>\n+      <software id="pwiz" version="3.0.21258">\n+        <cvParam cvRef="MS" accession="MS:1000615" name="ProteoWizard software" value="" />\n+      </software>\n+    </softwareList>\n+    <instrumentConfigurationList count="2">\n+      <instrumentConfiguration id="IC1">\n+        <referenceableParamGroupRef ref="CommonInstrumentParams" />\n+        <componentList count="4">\n+          <source order="1">\n+            <cvParam cvRef="MS" accession="MS:1000398" name="nanoelectrospray" value="" />\n+            <cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet" value="" />\n+          </source>\n+          <analyzer order="2">\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value="" />\n+          </analyzer>\n+          <analyzer order="3">\n+            <cvParam cvRef="MS" accession="MS:1000484" name="orbitrap" value="" />\n+          </analyzer>\n+          <detector order="4">\n+            <cvParam cvRef="MS" accession="MS:1000624" name="inductive detector" value="" />\n+          </detector>\n+        </componentList>\n+        <softwareRef ref="Xcalibur" />\n+      </instrumentConfiguration>\n+      <instrumentConfiguration id="IC2">\n+        <referenceableParamGroupRef ref="CommonInstrumentParams" />\n+        <componentList count="4">\n+          <source order="1">\n+            <cvParam cvRef="MS" accession="MS:1000398" name="nanoelectrospray" value="" />\n+            <cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet" value="" />\n+          </source>\n+          <analyzer order="2">\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value="" />\n+          </analyzer>\n+          <analyzer order="3">\n+            <cvParam cvRef="MS" accession="MS:1000083" name="radial ej'..b'aLHmGTeTEQ8i7QsmM5VNWWKUy8FUjON9783p0snZxPiVE6wqz7hdRdKi6omZahXvEhuTWVIT0wC0tdEyC28Rxihz/hR8c1hb175qJzMJu/ZEVAZuwknLhjTivFJNn7xFJ2af+CMUMdtObxXlwrY95csRY7Ho3FinYpwehrIC/gdhKTV4SG9w18Dgvmx6dSqdEihkx2bkDJxPN4G55GvwVhWaM6585MYu1PYeQxV5eLj6xEpsVZGPcbcoL5PgqY+xV2oXmIS5iMb+U7aVddJ2RO97CCkix75YXi89QBat3RQQMjgqgrthwVhytR0KKLG61VMHtwgZ2GvtGW+G6huWMK277X5BQNZR7muQwLAtwQtvAonja14O2scGxuk+Ddj0NwcY0c9oV34/KaK6zSkc1BP2Mp/t9knvEsEb8mO3GpnhNmqv0lvFp4kfJr1vONGh8kO33G7eCrVBJzBlJh6xF1ZTqvmiPFVdQL6zXXYXnLCOoGfRh9fySPPJoE/WZpLq3IwEmnIigm/eCrQZ+RKqbH6hNqMb8+DsqyPZT6KItk/5GEmbsr3sGEjxm+4zF7nrND/GV8bAyA5dhN7DGtDXNbo9nGKB8535fyWLcYWB7Pxl3P//dIoSIfc2x5FIda85f4LCXJyxdP55u9zTB4Y4bNelP5Y0AGlwarwyVlOx8KIQ7NlWNvcy/zSi1LKrw1l8UupdLnMlPusnPgVgdjfnaliCtl3dimyZhFyB1Wo0fB8Ls628XEku+mJDSNlRUiFp1B9exCwbQ8SBgb8RL/GblLiLIJ5Ll/+eDFChO+WKLOAW8/oe6SPb6q/ODdifP5S1ge59rK8rkGP14bZsOrKls55oUTH7zzkr29JjGfPs3XnK34v7v2Cw8kr0A8UI7XtCWgb6O1sPWeLz+/Jyv4TyzAnV/WnON+imMcZ8BxsIYrR+xFztp8Tp6ZxQkj1nKJQ5CwVUqFG3py2FtiEsvtPszjeLIQmCePJZvns7KDAtclKKNw1WmoKuwS7uop8o6aJVwdqMRzu8zNVdMzWXuLrnnCzWi2+uckhw2dQc6bZJieOsqLWv7g90Ou7NWmwPOSYvljXAO2992H+OwevBnUFMRrFYR/Qi0F29Pf0db8he3XPmMXCTtWv9OK6f0KQrbIA5539xVKYv/kpMtWvE7bVHA2VuKo41EcOliIoV5pnmMhQGW1IvuYKnGEiSNLT9fl0bQO0bv28u3G70J3argQoa7HqqoGEC8ox9uBQco3tuD+MjuhoiqU8+TKoXVmPrsa+ZOpdjFyg8ewa542nmgUovpF5UIP0zZ2fS+FL2KhGBdrDHeVSPSF6GCJiwRb1fkjqbwLe/SLsfCVOwYbTIT6239DRDKa/KKCkdf/lnIkmrFUwRcdLpGwnuKC9v4l3D1YQroqSajdchYvxZPw85UbbA3cMUfiAMbpn0LTiT54xSXAIiwcvcHbyOWODu61j0bWkzEYLF4H+x8WXGaqiitT/TDGNhBek4pQ1XYIF7cOg/IFXYg6ByEouxqSZdo8zO8nvS6bCpc+R3wLd8PEbe+wfm86fr4uwMH147no8FTkuI/hB+3RWHUjG97J+3F64R2K+/ovrorFYuXNFKq8pQn5GQ7IOxsL/ZxRXJkVSHc3NaPnexd11o9k2dbD+JWpj8F74VBvXIiJIXdRnhiJD2kRcDOT4VrDCJ41ZhRKMy9z+3VzeM1MxKktKlg+YQZddnOESHgr8f0jaPG4B+rTQeO2fTD2qaMSv2h8aFXkP0bs4qW+o+FeWkvWCfVofXyLPv6rhtwV8jwgHQ9dqWB4pOrxO3NGu6E3+8+Xgf9KPSF/pKhgtbUCKbsH8LpZC4dNF+Fnmgzceq35RJwm73G7CNvoUmiJz8OIOXr4tNsdanG99G3JUfJJzqXs+ltIXzcBzyXFhRll08wPPXiIH785fYFdFDK8nDoziuhAZQBbvrRhqyl9mLQ8AJtEOpHSYIjFF2IoWLSFXt70pinWNTj4JAHLlXai/pExRu5zhMmXclq5TBM/jP5AVZ8NIm7nYtST8VwQ+R6JlRJosDtDpj5LUXs9Br2+2cj4pgwvxzMk6vYQfg5dlBZ0l843qcAofzY2z7JGR+kgpUeq8agVqRh+XRqJV90wpT+dkqdE48+ZzrivZUt5SdH4WzMIdgOhiL8mjmJncRyeoSMoiSdym0U6JBdkIcRJB83LTND4ZDflX1LDcqkiRES6c/L51axvMY63xjvi+wENbLznT4GOBTRMThfhbSE4IjYP7SeOk4J1BdZap1O4xyyhrNoM/RtOoPOkD1GmOb+6fBZHLEtx4NcZer9SEbUJhixWHQytp5kQDbhEQQe7acMDI7SIFWO4y0PI+ERgmscaev5mMg/dTMcz0bWU9udVcr/zgEavsGf3bYSw7d44X6TOPRn+pEW30P6xBi0TjDF7oTx0WxPJNtIUxS1fSdWoH6YzfRFkd5XEambz05CDVG/fD1ERa265thgHNW2QxRPxKKAOxTcC4CkVRaEaqnj5qk2Is90pdA6kYd8lF3ZevhES/g1Qk5FkT0sdPJ7mgtXKMcjf64lvQid07T3J02kD9DNt8WnlOYyzyoaTaxh1iIrweI3FONbcRofE3tIH2wzSfi+GUaYNdHPBJQRcOkbbe2Zw2mgTdukOwr2fKb8/qszSrqk0gPmwDxqiURK+0H69Hin6WTC8ugMxqucwSU0VGSqHsFq1DgaK+zFySQcKDMwQaaUB82oNjlulBG2/QhI5LgET50gy7pIWDHNVhN6Ck7CJX4T9qm/ofycHOgM=</binary>\n+            </binaryDataArray>\n+          </binaryDataArrayList>\n+        </spectrum>\n+        </spectrumList>\n+    </run>\n+  </mzML>\n+  <indexList count="1">\n+    <index name="spectrum">\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=823">5044</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=868">16404</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1094">27426</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1142">36350</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1145">47943</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1218">57440</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1239">69819</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1262">82495</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1276">93231</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1305">103854</offset>\n+    </index>\n+  </indexList>\n+  <indexListOffset>1357446760</indexListOffset>\n+  <fileChecksum>3af4bc667298b083df087d70a02e9ca867a01650</fileChecksum>\n+</indexedmzML>\n'
b
diff -r 000000000000 -r 14785481da2b test-data/default/test2.mzML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/default/test2.mzML Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,721 @@\n+<indexedmzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.2_idx.xsd">\n+  <mzML xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" id="191016JAT02_Mix_2_1ug" version="1.1.0">\n+    <cvList count="2">\n+      <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="4.1.51" URI="https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo" />\n+      <cv id="UO" fullName="Unit Ontology" version="09:04:2014" URI="https://raw.githubusercontent.com/bio-ontology-research-group/unit-ontology/master/unit.obo" />\n+    </cvList>\n+    <fileDescription>\n+      <fileContent>\n+        <cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value="" />\n+        <cvParam cvRef="MS" accession="MS:1000580" name="MSn spectrum" value="" />\n+      </fileContent>\n+      <sourceFileList count="1">\n+        <sourceFile id="RAW1" name="191016JAT02_Mix_2_1ug.raw" location="file:///">\n+          <cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format" value="" />\n+          <cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW format" value="" />\n+          <cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="d76055ac4d0ddd1b1d9b09af4a790bd5fd25d109" />\n+        </sourceFile>\n+      </sourceFileList>\n+    </fileDescription>\n+    <referenceableParamGroupList count="1">\n+      <referenceableParamGroup id="CommonInstrumentParams">\n+        <cvParam cvRef="MS" accession="MS:1002732" name="Orbitrap Fusion Lumos" value="" />\n+        <cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="FSN20187" />\n+      </referenceableParamGroup>\n+    </referenceableParamGroupList>\n+    <sampleList count="1">\n+      <sample id="_x0031_" name="">\n+        <cvParam cvRef="MS" accession="MS:1000002" name="sample name" value="1" />\n+      </sample>\n+    </sampleList>\n+    <softwareList count="2">\n+      <software id="Xcalibur" version="3.0.2041">\n+        <cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value="" />\n+      </software>\n+      <software id="pwiz" version="3.0.21258">\n+        <cvParam cvRef="MS" accession="MS:1000615" name="ProteoWizard software" value="" />\n+      </software>\n+    </softwareList>\n+    <instrumentConfigurationList count="2">\n+      <instrumentConfiguration id="IC1">\n+        <referenceableParamGroupRef ref="CommonInstrumentParams" />\n+        <componentList count="4">\n+          <source order="1">\n+            <cvParam cvRef="MS" accession="MS:1000398" name="nanoelectrospray" value="" />\n+            <cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet" value="" />\n+          </source>\n+          <analyzer order="2">\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value="" />\n+          </analyzer>\n+          <analyzer order="3">\n+            <cvParam cvRef="MS" accession="MS:1000484" name="orbitrap" value="" />\n+          </analyzer>\n+          <detector order="4">\n+            <cvParam cvRef="MS" accession="MS:1000624" name="inductive detector" value="" />\n+          </detector>\n+        </componentList>\n+        <softwareRef ref="Xcalibur" />\n+      </instrumentConfiguration>\n+      <instrumentConfiguration id="IC2">\n+        <referenceableParamGroupRef ref="CommonInstrumentParams" />\n+        <componentList count="4">\n+          <source order="1">\n+            <cvParam cvRef="MS" accession="MS:1000398" name="nanoelectrospray" value="" />\n+            <cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet" value="" />\n+          </source>\n+          <analyzer order="2">\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value="" />\n+          </analyzer>\n+          <analyzer order="3">\n+            <cvParam cvRef="MS" accession="MS:1000083" name="radial ej'..b'aLHmGTeTEQ8i7QsmM5VNWWKUy8FUjON9783p0snZxPiVE6wqz7hdRdKi6omZahXvEhuTWVIT0wC0tdEyC28Rxihz/hR8c1hb175qJzMJu/ZEVAZuwknLhjTivFJNn7xFJ2af+CMUMdtObxXlwrY95csRY7Ho3FinYpwehrIC/gdhKTV4SG9w18Dgvmx6dSqdEihkx2bkDJxPN4G55GvwVhWaM6585MYu1PYeQxV5eLj6xEpsVZGPcbcoL5PgqY+xV2oXmIS5iMb+U7aVddJ2RO97CCkix75YXi89QBat3RQQMjgqgrthwVhytR0KKLG61VMHtwgZ2GvtGW+G6huWMK277X5BQNZR7muQwLAtwQtvAonja14O2scGxuk+Ddj0NwcY0c9oV34/KaK6zSkc1BP2Mp/t9knvEsEb8mO3GpnhNmqv0lvFp4kfJr1vONGh8kO33G7eCrVBJzBlJh6xF1ZTqvmiPFVdQL6zXXYXnLCOoGfRh9fySPPJoE/WZpLq3IwEmnIigm/eCrQZ+RKqbH6hNqMb8+DsqyPZT6KItk/5GEmbsr3sGEjxm+4zF7nrND/GV8bAyA5dhN7DGtDXNbo9nGKB8535fyWLcYWB7Pxl3P//dIoSIfc2x5FIda85f4LCXJyxdP55u9zTB4Y4bNelP5Y0AGlwarwyVlOx8KIQ7NlWNvcy/zSi1LKrw1l8UupdLnMlPusnPgVgdjfnaliCtl3dimyZhFyB1Wo0fB8Ls628XEku+mJDSNlRUiFp1B9exCwbQ8SBgb8RL/GblLiLIJ5Ll/+eDFChO+WKLOAW8/oe6SPb6q/ODdifP5S1ge59rK8rkGP14bZsOrKls55oUTH7zzkr29JjGfPs3XnK34v7v2Cw8kr0A8UI7XtCWgb6O1sPWeLz+/Jyv4TyzAnV/WnON+imMcZ8BxsIYrR+xFztp8Tp6ZxQkj1nKJQ5CwVUqFG3py2FtiEsvtPszjeLIQmCePJZvns7KDAtclKKNw1WmoKuwS7uop8o6aJVwdqMRzu8zNVdMzWXuLrnnCzWi2+uckhw2dQc6bZJieOsqLWv7g90Ou7NWmwPOSYvljXAO2992H+OwevBnUFMRrFYR/Qi0F29Pf0db8he3XPmMXCTtWv9OK6f0KQrbIA5539xVKYv/kpMtWvE7bVHA2VuKo41EcOliIoV5pnmMhQGW1IvuYKnGEiSNLT9fl0bQO0bv28u3G70J3argQoa7HqqoGEC8ox9uBQco3tuD+MjuhoiqU8+TKoXVmPrsa+ZOpdjFyg8ewa542nmgUovpF5UIP0zZ2fS+FL2KhGBdrDHeVSPSF6GCJiwRb1fkjqbwLe/SLsfCVOwYbTIT6239DRDKa/KKCkdf/lnIkmrFUwRcdLpGwnuKC9v4l3D1YQroqSajdchYvxZPw85UbbA3cMUfiAMbpn0LTiT54xSXAIiwcvcHbyOWODu61j0bWkzEYLF4H+x8WXGaqiitT/TDGNhBek4pQ1XYIF7cOg/IFXYg6ByEouxqSZdo8zO8nvS6bCpc+R3wLd8PEbe+wfm86fr4uwMH147no8FTkuI/hB+3RWHUjG97J+3F64R2K+/ovrorFYuXNFKq8pQn5GQ7IOxsL/ZxRXJkVSHc3NaPnexd11o9k2dbD+JWpj8F74VBvXIiJIXdRnhiJD2kRcDOT4VrDCJ41ZhRKMy9z+3VzeM1MxKktKlg+YQZddnOESHgr8f0jaPG4B+rTQeO2fTD2qaMSv2h8aFXkP0bs4qW+o+FeWkvWCfVofXyLPv6rhtwV8jwgHQ9dqWB4pOrxO3NGu6E3+8+Xgf9KPSF/pKhgtbUCKbsH8LpZC4dNF+Fnmgzceq35RJwm73G7CNvoUmiJz8OIOXr4tNsdanG99G3JUfJJzqXs+ltIXzcBzyXFhRll08wPPXiIH785fYFdFDK8nDoziuhAZQBbvrRhqyl9mLQ8AJtEOpHSYIjFF2IoWLSFXt70pinWNTj4JAHLlXai/pExRu5zhMmXclq5TBM/jP5AVZ8NIm7nYtST8VwQ+R6JlRJosDtDpj5LUXs9Br2+2cj4pgwvxzMk6vYQfg5dlBZ0l843qcAofzY2z7JGR+kgpUeq8agVqRh+XRqJV90wpT+dkqdE48+ZzrivZUt5SdH4WzMIdgOhiL8mjmJncRyeoSMoiSdym0U6JBdkIcRJB83LTND4ZDflX1LDcqkiRES6c/L51axvMY63xjvi+wENbLznT4GOBTRMThfhbSE4IjYP7SeOk4J1BdZap1O4xyyhrNoM/RtOoPOkD1GmOb+6fBZHLEtx4NcZer9SEbUJhixWHQytp5kQDbhEQQe7acMDI7SIFWO4y0PI+ERgmscaev5mMg/dTMcz0bWU9udVcr/zgEavsGf3bYSw7d44X6TOPRn+pEW30P6xBi0TjDF7oTx0WxPJNtIUxS1fSdWoH6YzfRFkd5XEambz05CDVG/fD1ERa265thgHNW2QxRPxKKAOxTcC4CkVRaEaqnj5qk2Is90pdA6kYd8lF3ZevhES/g1Qk5FkT0sdPJ7mgtXKMcjf64lvQid07T3J02kD9DNt8WnlOYyzyoaTaxh1iIrweI3FONbcRofE3tIH2wzSfi+GUaYNdHPBJQRcOkbbe2Zw2mgTdukOwr2fKb8/qszSrqk0gPmwDxqiURK+0H69Hin6WTC8ugMxqucwSU0VGSqHsFq1DgaK+zFySQcKDMwQaaUB82oNjlulBG2/QhI5LgET50gy7pIWDHNVhN6Ck7CJX4T9qm/ofycHOgM=</binary>\n+            </binaryDataArray>\n+          </binaryDataArrayList>\n+        </spectrum>\n+        </spectrumList>\n+    </run>\n+  </mzML>\n+  <indexList count="1">\n+    <index name="spectrum">\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=823">5044</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=868">16404</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1094">27426</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1142">36350</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1145">47943</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1218">57440</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1239">69819</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1262">82495</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1276">93231</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=1305">103854</offset>\n+    </index>\n+  </indexList>\n+  <indexListOffset>1357446760</indexListOffset>\n+  <fileChecksum>3af4bc667298b083df087d70a02e9ca867a01650</fileChecksum>\n+</indexedmzML>\n'
b
diff -r 000000000000 -r 14785481da2b test-data/tmt11/outputs/workflow.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tmt11/outputs/workflow.txt Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,309 @@\n+database.decoy-tag=rev_\n+diann.fragpipe.cmd-opts=\n+diann.heavy=\n+diann.library=\n+diann.light=\n+diann.medium=\n+diann.q-value=0.01\n+diann.quantification-strategy=3\n+diann.run-dia-nn=false\n+diann.run-dia-plex=false\n+diann.run-specific-protein-q-value=false\n+diann.unrelated-runs=false\n+diann.use-predicted-spectra=true\n+diaumpire.AdjustFragIntensity=true\n+diaumpire.BoostComplementaryIon=false\n+diaumpire.CorrThreshold=0\n+diaumpire.DeltaApex=0.2\n+diaumpire.ExportPrecursorPeak=false\n+diaumpire.Q1=true\n+diaumpire.Q2=true\n+diaumpire.Q3=true\n+diaumpire.RFmax=500\n+diaumpire.RPmax=25\n+diaumpire.RTOverlap=0.3\n+diaumpire.SE.EstimateBG=false\n+diaumpire.SE.IsoPattern=0.3\n+diaumpire.SE.MS1PPM=10\n+diaumpire.SE.MS2PPM=20\n+diaumpire.SE.MS2SN=1.1\n+diaumpire.SE.MassDefectFilter=true\n+diaumpire.SE.MassDefectOffset=0.1\n+diaumpire.SE.NoMissedScan=1\n+diaumpire.SE.SN=1.1\n+diaumpire.run-diaumpire=false\n+freequant.mz-tol=10\n+freequant.rt-tol=0.4\n+freequant.run-freequant=false\n+ionquant.excludemods=\n+ionquant.heavy=\n+ionquant.imtol=0.05\n+ionquant.ionfdr=0.01\n+ionquant.light=\n+ionquant.locprob=0.75\n+ionquant.maxlfq=1\n+ionquant.mbr=0\n+ionquant.mbrimtol=0.05\n+ionquant.mbrmincorr=0\n+ionquant.mbrrttol=1\n+ionquant.mbrtoprun=10\n+ionquant.medium=\n+ionquant.minfreq=0\n+ionquant.minions=2\n+ionquant.minisotopes=2\n+ionquant.minscans=3\n+ionquant.mztol=10\n+ionquant.normalization=1\n+ionquant.peptidefdr=1\n+ionquant.proteinfdr=1\n+ionquant.requantify=1\n+ionquant.rttol=0.4\n+ionquant.run-ionquant=true\n+ionquant.tp=0\n+ionquant.uniqueness=0\n+ionquant.use-labeling=false\n+ionquant.use-lfq=true\n+ionquant.writeindex=0\n+msbooster.predict-rt=true\n+msbooster.predict-spectra=true\n+msbooster.run-msbooster=false\n+msbooster.use-correlated-features=false\n+msfragger.Y_type_masses=\n+msfragger.activation_types=all\n+msfragger.add_topN_complementary=0\n+msfragger.allowed_missed_cleavage_1=2\n+msfragger.allowed_missed_cleavage_2=2\n+msfragger.calibrate_mass=2\n+msfragger.check_spectral_files=true\n+msfragger.clip_nTerm_M=true\n+msfragger.deisotope=1\n+msfragger.delta_mass_exclude_ranges=(-1.5,3.5)\n+msfragger.deneutralloss=1\n+msfragger.diagnostic_fragments=\n+msfragger.diagnostic_intensity_filter=0\n+msfragger.digest_max_length=50\n+msfragger.digest_min_length=7\n+msfragger.fragment_ion_series=b,y\n+msfragger.fragment_mass_tolerance=20\n+msfragger.fragment_mass_units=1\n+msfragger.group_variable=0\n+msfragger.intensity_transform=0\n+msfragger.ion_series_definitions=\n+msfragger.isotope_error=-1/0/1/2/3\n+msfragger.labile_search_mode=off\n+msfragger.localize_delta_mass=false\n+msfragger.mass_diff_to_variable_mod=0\n+msfragger.mass_offsets=0\n+msfragger.max_fragment_charge=2\n+msfragger.max_variable_mods_combinations=5000\n+msfragger.max_variable_mods_per_peptide=3\n+msfragger.min_fragments_modelling=2\n+msfragger.min_matched_fragments=4\n+msfragger.min_sequence_matches=2\n+msfragger.minimum_peaks=15\n+msfragger.minimum_ratio=0.01\n+msfragger.misc.fragger.clear-mz-hi=131.5\n+msfragger.misc.fragger.clear-mz-lo=125.5\n+msfragger.misc.fragger.digest-mass-hi=5000\n+msfragger.misc.fragger.digest-mass-lo=200\n+msfragger.misc.fragger.enzyme-dropdown-1=stricttrypsin\n+msfragger.misc.fragger.enzyme-dropdown-2=null\n+msfragger.misc.fragger.precursor-charge-hi=4\n+msfragger.misc.fragger.precursor-charge-lo=1\n+msfragger.misc.fragger.remove-precursor-range-hi=1.5\n+msfragger.misc.fragger.remove-precursor-range-lo=-1.5\n+msfragger.misc.slice-db=1\n+msfragger.num_enzyme_termini=2\n+msfragger.output_format=pepXML_pin\n+msfragger.output_max_expect=50.0\n+msfragger.output_report_topN=1\n+msfragger.output_report_topN_dia1=5\n+msfragger.output_report_topN_dia2=3\n+msfragger.override_charge=false\n+msfragger.precursor_mass_lower=-20\n+msfragger.precursor_mass_mode=selected\n+msfragger.precursor_mass_units=1\n+msfragger.precursor_mass_upper=20\n+msfragger.precursor_true_tolerance=20\n+msfragger.precursor_true_units=1\n+msfragger.remainder_fragment_masses=-18.01056 79.96633\n+msfragger.remove_precursor_peak=1\n+msfragger.report_alternative_proteins=true\n+ms'..b'yco_adducts=\n+ptmshepherd.glyco_fdr=1.00\n+ptmshepherd.glyco_isotope_max=3\n+ptmshepherd.glyco_isotope_min=-1\n+ptmshepherd.glyco_mode=false\n+ptmshepherd.glyco_ppm_tol=50\n+ptmshepherd.glycodatabase=\n+ptmshepherd.histo_smoothbins=2\n+ptmshepherd.iontype_a=false\n+ptmshepherd.iontype_b=true\n+ptmshepherd.iontype_c=false\n+ptmshepherd.iontype_x=false\n+ptmshepherd.iontype_y=true\n+ptmshepherd.iontype_z=false\n+ptmshepherd.localization_allowed_res=\n+ptmshepherd.localization_background=4\n+ptmshepherd.max_adducts=0\n+ptmshepherd.n_glyco=true\n+ptmshepherd.normalization-psms=true\n+ptmshepherd.normalization-scans=false\n+ptmshepherd.output_extended=false\n+ptmshepherd.peakpicking_mass_units=0\n+ptmshepherd.peakpicking_minPsm=10\n+ptmshepherd.peakpicking_promRatio=0.3\n+ptmshepherd.peakpicking_width=0.002\n+ptmshepherd.precursor_mass_units=0\n+ptmshepherd.precursor_tol=0.01\n+ptmshepherd.print_decoys=false\n+ptmshepherd.prob_dhexOx=2,0.5,0.1\n+ptmshepherd.prob_dhexY=2,0.5\n+ptmshepherd.prob_neuacOx=2,0.05,0.2\n+ptmshepherd.prob_neugcOx=2,0.05,0.2\n+ptmshepherd.prob_phosphoOx=2,0.05,0.2\n+ptmshepherd.prob_regY=5,0.5\n+ptmshepherd.prob_sulfoOx=2,0.05,0.2\n+ptmshepherd.remainder_masses=\n+ptmshepherd.remove_glycan_delta_mass=true\n+ptmshepherd.run-shepherd=false\n+ptmshepherd.spectra_maxfragcharge=2\n+ptmshepherd.spectra_ppmtol=20\n+ptmshepherd.varmod_masses=\n+quantitation.run-label-free-quant=false\n+run-psm-validation=true\n+run-validation-tab=true\n+saintexpress.fragpipe.cmd-opts=\n+saintexpress.max-replicates=3\n+saintexpress.run-saint-express=true\n+saintexpress.virtual-controls=100\n+speclibgen.easypqp.extras.max_delta_ppm=15\n+speclibgen.easypqp.extras.max_delta_unimod=0.02\n+speclibgen.easypqp.extras.rt_lowess_fraction=0\n+speclibgen.easypqp.fragment.a=false\n+speclibgen.easypqp.fragment.b=true\n+speclibgen.easypqp.fragment.c=false\n+speclibgen.easypqp.fragment.x=false\n+speclibgen.easypqp.fragment.y=true\n+speclibgen.easypqp.fragment.z=false\n+speclibgen.easypqp.im-cal=Automatic selection of a run as reference IM\n+speclibgen.easypqp.neutral_loss=false\n+speclibgen.easypqp.rt-cal=noiRT\n+speclibgen.easypqp.select-file.text=\n+speclibgen.easypqp.select-im-file.text=\n+speclibgen.keep-intermediate-files=false\n+speclibgen.run-speclibgen=false\n+tab-run.delete_calibrated_mzml=false\n+tab-run.delete_temp_files=false\n+tab-run.sub_mzml_prob_threshold=0.5\n+tab-run.write_sub_mzml=false\n+tmtintegrator.add_Ref=1\n+tmtintegrator.aggregation_method=0\n+tmtintegrator.allow_overlabel=true\n+tmtintegrator.allow_unlabeled=false\n+tmtintegrator.best_psm=true\n+tmtintegrator.channel_num=TMT-11\n+tmtintegrator.dont-run-fq-lq=false\n+tmtintegrator.glyco_qval=-1\n+tmtintegrator.groupby=0\n+tmtintegrator.log2transformed=true\n+tmtintegrator.max_pep_prob_thres=0.9\n+tmtintegrator.min_ntt=0\n+tmtintegrator.min_pep_prob=0.9\n+tmtintegrator.min_percent=0.05\n+tmtintegrator.min_purity=0.5\n+tmtintegrator.min_site_prob=-1\n+tmtintegrator.mod_tag=none\n+tmtintegrator.ms1_int=true\n+tmtintegrator.outlier_removal=true\n+tmtintegrator.print_RefInt=false\n+tmtintegrator.prot_exclude=none\n+tmtintegrator.prot_norm=1\n+tmtintegrator.psm_norm=false\n+tmtintegrator.quant_level=2\n+tmtintegrator.ref_tag=Bridge\n+tmtintegrator.run-tmtintegrator=true\n+tmtintegrator.tolerance=20\n+tmtintegrator.top3_pep=true\n+tmtintegrator.unique_gene=0\n+tmtintegrator.unique_pep=false\n+tmtintegrator.use_glycan_composition=false\n+workflow.description=<p style\\="margin-top\\: 0">Basic TMT 11-plex workflow, with identification and quantification from high mass accuracy MS2. Met oxidation, protein N-term Acetyl, n-term TMT, and TMT on S ("overlabeling") are specified as variable modifications. TMT-Integrator with virtual reference approach, median-centering normalization, data summarization at the gene level. If a reference/bridge sample is available, specify the corresponding channel/sample name tag in the annotation file(s) and in TMT-Integrator tab.</p>\n+workflow.input.data-type.im-ms=false\n+workflow.input.data-type.regular-ms=true\n+workflow.saved-with-ver=20.0-build5\n'
b
diff -r 000000000000 -r 14785481da2b test-data/tmt11/test.annotation
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tmt11/test.annotation Wed Jul 10 06:15:00 2024 +0000
b
@@ -0,0 +1,11 @@
+126 sample-01
+127N sample-02
+127C sample-03
+128N sample-04
+128C sample-05
+129N sample-06
+129C sample-07
+130N sample-08
+130C sample-09
+131N sample-10
+131C Bridge
b
diff -r 000000000000 -r 14785481da2b test-data/tmt11/test.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tmt11/test.fasta Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,193 @@\n+>sp|P22314|UBA1_HUMAN Ubiquitin-like modifier-activating enzyme 1 OS=Homo sapiens OX=9606 GN=UBA1 PE=1 SV=3\n+MSSSPLSKKRRVSGPDPKPGSNCSPAQSVLSEVPSVPTNGMAKNGSEADIDEGLYSRQLY\n+VLGHEAMKRLQTSSVLVSGLRGLGVEIAKNIILGGVKAVTLHDQGTAQWADLSSQFYLRE\n+EDIGKNRAEVSQPRLAELNSYVPVTAYTGPLVEDFLSGFQVVVLTNTPLEDQLRVGEFCH\n+NRGIKLVVADTRGLFGQLFCDFGEEMILTDSNGEQPLSAMVSMVTKDNPGVVTCLDEARH\n+GFESGDFVSFSEVQGMVELNGNQPMEIKVLGPYTFSICDTSNFSDYIRGGIVSQVKVPKK\n+ISFKSLVASLAEPDFVVTDFAKFSRPAQLHIGFQALHQFCAQHGRPPRPRNEEDAAELVA\n+LAQAVNARALPAVQQNNLDEDLIRKLAYVAAGDLAPINAFIGGLAAQEVMKACSGKFMPI\n+MQWLYFDALECLPEDKEVLTEDKCLQRQNRYDGQVAVFGSDLQEKLGKQKYFLVGAGAIG\n+CELLKNFAMIGLGCGEGGEIIVTDMDTIEKSNLNRQFLFRPWDVTKLKSDTAAAAVRQMN\n+PHIRVTSHQNRVGPDTERIYDDDFFQNLDGVANALDNVDARMYMDRRCVYYRKPLLESGT\n+LGTKGNVQVVIPFLTESYSSSQDPPEKSIPICTLKNFPNAIEHTLQWARDEFEGLFKQPA\n+ENVNQYLTDPKFVERTLRLAGTQPLEVLEAVQRSLVLQRPQTWADCVTWACHHWHTQYSN\n+NIRQLLHNFPPDQLTSSGAPFWSGPKRCPHPLTFDVNNPLHLDYVMAAANLFAQTYGLTG\n+SQDRAAVATFLQSVQVPEFTPKSGVKIHVSDQELQSANASVDDSRLEELKATLPSPDKLP\n+GFKMYPIDFEKDDDSNFHMDFIVAASNLRAENYDIPSADRHKSKLIAGKIIPAIATTTAA\n+VVGLVCLELYKVVQGHRQLDSYKNGFLNLALPFFGFSEPLAAPRHQYYNQEWTLWDRFEV\n+QGLQPNGEEMTLKQFLDYFKTEHKLEITMLSQGVSMLYSFFMPAAKLKERLDQPMTEIVS\n+RVSKRKLGRHVRALVLELCCNDESGEDVEVPYVRYTIR\n+>sp|P31151|S10A7_HUMAN Protein S100-A7 OS=Homo sapiens OX=9606 GN=S100A7 PE=1 SV=4\n+MSNTQAERSIIGMIDMFHKYTRRDDKIEKPSLLTMMKENFPNFLSACDKKGTNYLADVFE\n+KKDKNEDKKIDFSEFLSLLGDIATDYHKQSHGAAPCSGGSQ\n+>sp|Q8TCU5|NMD3A_HUMAN Glutamate receptor ionotropic, NMDA 3A OS=Homo sapiens OX=9606 GN=GRIN3A PE=1 SV=2\n+MRRLSLWWLLSRVCLLLPPPCALVLAGVPSSSSHPQPCQILKRIGHAVRVGAVHLQPWTT\n+APRAASRAPDDSRAGAQRDEPEPGTRRSPAPSPGARWLGSTLHGRGPPGSRKPGEGARAE\n+ALWPRDALLFAVDNLNRVEGLLPYNLSLEVVMAIEAGLGDLPLLPFSSPSSPWSSDPFSF\n+LQSVCHTVVVQGVSALLAFPQSQGEMMELDLVSLVLHIPVISIVRHEFPRESQNPLHLQL\n+SLENSLSSDADVTVSILTMNNWYNFSLLLCQEDWNITDFLLLTQNNSKFHLGSIINITAN\n+LPSTQDLLSFLQIQLESIKNSTPTVVMFGCDMESIRRIFEITTQFGVMPPELRWVLGDSQ\n+NVEELRTEGLPLGLIAHGKTTQSVFEHYVQDAMELVARAVATATMIQPELALIPSTMNCM\n+EVETTNLTSGQYLSRFLANTTFRGLSGSIRVKGSTIVSSENNFFIWNLQHDPMGKPMWTR\n+LGSWQGGKIVMDYGIWPEQAQRHKTHFQHPSKLHLRVVTLIEHPFVFTREVDDEGLCPAG\n+QLCLDPMTNDSSTLDSLFSSLHSSNDTVPIKFKKCCYGYCIDLLEKIAEDMNFDFDLYIV\n+GDGKYGAWKNGHWTGLVGDLLRGTAHMAVTSFSINTARSQVIDFTSPFFSTSLGILVRTR\n+DTAAPIGAFMWPLHWTMWLGIFVALHITAVFLTLYEWKSPFGLTPKGRNRSKVFSFSSAL\n+NICYALLFGRTVAIKPPKCWTGRFLMNLWAIFCMFCLSTYTANLAAVMVGEKIYEELSGI\n+HDPKLHHPSQGFRFGTVRESSAEDYVRQSFPEMHEYMRRYNVPATPDGVEYLKNDPEKLD\n+AFIMDKALLDYEVSIDADCKLLTVGKPFAIEGYGIGLPPNSPLTANISELISQYKSHGFM\n+DMLHDKWYRVVPCGKRSFAVTETLQMGIKHFSGLFVLLCIGFGLSILTTIGEHIVYRLLL\n+PRIKNKSKLQYWLHTSQRLHRAINTSFIEEKQQHFKTKRVEKRSNVGPRQLTVWNTSNLS\n+HDNRRKYIFSDEEGQNQLGIRIHQDIPLPPRRRELPALRTTNGKADSLNVSRNSVMQELS\n+ELEKQIQVIRQELQLAVSRKTELEEYQRTSRTCES\n+>sp|Q9HC84|MUC5B_HUMAN Mucin-5B OS=Homo sapiens OX=9606 GN=MUC5B PE=1 SV=3\n+MGAPSACRTLVLALAAMLVVPQAETQGPVEPSWENAGHTMDGGAPTSSPTRRVSFVPPVT\n+VFPSLSPLNPAHNGRVCSTWGDFHYKTFDGDVFRFPGLCNYVFSEHCRAAYEDFNVQLRR\n+GLVGSRPVVTRVVIKAQGLVLEASNGSVLINGQREELPYSRTGLLVEQSGDYIKVSIRLV\n+LTFLWNGEDSALLELDPKYANQTCGLCGDFNGLPAFNEFYAHNARLTPLQFGNLQKLDGP\n+TEQCPDPLPLPAGNCTDEEGICHRTLLGPAFAECHALVDSTAYLAACAQDLCRCPTCPCA\n+TFVEYSRQCAHAGGQPRNWRCPELCPRTCPLNMQHQECGSPCTDTCSNPQRAQLCEDHCV\n+DGCFCPPGTVLDDITHSGCLPLGQCPCTHGGRTYSPGTSFNTTCSSCTCSGGLWQCQDLP\n+CPGTCSVQGGAHISTYDEKLYDLHGDCSYVLSKKCADSSFTVLAELRKCGLTDNENCLKA\n+VTLSLDGGDTAIRVQADGGVFLNSIYTQLPLSAANITLFTPSSFFIVVQTGLGLQLLVQL\n+VPLMQVFVRLDPAHQGQMCGLCGNFNQNQADDFTALSGVVEATGAAFANTWKAQAACANA\n+RNSFEDPCSLSVENENYARHWCSRLTDPNSAFSRCHSIINPKPFHSNCMFDTCNCERSED\n+CLCAALSSYVHACAAKGVQLSDWRDGVCTKYMQNCPKSQRYAYVVDACQPTCRGLSEADV\n+TCSVSFVPVDGCTCPAGTFLNDAGACVPAQECPCYAHGTVLAPGEVVHDEGAVCSCTGGK\n+LSCLGASLQKSTGCAAPMVYLDCSNSSAGTPGAECLRSCHTLDVGCFSTHCVSGCVCPPG\n+LVSDGSGGCIAEEDCPCVHNEATYKPGETIRVDCNTCTCRNRRWECSHRLCLGTCVAYGD\n+GHFITFDGDRYSFEGSCEYILAQDYCGDNTTHGTFRIVTENIPCGTTGTTCSKAIKLFVE\n+SYELILQEGTFKAVARGPGGDPPYKIRYMGIFLVIETHGMAVSWDRKTSVFIRLHQDYKG\n+RVCGLCGNFDDNAINDFATRSRSVVGDALEFGNSWKLSPSCPDALAPKDPCTANPFRKSW\n+AQKQCSILHGPTFAACRSQVDSTKYYEACVNDACACDSGGDCECFCTAVAAYAQACHDAG\n+LCVSWRTPDTCPLFCDFYNPHGGCEWHYQPCGAPCLKTCRNPSGHCLVDLPGLEGCYPKC\n+PPSQPFFNEDQM'..b'EEEQDTQESLPSSTGRRHTLAEVSTRLSPLTAPCIVVSPSTTASPAEGTSSDSCLTFSASKSPAGLSGTPATQGLLGACSPVRLASPFLGSQSATPVLQAQGGLGGAVLLPVSFQEGRRASDTSLTQGLKAFRQQLRKTTRTKGFLGLNKIKGLARQVCQVPASRASRGGLSPFHAPAQSPGLHGGAAGSREGWSLLEEVLEQQRLLQLQHHPAAAPGCSQAPQPAPAPFVIAPCDGPGAAPLPSTLLTSGLPLLPPPLLQTGASPVASAAQLLDTHLHIGTGPTALPAVPPPRLARLAPGCEPLGLLQGDCEMEDLMPCSLGTFVLVQ\n+>sp|A0A0C5B5G6|MOTSC_HUMAN Mitochondrial-derived peptide MOTS-c OS=Homo sapiens OX=9606 GN=MT-RNR1 PE=1 SV=1\n+MRWQEMGYIFYPRKLR\n+>sp|A0A0K2S4Q6|CD3CH_HUMAN Protein CD300H OS=Homo sapiens OX=9606 GN=CD300H PE=1 SV=1\n+MTQRAGAAMLPSALLLLCVPGCLTVSGPSTVMGAVGESLSVQCRYEEKYKTFNKYWCRQPCLPIWHEMVETGGSEGVVRSDQVIITDHPGDLTFTVTLENLTADDAGKYRCGIATILQEDGLSGFLPDPFFQVQVLVSSASSTENSVKTPASPTRPSQCQGSLPSSTCFLLLPLLKVPLLLSILGAILWVNRPWRTPWTES\n+>sp|A0A0U1RRE5|NBDY_HUMAN Negative regulator of P-body association OS=Homo sapiens OX=9606 GN=NBDY PE=1 SV=1\n+MGDQPCASGRSTLPPGNAREAKPPKKRCLLAPRWDYPEGTPNGGSTTLPSAPPPASAGLKSHPPPPEK\n+>sp|A0A1B0GTW7|CIROP_HUMAN Ciliated left-right organizer metallopeptidase OS=Homo sapiens OX=9606 GN=CIROP PE=1 SV=1\n+MLLLLLLLLLLPPLVLRVAASRCLHDETQKSVSLLRPPFSQLPSKSRSSSLTLPSSRDPQPLRIQSCYLGDHISDGAWDPEGEGMRGGSRALAAVREATQRIQAVLAVQGPLLLSRDPAQYCHAVWGDPDSPNYHRCSLLNPGYKGESCLGAKIPDTHLRGYALWPEQGPPQLVQPDGPGVQNTDFLLYVRVAHTSKCHQETVSLCCPGWSTAAQSQLTAALTSWAQRRGFVMLPRLCLKLLGSSNLPTLASQSIRITGPSVIAYAACCQLDSEDRPLAGTIVYCAQHLTSPSLSHSDIVMATLHELLHALGFSGQLFKKWRDCPSGFSVRENCSTRQLVTRQDEWGQLLLTTPAVSLSLAKHLGVSGASLGVPLEEEEGLLSSHWEARLLQGSLMTATFDGAQRTRLDPITLAAFKDSGWYQVNHSAAEELLWGQGSGPEFGLVTTCGTGSSDFFCTGSGLGCHYLHLDKGSCSSDPMLEGCRMYKPLANGSECWKKENGFPAGVDNPHGEIYHPQSRCFFANLTSQLLPGDKPRHPSLTPHLKEAELMGRCYLHQCTGRGAYKVQVEGSPWVPCLPGKVIQIPGYYGLLFCPRGRLCQTNEDINAVTSPPVSLSTPDPLFQLSLELAGPPGHSLGKEQQEGLAEAVLEALASKGGTGRCYFHGPSITTSLVFTVHMWKSPGCQGPSVATLHKALTLTLQKKPLEVYHGGANFTTQPSKLLVTSDHNPSMTHLRLSMGLCLMLLILVGVMGTTAYQKRATLPVRPSASYHSPELHSTRVPVRGIREV\n+>sp|A0AV02|S12A8_HUMAN Solute carrier family 12 member 8 OS=Homo sapiens OX=9606 GN=SLC12A8 PE=1 SV=4\n+MTQMSQVQELFHEAAQQDALAQPQPWWKTQLFMWEPVLFGTWDGVFTSCMINIFGVVLFLRTGWLVGNTGVLLGMFLVSFVILVALVTVLSGIGVGERSSIGSGGVYSMISSVLGGQTGGTIGLLYVFGQCVAGAMYITGFAESISDLLGLGNIWAVRGISVAVLLALLGINLAGVKWIIRLQLLLLFLLAVSTLDFVVGSFTHLDPEHGFIGYSPELLQNNTLPDYSPGESFFTVFGVFFPAATGVMAGFNMGGDLREPAASIPLGSLAAVGISWFLYIIFVFLLGAICTREALRYDFLIAEKVSLMGFLFLLGLYISSLASCMGGLYGAPRILQCIAQEKVIPALACLGQGKGPNKTPVAAICLTSLVTMAFVFVGQVNVLAPIVTINFMLTYVAVDYSYFSLSMCSCSLTPVPEPVLREGAEGLHCSEHLLLEKAPSYGSEGPAQRVLEGTLLEFTKDMDQLLQLTRKLESSQPRQGEGNRTPESQKRKSKKATKQTLQDSFLLDLKSPPSFPVEISDRLPAASWEGQESCWNKQTSKSEGTQPEGTYGEQLVPELCNQSESSGEDFFLKSRLQEQDVWRRSTSFYTHMCNPWVSLLGAVGSLLIMFVIQWVYTLVNMGVAAIVYFYIGRASPGLHLGSASNFSFFRWMRSLLLPSCRSLRSPQEQIILAPSLAKVDMEMTQLTQENADFATRDRYHHSSLVNREQLMPHY\n+>sp|A0AV96|RBM47_HUMAN RNA-binding protein 47 OS=Homo sapiens OX=9606 GN=RBM47 PE=1 SV=2\n+MTAEDSTAAMSSDSAAGSSAKVPEGVAGAPNEAALLALMERTGYSMVQENGQRKYGGPPPGWEGPHPQRGCEVFVGKIPRDVYEDELVPVFEAVGRIYELRLMMDFDGKNRGYAFVMYCHKHEAKRAVRELNNYEIRPGRLLGVCCSVDNCRLFIGGIPKMKKREEILEEIAKVTEGVLDVIVYASAADKMKNRGFAFVEYESHRAAAMARRKLMPGRIQLWGHQIAVDWAEPEIDVDEDVMETVKILYVRNLMIETTEDTIKKSFGQFNPGCVERVKKIRDYAFVHFTSREDAVHAMNNLNGTELEGSCLEVTLAKPVDKEQYSRYQKAARGGGAAEAAQQPSYVYSCDPYTLAYYGYPYNALIGPNRDYFVKAGSIRGRGRGAAGNRAPGPRGSYLGGYSAGRGIYSRYHEGKGKQQEKGYELVPNLEIPTVNPVAIKPGTVAIPAIGAQYSMFPAAPAPKMIEDGKIHTVEHMISPIAVQPDPASAAAAAAAAAAAAAAVIPTVSTPPPFQGRPITPVYTVAPNVQRIPTAGIYGASYVPFAAPATATIATLQKNAAAAAAMYGGYAGYIPQAFPAAAIQVPIPDVYQTY\n+>sp|A0AVF1|IFT56_HUMAN Intraflagellar transport protein 56 OS=Homo sapiens OX=9606 GN=TTC26 PE=1 SV=1\n+MMLSRAKPAVGRGVQHTDKRKKKGRKIPKLEELLSKRDFTGAITLLEFKRHVGEEEEDTNLWIGYCAFHLGDYKRALEEYENATKEENCNSEVWVNLACTYFFLGMYKQAEAAGFKASKSRLQNRLLFHLAHKFNDEKKLMSFHQNLQDVTEDQLSLASIHYMRSHYQEAIDIYKRILLDNREYLALNVYVALCYYKLDYYDVSQEVLAVYLQQIPDSTIALNLKACNHFRLYNGRAAEAELKSLMDNASSSFEFAKELIRHNLVVFRGGEGALQVLPPLVDVIPEARLNLVIYYLRQDDVQEAYNLIKDLEPTTPQEYILKGVVNAALGQEMGSRDHMKIAQQFFQLVGGSASECDTIPGRQCMASCFFLLKQFDDVLIYLNSFKSYFYNDDIFNFNYAQAKAATGNTSEGEEAFLLIQSEKMKNDYIYLSWLARCYIMNKKPRLAWELYLKMETSGESFSLLQLIANDCYKMGQFYYSAKAFDVLERLDPNPEYWEGKRGACVGIFQMIIAGREPKETLREVLHLLRSTGNTQVEYMIRIMKKWAKENRVSI\n'
b
diff -r 000000000000 -r 14785481da2b test-data/tmt11/test.manifest
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tmt11/test.manifest Wed Jul 10 06:15:00 2024 +0000
b
@@ -0,0 +1,2 @@
+test1.mzML sample1 DDA
+test2.mzML sample2 DDA
b
diff -r 000000000000 -r 14785481da2b test-data/tmt11/test1.mzML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tmt11/test1.mzML Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,716 @@\n+<indexedmzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.2_idx.xsd">\n+  <mzML xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" id="PTRC_Skubitz_Plex2_F14_9Aug19_Rage_Rep-19-06-08.raw.thermo" version="1.1.0">\n+    <cvList count="2">\n+      <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="4.1.41" URI="https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo" />\n+      <cv id="UO" fullName="Unit Ontology" version="09:04:2014" URI="https://raw.githubusercontent.com/bio-ontology-research-group/unit-ontology/master/unit.obo" />\n+    </cvList>\n+    <fileDescription>\n+      <fileContent>\n+        <cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value="" />\n+        <cvParam cvRef="MS" accession="MS:1000580" name="MSn spectrum" value="" />\n+      </fileContent>\n+      <sourceFileList count="1">\n+        <sourceFile id="RAW1" name="PTRC_Skubitz_Plex2_F14_9Aug19_Rage_Rep-19-06-08.raw.thermo.raw" location="file:///">\n+          <cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format" value="" />\n+          <cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW format" value="" />\n+          <cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="dda606329b1e67175952e8b11a8f0b5634644871" />\n+        </sourceFile>\n+      </sourceFileList>\n+    </fileDescription>\n+    <referenceableParamGroupList count="1">\n+      <referenceableParamGroup id="CommonInstrumentParams">\n+        <cvParam cvRef="MS" accession="MS:1002732" name="Orbitrap Fusion Lumos" value="" />\n+        <cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="FSN20614" />\n+      </referenceableParamGroup>\n+    </referenceableParamGroupList>\n+    <softwareList count="2">\n+      <software id="Xcalibur" version="3.0.2041">\n+        <cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value="" />\n+      </software>\n+      <software id="pwiz" version="3.0.20287">\n+        <cvParam cvRef="MS" accession="MS:1000615" name="ProteoWizard software" value="" />\n+      </software>\n+    </softwareList>\n+    <instrumentConfigurationList count="2">\n+      <instrumentConfiguration id="IC1">\n+        <referenceableParamGroupRef ref="CommonInstrumentParams" />\n+        <componentList count="4">\n+          <source order="1">\n+            <cvParam cvRef="MS" accession="MS:1000398" name="nanoelectrospray" value="" />\n+            <cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet" value="" />\n+          </source>\n+          <analyzer order="2">\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value="" />\n+          </analyzer>\n+          <analyzer order="3">\n+            <cvParam cvRef="MS" accession="MS:1000484" name="orbitrap" value="" />\n+          </analyzer>\n+          <detector order="4">\n+            <cvParam cvRef="MS" accession="MS:1000624" name="inductive detector" value="" />\n+          </detector>\n+        </componentList>\n+        <softwareRef ref="Xcalibur" />\n+      </instrumentConfiguration>\n+      <instrumentConfiguration id="IC2">\n+        <referenceableParamGroupRef ref="CommonInstrumentParams" />\n+        <componentList count="4">\n+          <source order="1">\n+            <cvParam cvRef="MS" accession="MS:1000398" name="nanoelectrospray" value="" />\n+            <cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet" value="" />\n+          </source>\n+          <analyzer order="2">\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value="" />\n+          </analyzer>\n+          <analyzer order="3">\n+            <cvParam cvRef="MS" accession="MS:1000083" name="radial ejection linear ion trap" value="" />\n+          </analyzer>\n+          <detector order="4">\n+            <cvPara'..b'             </selectedIonList>\n+              <activation>\n+                <cvParam cvRef="MS" accession="MS:1000422" name="beam-type collision-induced dissociation" value="" />\n+                <cvParam cvRef="MS" accession="MS:1000045" name="collision energy" value="30.0" unitCvRef="UO" unitAccession="UO:0000266" unitName="electronvolt" />\n+              </activation>\n+            </precursor>\n+          </precursorList>\n+          <binaryDataArrayList count="2">\n+            <binaryDataArray encodedLength="748">\n+              <cvParam cvRef="MS" accession="MS:1000523" name="64-bit float" value="" />\n+              <cvParam cvRef="MS" accession="MS:1000574" name="zlib compression" value="" />\n+              <cvParam cvRef="MS" accession="MS:1000514" name="m/z array" value="" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z" />\n+              <binary>eJwt0EtIVFEcx/FTRiVE4EozhFtDDxc91CCykGM+0NkURpuZyNOMWY5a6mhZZt3UYrQyB5GoFo69KLJIy0pCOE1JDzJoJBAjujVBi8AwV0FB+D2uPvz+rzN3hBD6fJtXCiHsgRA6KdN7Zo1ErL3Ux9JLZ5U9HnRuhdBO/4EqeYGi31uGurAPlTJav+b8u8mH63L87Lc+QzUTRetLcRnvprj28870NdQvb6D9Lo7q6BTKxcXl5Mw5p0Yx8n3hAealy3jIj877B6iyjh0kv45i5N5QxayiKSvA3eI4Ou7rlfj1eRVz1aOoX62p5vfmzD9MPz+A1u6VNeSGzSiLMmp5f1Euit4PJi+dQd2cEOTutnF0/L/ruRPfd4QcdjUytzyKanVeE/sbdqHTWHLCvP8I9Y6EZvo33SgvlqAT9KC1028MdKMeiRmfTJq9299QVc+gKPeexA4/Rj4FUDW3otMTR92dd4p8N2gcrEf9sAnF0zZU/ePGiZ+m72TY5Be5GCnwoJ1ailI1oI6FUXwcNvM1I7b5nxJPsxdahtaSQZSX5rWwdyURVXYhyse1KLZ2oFPQifZ4n8kTd8x8e26r+Z6kNu58voxyRfYZ6q7tqO/nm5zkRpn5FsWWmOlXlZ+lnnYcrbXuENa0o/bGUJRNotPpaSd3+dC20jr4vuzkc9wpCl6gf3US1RtPJ/UxH+r1FaiqBrqYqxtCWTlssv0HrZZ/pr4xNcxe3SqUvvSw/A8+bBhG</binary>\n+            </binaryDataArray>\n+            <binaryDataArray encodedLength="700">\n+              <cvParam cvRef="MS" accession="MS:1000521" name="32-bit float" value="" />\n+              <cvParam cvRef="MS" accession="MS:1000574" name="zlib compression" value="" />\n+              <cvParam cvRef="MS" accession="MS:1000515" name="intensity array" value="" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of detector counts" />\n+              <binary>eJwFwQtIE1AABdByJMliZGQyJG3WbMOhSRKswn7vvq21YOUGjpajzHQsay2IoEnktqzB1j42NMuWma6ZVFDQdLlBg8WgCGsVm9LItIx0G5MiHNI547+fQD06TUY/xYn9SIJkD8dJUpUm029/kEJ3lKyVS5Fk10KmD5Mav4P6zO8wX7FAnLNxMjk1S5oLePjygQG/IoR6eT9dpy3D+WAVlbP+Eb3wEHjFLng5LOTWM9GQWCZi6RyG7+bhjWc1JO/ZkD5jIOVmwfKa0PttG2i8RIyLN+4hGCrEWL4KnOtsjFmL0fm4Bhl/APPGAtrqisLTksSf9BT2zB5D9dFv2JV2QKBTwrZogpWro4a6mzBPtKEuMki7k0Kaa9SCuWYCH3k7Maxtw/OzTaIV4QD03gnMWEuoXPEQ2xYVMP7aguGuv3g1FKLV3gVqcu+Ao1stklxbSYs0d1A5shU9LiHtEAygL5cn0rVXIiyrx+e0DInYSczcPoElnxLOXjmEGT4uRwLofWDHdosFVzmnYHI+hSrbj4HjfSiKtcPwyEcbUgfp0mY3fr7sxEZcwSWxCDaLBq21B5DKVsHOvEVl0RgtNbTgjOACGFkuKjz7MT5kQ7RcSE0d5+hedoqaezbhdIKLZUk5IpMvoNz3Fc5kkGYa+dCM7Mb35iCMWj+Ug0lI+XO0K1yGVflqNJWa8R+4l+mB</binary>\n+            </binaryDataArray>\n+          </binaryDataArrayList>\n+        </spectrum>\n+        </spectrumList>\n+    </run>\n+  </mzML>\n+  <indexList count="1">\n+    <index name="spectrum">\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=2127">4969</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=2145">12006</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=2355">19296</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=2641">25382</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=2922">33117</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=3223">40521</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=3380">47398</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=3408">55783</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=3413">64003</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=3432">71458</offset>\n+    </index>\n+  </indexList>\n+  <indexListOffset>394827517</indexListOffset>\n+  <fileChecksum>5930f131cffee70a428e4f7db7248ce056e29e8a</fileChecksum>\n+</indexedmzML>\n'
b
diff -r 000000000000 -r 14785481da2b test-data/tmt11/test2.mzML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tmt11/test2.mzML Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,716 @@\n+<indexedmzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.2_idx.xsd">\n+  <mzML xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" id="PTRC_Skubitz_Plex2_F14_9Aug19_Rage_Rep-19-06-08.raw.thermo" version="1.1.0">\n+    <cvList count="2">\n+      <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="4.1.41" URI="https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo" />\n+      <cv id="UO" fullName="Unit Ontology" version="09:04:2014" URI="https://raw.githubusercontent.com/bio-ontology-research-group/unit-ontology/master/unit.obo" />\n+    </cvList>\n+    <fileDescription>\n+      <fileContent>\n+        <cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value="" />\n+        <cvParam cvRef="MS" accession="MS:1000580" name="MSn spectrum" value="" />\n+      </fileContent>\n+      <sourceFileList count="1">\n+        <sourceFile id="RAW1" name="PTRC_Skubitz_Plex2_F14_9Aug19_Rage_Rep-19-06-08.raw.thermo.raw" location="file:///">\n+          <cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format" value="" />\n+          <cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW format" value="" />\n+          <cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="dda606329b1e67175952e8b11a8f0b5634644871" />\n+        </sourceFile>\n+      </sourceFileList>\n+    </fileDescription>\n+    <referenceableParamGroupList count="1">\n+      <referenceableParamGroup id="CommonInstrumentParams">\n+        <cvParam cvRef="MS" accession="MS:1002732" name="Orbitrap Fusion Lumos" value="" />\n+        <cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="FSN20614" />\n+      </referenceableParamGroup>\n+    </referenceableParamGroupList>\n+    <softwareList count="2">\n+      <software id="Xcalibur" version="3.0.2041">\n+        <cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value="" />\n+      </software>\n+      <software id="pwiz" version="3.0.20287">\n+        <cvParam cvRef="MS" accession="MS:1000615" name="ProteoWizard software" value="" />\n+      </software>\n+    </softwareList>\n+    <instrumentConfigurationList count="2">\n+      <instrumentConfiguration id="IC1">\n+        <referenceableParamGroupRef ref="CommonInstrumentParams" />\n+        <componentList count="4">\n+          <source order="1">\n+            <cvParam cvRef="MS" accession="MS:1000398" name="nanoelectrospray" value="" />\n+            <cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet" value="" />\n+          </source>\n+          <analyzer order="2">\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value="" />\n+          </analyzer>\n+          <analyzer order="3">\n+            <cvParam cvRef="MS" accession="MS:1000484" name="orbitrap" value="" />\n+          </analyzer>\n+          <detector order="4">\n+            <cvParam cvRef="MS" accession="MS:1000624" name="inductive detector" value="" />\n+          </detector>\n+        </componentList>\n+        <softwareRef ref="Xcalibur" />\n+      </instrumentConfiguration>\n+      <instrumentConfiguration id="IC2">\n+        <referenceableParamGroupRef ref="CommonInstrumentParams" />\n+        <componentList count="4">\n+          <source order="1">\n+            <cvParam cvRef="MS" accession="MS:1000398" name="nanoelectrospray" value="" />\n+            <cvParam cvRef="MS" accession="MS:1000485" name="nanospray inlet" value="" />\n+          </source>\n+          <analyzer order="2">\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value="" />\n+          </analyzer>\n+          <analyzer order="3">\n+            <cvParam cvRef="MS" accession="MS:1000083" name="radial ejection linear ion trap" value="" />\n+          </analyzer>\n+          <detector order="4">\n+            <cvPara'..b'             </selectedIonList>\n+              <activation>\n+                <cvParam cvRef="MS" accession="MS:1000422" name="beam-type collision-induced dissociation" value="" />\n+                <cvParam cvRef="MS" accession="MS:1000045" name="collision energy" value="30.0" unitCvRef="UO" unitAccession="UO:0000266" unitName="electronvolt" />\n+              </activation>\n+            </precursor>\n+          </precursorList>\n+          <binaryDataArrayList count="2">\n+            <binaryDataArray encodedLength="748">\n+              <cvParam cvRef="MS" accession="MS:1000523" name="64-bit float" value="" />\n+              <cvParam cvRef="MS" accession="MS:1000574" name="zlib compression" value="" />\n+              <cvParam cvRef="MS" accession="MS:1000514" name="m/z array" value="" unitCvRef="MS" unitAccession="MS:1000040" unitName="m/z" />\n+              <binary>eJwt0EtIVFEcx/FTRiVE4EozhFtDDxc91CCykGM+0NkURpuZyNOMWY5a6mhZZt3UYrQyB5GoFo69KLJIy0pCOE1JDzJoJBAjujVBi8AwV0FB+D2uPvz+rzN3hBD6fJtXCiHsgRA6KdN7Zo1ErL3Ux9JLZ5U9HnRuhdBO/4EqeYGi31uGurAPlTJav+b8u8mH63L87Lc+QzUTRetLcRnvprj28870NdQvb6D9Lo7q6BTKxcXl5Mw5p0Yx8n3hAealy3jIj877B6iyjh0kv45i5N5QxayiKSvA3eI4Ou7rlfj1eRVz1aOoX62p5vfmzD9MPz+A1u6VNeSGzSiLMmp5f1Euit4PJi+dQd2cEOTutnF0/L/ruRPfd4QcdjUytzyKanVeE/sbdqHTWHLCvP8I9Y6EZvo33SgvlqAT9KC1028MdKMeiRmfTJq9299QVc+gKPeexA4/Rj4FUDW3otMTR92dd4p8N2gcrEf9sAnF0zZU/ePGiZ+m72TY5Be5GCnwoJ1ailI1oI6FUXwcNvM1I7b5nxJPsxdahtaSQZSX5rWwdyURVXYhyse1KLZ2oFPQifZ4n8kTd8x8e26r+Z6kNu58voxyRfYZ6q7tqO/nm5zkRpn5FsWWmOlXlZ+lnnYcrbXuENa0o/bGUJRNotPpaSd3+dC20jr4vuzkc9wpCl6gf3US1RtPJ/UxH+r1FaiqBrqYqxtCWTlssv0HrZZ/pr4xNcxe3SqUvvSw/A8+bBhG</binary>\n+            </binaryDataArray>\n+            <binaryDataArray encodedLength="700">\n+              <cvParam cvRef="MS" accession="MS:1000521" name="32-bit float" value="" />\n+              <cvParam cvRef="MS" accession="MS:1000574" name="zlib compression" value="" />\n+              <cvParam cvRef="MS" accession="MS:1000515" name="intensity array" value="" unitCvRef="MS" unitAccession="MS:1000131" unitName="number of detector counts" />\n+              <binary>eJwFwQtIE1AABdByJMliZGQyJG3WbMOhSRKswn7vvq21YOUGjpajzHQsay2IoEnktqzB1j42NMuWma6ZVFDQdLlBg8WgCGsVm9LItIx0G5MiHNI547+fQD06TUY/xYn9SIJkD8dJUpUm029/kEJ3lKyVS5Fk10KmD5Mav4P6zO8wX7FAnLNxMjk1S5oLePjygQG/IoR6eT9dpy3D+WAVlbP+Eb3wEHjFLng5LOTWM9GQWCZi6RyG7+bhjWc1JO/ZkD5jIOVmwfKa0PttG2i8RIyLN+4hGCrEWL4KnOtsjFmL0fm4Bhl/APPGAtrqisLTksSf9BT2zB5D9dFv2JV2QKBTwrZogpWro4a6mzBPtKEuMki7k0Kaa9SCuWYCH3k7Maxtw/OzTaIV4QD03gnMWEuoXPEQ2xYVMP7aguGuv3g1FKLV3gVqcu+Ao1stklxbSYs0d1A5shU9LiHtEAygL5cn0rVXIiyrx+e0DInYSczcPoElnxLOXjmEGT4uRwLofWDHdosFVzmnYHI+hSrbj4HjfSiKtcPwyEcbUgfp0mY3fr7sxEZcwSWxCDaLBq21B5DKVsHOvEVl0RgtNbTgjOACGFkuKjz7MT5kQ7RcSE0d5+hedoqaezbhdIKLZUk5IpMvoNz3Fc5kkGYa+dCM7Mb35iCMWj+Ug0lI+XO0K1yGVflqNJWa8R+4l+mB</binary>\n+            </binaryDataArray>\n+          </binaryDataArrayList>\n+        </spectrum>\n+        </spectrumList>\n+    </run>\n+  </mzML>\n+  <indexList count="1">\n+    <index name="spectrum">\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=2127">4969</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=2145">12006</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=2355">19296</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=2641">25382</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=2922">33117</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=3223">40521</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=3380">47398</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=3408">55783</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=3413">64003</offset>\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=3432">71458</offset>\n+    </index>\n+  </indexList>\n+  <indexListOffset>394827517</indexListOffset>\n+  <fileChecksum>5930f131cffee70a428e4f7db7248ce056e29e8a</fileChecksum>\n+</indexedmzML>\n'
b
diff -r 000000000000 -r 14785481da2b workflows/Default.workflow
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/workflows/Default.workflow Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,311 @@\n+# Workflow: Default\r\n+\r\n+crystalc.run-crystalc=false\r\n+database.decoy-tag=rev_\r\n+diann.fragpipe.cmd-opts=\r\n+diann.heavy=\r\n+diann.library=\r\n+diann.light=\r\n+diann.medium=\r\n+diann.q-value=0.01\r\n+diann.quantification-strategy=3\r\n+diann.run-dia-nn=false\r\n+diann.run-dia-plex=false\r\n+diann.run-specific-protein-q-value=false\r\n+diann.unrelated-runs=false\r\n+diann.use-predicted-spectra=true\r\n+diaumpire.AdjustFragIntensity=true\r\n+diaumpire.BoostComplementaryIon=false\r\n+diaumpire.CorrThreshold=0\r\n+diaumpire.DeltaApex=0.2\r\n+diaumpire.ExportPrecursorPeak=false\r\n+diaumpire.Q1=true\r\n+diaumpire.Q2=true\r\n+diaumpire.Q3=true\r\n+diaumpire.RFmax=500\r\n+diaumpire.RPmax=25\r\n+diaumpire.RTOverlap=0.3\r\n+diaumpire.SE.EstimateBG=false\r\n+diaumpire.SE.IsoPattern=0.3\r\n+diaumpire.SE.MS1PPM=10\r\n+diaumpire.SE.MS2PPM=20\r\n+diaumpire.SE.MS2SN=1.1\r\n+diaumpire.SE.MassDefectFilter=true\r\n+diaumpire.SE.MassDefectOffset=0.1\r\n+diaumpire.SE.NoMissedScan=1\r\n+diaumpire.SE.SN=1.1\r\n+diaumpire.run-diaumpire=false\r\n+freequant.mz-tol=10\r\n+freequant.rt-tol=0.4\r\n+freequant.run-freequant=false\r\n+ionquant.excludemods=\r\n+ionquant.heavy=\r\n+ionquant.imtol=0.05\r\n+ionquant.ionfdr=0.01\r\n+ionquant.light=\r\n+ionquant.locprob=0.75\r\n+ionquant.maxlfq=1\r\n+ionquant.mbr=1\r\n+ionquant.mbrimtol=0.05\r\n+ionquant.mbrmincorr=0\r\n+ionquant.mbrrttol=1\r\n+ionquant.mbrtoprun=10\r\n+ionquant.medium=\r\n+ionquant.minfreq=0\r\n+ionquant.minions=2\r\n+ionquant.minisotopes=2\r\n+ionquant.minscans=3\r\n+ionquant.mztol=10\r\n+ionquant.normalization=1\r\n+ionquant.peptidefdr=1\r\n+ionquant.proteinfdr=1\r\n+ionquant.requantify=1\r\n+ionquant.rttol=0.4\r\n+ionquant.run-ionquant=true\r\n+ionquant.tp=0\r\n+ionquant.uniqueness=0\r\n+ionquant.use-labeling=false\r\n+ionquant.use-lfq=true\r\n+ionquant.writeindex=0\r\n+msbooster.predict-rt=true\r\n+msbooster.predict-spectra=true\r\n+msbooster.run-msbooster=true\r\n+msbooster.use-correlated-features=false\r\n+msfragger.Y_type_masses=\r\n+msfragger.activation_types=all\r\n+msfragger.add_topN_complementary=0\r\n+msfragger.allowed_missed_cleavage_1=2\r\n+msfragger.allowed_missed_cleavage_2=2\r\n+msfragger.calibrate_mass=2\r\n+msfragger.check_spectral_files=true\r\n+msfragger.clip_nTerm_M=true\r\n+msfragger.deisotope=1\r\n+msfragger.delta_mass_exclude_ranges=(-1.5,3.5)\r\n+msfragger.deneutralloss=1\r\n+msfragger.diagnostic_fragments=\r\n+msfragger.diagnostic_intensity_filter=0\r\n+msfragger.digest_max_length=50\r\n+msfragger.digest_min_length=7\r\n+msfragger.fragment_ion_series=b,y\r\n+msfragger.fragment_mass_tolerance=20\r\n+msfragger.fragment_mass_units=1\r\n+msfragger.group_variable=0\r\n+msfragger.intensity_transform=0\r\n+msfragger.ion_series_definitions=\r\n+msfragger.isotope_error=0/1/2/3\r\n+msfragger.labile_search_mode=off\r\n+msfragger.localize_delta_mass=false\r\n+msfragger.mass_diff_to_variable_mod=0\r\n+msfragger.mass_offsets=0\r\n+msfragger.max_fragment_charge=2\r\n+msfragger.max_variable_mods_combinations=5000\r\n+msfragger.max_variable_mods_per_peptide=3\r\n+msfragger.min_fragments_modelling=2\r\n+msfragger.min_matched_fragments=4\r\n+msfragger.min_sequence_matches=2\r\n+msfragger.minimum_peaks=15\r\n+msfragger.minimum_ratio=0.01\r\n+msfragger.misc.fragger.clear-mz-hi=0\r\n+msfragger.misc.fragger.clear-mz-lo=0\r\n+msfragger.misc.fragger.digest-mass-hi=5000\r\n+msfragger.misc.fragger.digest-mass-lo=500\r\n+msfragger.misc.fragger.enzyme-dropdown-1=stricttrypsin\r\n+msfragger.misc.fragger.enzyme-dropdown-2=null\r\n+msfragger.misc.fragger.precursor-charge-hi=4\r\n+msfragger.misc.fragger.precursor-charge-lo=1\r\n+msfragger.misc.fragger.remove-precursor-range-hi=1.5\r\n+msfragger.misc.fragger.remove-precursor-range-lo=-1.5\r\n+msfragger.misc.slice-db=1\r\n+msfragger.num_enzyme_termini=2\r\n+msfragger.output_format=pepXML_pin\r\n+msfragger.output_max_expect=50\r\n+msfragger.output_report_topN=1\r\n+msfragger.output_report_topN_dia1=5\r\n+msfragger.output_report_topN_dia2=3\r\n+msfragger.override_charge=false\r\n+msfragger.precursor_mass_lower=-20\r\n+msfragger.precursor_mass_mode=selected\r\n+msfragger.precursor_mass_units=1\r\n+msfragger.precursor_mass_upper=20\r\n+msfragger.precursor_true_tolerance=20\r\n+msf'..b'\n+ptmshepherd.diagmine_diagMinFoldChange=3.0\r\n+ptmshepherd.diagmine_diagMinSpecDiff=00.2\r\n+ptmshepherd.diagmine_fragMinFoldChange=3.0\r\n+ptmshepherd.diagmine_fragMinPropensity=00.1\r\n+ptmshepherd.diagmine_fragMinSpecDiff=00.1\r\n+ptmshepherd.diagmine_minIonsPerSpec=2\r\n+ptmshepherd.diagmine_minPeps=25\r\n+ptmshepherd.diagmine_mode=false\r\n+ptmshepherd.diagmine_pepMinFoldChange=3.0\r\n+ptmshepherd.diagmine_pepMinSpecDiff=00.2\r\n+ptmshepherd.glyco_adducts=\r\n+ptmshepherd.glyco_fdr=1.00\r\n+ptmshepherd.glyco_isotope_max=3\r\n+ptmshepherd.glyco_isotope_min=-1\r\n+ptmshepherd.glyco_mode=false\r\n+ptmshepherd.glyco_ppm_tol=50\r\n+ptmshepherd.glycodatabase=\r\n+ptmshepherd.histo_smoothbins=2\r\n+ptmshepherd.iontype_a=false\r\n+ptmshepherd.iontype_b=true\r\n+ptmshepherd.iontype_c=true\r\n+ptmshepherd.iontype_x=false\r\n+ptmshepherd.iontype_y=true\r\n+ptmshepherd.iontype_z=true\r\n+ptmshepherd.localization_allowed_res=\r\n+ptmshepherd.localization_background=4\r\n+ptmshepherd.max_adducts=0\r\n+ptmshepherd.n_glyco=true\r\n+ptmshepherd.normalization-psms=true\r\n+ptmshepherd.normalization-scans=false\r\n+ptmshepherd.output_extended=false\r\n+ptmshepherd.peakpicking_mass_units=0\r\n+ptmshepherd.peakpicking_minPsm=10\r\n+ptmshepherd.peakpicking_promRatio=0.3\r\n+ptmshepherd.peakpicking_width=0.002\r\n+ptmshepherd.precursor_mass_units=0\r\n+ptmshepherd.precursor_tol=0.01\r\n+ptmshepherd.print_decoys=false\r\n+ptmshepherd.prob_dhexOx=2,0.5,0.1\r\n+ptmshepherd.prob_dhexY=2,0.5\r\n+ptmshepherd.prob_neuacOx=2,0.05,0.2\r\n+ptmshepherd.prob_neugcOx=2,0.05,0.2\r\n+ptmshepherd.prob_phosphoOx=2,0.05,0.2\r\n+ptmshepherd.prob_regY=5,0.5\r\n+ptmshepherd.prob_sulfoOx=2,0.05,0.2\r\n+ptmshepherd.remainder_masses=\r\n+ptmshepherd.remove_glycan_delta_mass=true\r\n+ptmshepherd.run-shepherd=false\r\n+ptmshepherd.spectra_maxfragcharge=2\r\n+ptmshepherd.spectra_ppmtol=20\r\n+ptmshepherd.varmod_masses=\r\n+quantitation.run-label-free-quant=false\r\n+run-psm-validation=true\r\n+run-validation-tab=true\r\n+saintexpress.fragpipe.cmd-opts=\r\n+saintexpress.max-replicates=10\r\n+saintexpress.run-saint-express=false\r\n+saintexpress.virtual-controls=100\r\n+speclibgen.easypqp.extras.max_delta_ppm=15\r\n+speclibgen.easypqp.extras.max_delta_unimod=0.02\r\n+speclibgen.easypqp.extras.rt_lowess_fraction=0\r\n+speclibgen.easypqp.fragment.a=false\r\n+speclibgen.easypqp.fragment.b=true\r\n+speclibgen.easypqp.fragment.c=false\r\n+speclibgen.easypqp.fragment.x=false\r\n+speclibgen.easypqp.fragment.y=true\r\n+speclibgen.easypqp.fragment.z=false\r\n+speclibgen.easypqp.im-cal=Automatic selection of a run as reference IM\r\n+speclibgen.easypqp.neutral_loss=false\r\n+speclibgen.easypqp.rt-cal=ciRT\r\n+speclibgen.easypqp.select-file.text=\r\n+speclibgen.easypqp.select-im-file.text=\r\n+speclibgen.keep-intermediate-files=false\r\n+speclibgen.run-speclibgen=false\r\n+tab-run.delete_calibrated_mzml=false\r\n+tab-run.delete_temp_files=false\r\n+tab-run.sub_mzml_prob_threshold=0.5\r\n+tab-run.write_sub_mzml=false\r\n+tmtintegrator.add_Ref=-1\r\n+tmtintegrator.aggregation_method=0\r\n+tmtintegrator.allow_overlabel=true\r\n+tmtintegrator.allow_unlabeled=true\r\n+tmtintegrator.best_psm=true\r\n+tmtintegrator.channel_num=TMT-6\r\n+tmtintegrator.dont-run-fq-lq=false\r\n+tmtintegrator.glyco_qval=-1\r\n+tmtintegrator.groupby=0\r\n+tmtintegrator.log2transformed=true\r\n+tmtintegrator.max_pep_prob_thres=0\r\n+tmtintegrator.min_ntt=0\r\n+tmtintegrator.min_pep_prob=0.9\r\n+tmtintegrator.min_percent=0.05\r\n+tmtintegrator.min_purity=0.5\r\n+tmtintegrator.min_site_prob=-1\r\n+tmtintegrator.mod_tag=none\r\n+tmtintegrator.ms1_int=true\r\n+tmtintegrator.outlier_removal=true\r\n+tmtintegrator.print_RefInt=false\r\n+tmtintegrator.prot_exclude=none\r\n+tmtintegrator.prot_norm=0\r\n+tmtintegrator.psm_norm=false\r\n+tmtintegrator.quant_level=2\r\n+tmtintegrator.ref_tag=Bridge\r\n+tmtintegrator.run-tmtintegrator=false\r\n+tmtintegrator.tolerance=20\r\n+tmtintegrator.top3_pep=true\r\n+tmtintegrator.unique_gene=0\r\n+tmtintegrator.unique_pep=false\r\n+tmtintegrator.use_glycan_composition=false\r\n+workflow.input.data-type.im-ms=false\r\n+workflow.input.data-type.regular-ms=true\r\n+workflow.saved-with-ver=20.0-build5\r\n'
b
diff -r 000000000000 -r 14785481da2b workflows/LFQ-MBR.workflow
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/workflows/LFQ-MBR.workflow Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,312 @@\n+# Workflow: LFQ-MBR\r\n+\r\n+crystalc.run-crystalc=false\r\n+database.decoy-tag=rev_\r\n+diann.fragpipe.cmd-opts=\r\n+diann.heavy=\r\n+diann.library=\r\n+diann.light=\r\n+diann.medium=\r\n+diann.q-value=0.01\r\n+diann.quantification-strategy=3\r\n+diann.run-dia-nn=false\r\n+diann.run-dia-plex=false\r\n+diann.run-specific-protein-q-value=false\r\n+diann.unrelated-runs=false\r\n+diann.use-predicted-spectra=true\r\n+diaumpire.AdjustFragIntensity=true\r\n+diaumpire.BoostComplementaryIon=false\r\n+diaumpire.CorrThreshold=0\r\n+diaumpire.DeltaApex=0.2\r\n+diaumpire.ExportPrecursorPeak=false\r\n+diaumpire.Q1=true\r\n+diaumpire.Q2=true\r\n+diaumpire.Q3=true\r\n+diaumpire.RFmax=500\r\n+diaumpire.RPmax=25\r\n+diaumpire.RTOverlap=0.3\r\n+diaumpire.SE.EstimateBG=false\r\n+diaumpire.SE.IsoPattern=0.3\r\n+diaumpire.SE.MS1PPM=10\r\n+diaumpire.SE.MS2PPM=20\r\n+diaumpire.SE.MS2SN=1.1\r\n+diaumpire.SE.MassDefectFilter=true\r\n+diaumpire.SE.MassDefectOffset=0.1\r\n+diaumpire.SE.NoMissedScan=1\r\n+diaumpire.SE.SN=1.1\r\n+diaumpire.run-diaumpire=false\r\n+freequant.mz-tol=10\r\n+freequant.rt-tol=0.4\r\n+freequant.run-freequant=false\r\n+ionquant.excludemods=\r\n+ionquant.heavy=\r\n+ionquant.imtol=0.05\r\n+ionquant.ionfdr=0.01\r\n+ionquant.light=\r\n+ionquant.locprob=0.75\r\n+ionquant.maxlfq=1\r\n+ionquant.mbr=1\r\n+ionquant.mbrimtol=0.05\r\n+ionquant.mbrmincorr=0\r\n+ionquant.mbrrttol=1\r\n+ionquant.mbrtoprun=10\r\n+ionquant.medium=\r\n+ionquant.minfreq=0\r\n+ionquant.minions=2\r\n+ionquant.minisotopes=2\r\n+ionquant.minscans=3\r\n+ionquant.mztol=10\r\n+ionquant.normalization=1\r\n+ionquant.peptidefdr=1\r\n+ionquant.proteinfdr=1\r\n+ionquant.requantify=1\r\n+ionquant.rttol=0.4\r\n+ionquant.run-ionquant=true\r\n+ionquant.tp=0\r\n+ionquant.uniqueness=0\r\n+ionquant.use-labeling=false\r\n+ionquant.use-lfq=true\r\n+ionquant.writeindex=0\r\n+msbooster.predict-rt=true\r\n+msbooster.predict-spectra=true\r\n+msbooster.run-msbooster=true\r\n+msbooster.use-correlated-features=false\r\n+msfragger.Y_type_masses=\r\n+msfragger.activation_types=all\r\n+msfragger.add_topN_complementary=0\r\n+msfragger.allowed_missed_cleavage_1=2\r\n+msfragger.allowed_missed_cleavage_2=2\r\n+msfragger.calibrate_mass=2\r\n+msfragger.check_spectral_files=true\r\n+msfragger.clip_nTerm_M=true\r\n+msfragger.deisotope=1\r\n+msfragger.delta_mass_exclude_ranges=(-1.5,3.5)\r\n+msfragger.deneutralloss=1\r\n+msfragger.diagnostic_fragments=\r\n+msfragger.diagnostic_intensity_filter=0\r\n+msfragger.digest_max_length=50\r\n+msfragger.digest_min_length=7\r\n+msfragger.fragment_ion_series=b,y\r\n+msfragger.fragment_mass_tolerance=20\r\n+msfragger.fragment_mass_units=1\r\n+msfragger.group_variable=0\r\n+msfragger.intensity_transform=0\r\n+msfragger.ion_series_definitions=\r\n+msfragger.isotope_error=0/1/2\r\n+msfragger.labile_search_mode=off\r\n+msfragger.localize_delta_mass=false\r\n+msfragger.mass_diff_to_variable_mod=0\r\n+msfragger.mass_offsets=0\r\n+msfragger.max_fragment_charge=2\r\n+msfragger.max_variable_mods_combinations=5000\r\n+msfragger.max_variable_mods_per_peptide=3\r\n+msfragger.min_fragments_modelling=2\r\n+msfragger.min_matched_fragments=4\r\n+msfragger.min_sequence_matches=2\r\n+msfragger.minimum_peaks=15\r\n+msfragger.minimum_ratio=0.01\r\n+msfragger.misc.fragger.clear-mz-hi=0\r\n+msfragger.misc.fragger.clear-mz-lo=0\r\n+msfragger.misc.fragger.digest-mass-hi=5000\r\n+msfragger.misc.fragger.digest-mass-lo=500\r\n+msfragger.misc.fragger.enzyme-dropdown-1=stricttrypsin\r\n+msfragger.misc.fragger.enzyme-dropdown-2=null\r\n+msfragger.misc.fragger.precursor-charge-hi=4\r\n+msfragger.misc.fragger.precursor-charge-lo=1\r\n+msfragger.misc.fragger.remove-precursor-range-hi=1.5\r\n+msfragger.misc.fragger.remove-precursor-range-lo=-1.5\r\n+msfragger.misc.slice-db=1\r\n+msfragger.num_enzyme_termini=2\r\n+msfragger.output_format=pepXML_pin\r\n+msfragger.output_max_expect=50\r\n+msfragger.output_report_topN=1\r\n+msfragger.output_report_topN_dia1=5\r\n+msfragger.output_report_topN_dia2=3\r\n+msfragger.override_charge=false\r\n+msfragger.precursor_mass_lower=-20\r\n+msfragger.precursor_mass_mode=selected\r\n+msfragger.precursor_mass_units=1\r\n+msfragger.precursor_mass_upper=20\r\n+msfragger.precursor_true_tolerance=20\r\n+msfra'..b'ne_minIonsPerSpec=2\r\n+ptmshepherd.diagmine_minPeps=25\r\n+ptmshepherd.diagmine_mode=false\r\n+ptmshepherd.diagmine_pepMinFoldChange=3.0\r\n+ptmshepherd.diagmine_pepMinSpecDiff=00.2\r\n+ptmshepherd.glyco_adducts=\r\n+ptmshepherd.glyco_fdr=1.00\r\n+ptmshepherd.glyco_isotope_max=3\r\n+ptmshepherd.glyco_isotope_min=-1\r\n+ptmshepherd.glyco_mode=false\r\n+ptmshepherd.glyco_ppm_tol=50\r\n+ptmshepherd.glycodatabase=\r\n+ptmshepherd.histo_smoothbins=2\r\n+ptmshepherd.iontype_a=false\r\n+ptmshepherd.iontype_b=true\r\n+ptmshepherd.iontype_c=false\r\n+ptmshepherd.iontype_x=false\r\n+ptmshepherd.iontype_y=true\r\n+ptmshepherd.iontype_z=false\r\n+ptmshepherd.localization_allowed_res=\r\n+ptmshepherd.localization_background=4\r\n+ptmshepherd.max_adducts=0\r\n+ptmshepherd.n_glyco=true\r\n+ptmshepherd.normalization-psms=true\r\n+ptmshepherd.normalization-scans=false\r\n+ptmshepherd.output_extended=false\r\n+ptmshepherd.peakpicking_mass_units=0\r\n+ptmshepherd.peakpicking_minPsm=10\r\n+ptmshepherd.peakpicking_promRatio=0.3\r\n+ptmshepherd.peakpicking_width=0.002\r\n+ptmshepherd.precursor_mass_units=0\r\n+ptmshepherd.precursor_tol=0.01\r\n+ptmshepherd.print_decoys=false\r\n+ptmshepherd.prob_dhexOx=2,0.5,0.1\r\n+ptmshepherd.prob_dhexY=2,0.5\r\n+ptmshepherd.prob_neuacOx=2,0.05,0.2\r\n+ptmshepherd.prob_neugcOx=2,0.05,0.2\r\n+ptmshepherd.prob_phosphoOx=2,0.05,0.2\r\n+ptmshepherd.prob_regY=5,0.5\r\n+ptmshepherd.prob_sulfoOx=2,0.05,0.2\r\n+ptmshepherd.remainder_masses=\r\n+ptmshepherd.remove_glycan_delta_mass=true\r\n+ptmshepherd.run-shepherd=false\r\n+ptmshepherd.spectra_maxfragcharge=2\r\n+ptmshepherd.spectra_ppmtol=20\r\n+ptmshepherd.varmod_masses=\r\n+quantitation.run-label-free-quant=true\r\n+run-psm-validation=true\r\n+run-validation-tab=true\r\n+saintexpress.fragpipe.cmd-opts=\r\n+saintexpress.max-replicates=10\r\n+saintexpress.run-saint-express=false\r\n+saintexpress.virtual-controls=100\r\n+speclibgen.easypqp.extras.max_delta_ppm=15\r\n+speclibgen.easypqp.extras.max_delta_unimod=0.02\r\n+speclibgen.easypqp.extras.rt_lowess_fraction=0\r\n+speclibgen.easypqp.fragment.a=false\r\n+speclibgen.easypqp.fragment.b=true\r\n+speclibgen.easypqp.fragment.c=false\r\n+speclibgen.easypqp.fragment.x=false\r\n+speclibgen.easypqp.fragment.y=true\r\n+speclibgen.easypqp.fragment.z=false\r\n+speclibgen.easypqp.im-cal=Automatic selection of a run as reference IM\r\n+speclibgen.easypqp.neutral_loss=false\r\n+speclibgen.easypqp.rt-cal=noiRT\r\n+speclibgen.easypqp.select-file.text=\r\n+speclibgen.easypqp.select-im-file.text=\r\n+speclibgen.keep-intermediate-files=false\r\n+speclibgen.run-speclibgen=false\r\n+tab-run.delete_calibrated_mzml=false\r\n+tab-run.delete_temp_files=false\r\n+tab-run.sub_mzml_prob_threshold=0.5\r\n+tab-run.write_sub_mzml=false\r\n+tmtintegrator.add_Ref=-1\r\n+tmtintegrator.aggregation_method=0\r\n+tmtintegrator.allow_overlabel=true\r\n+tmtintegrator.allow_unlabeled=true\r\n+tmtintegrator.best_psm=true\r\n+tmtintegrator.channel_num=TMT-6\r\n+tmtintegrator.dont-run-fq-lq=false\r\n+tmtintegrator.glyco_qval=-1\r\n+tmtintegrator.groupby=0\r\n+tmtintegrator.log2transformed=true\r\n+tmtintegrator.max_pep_prob_thres=0\r\n+tmtintegrator.min_ntt=0\r\n+tmtintegrator.min_pep_prob=0.9\r\n+tmtintegrator.min_percent=0.05\r\n+tmtintegrator.min_purity=0.5\r\n+tmtintegrator.min_site_prob=-1\r\n+tmtintegrator.mod_tag=none\r\n+tmtintegrator.ms1_int=true\r\n+tmtintegrator.outlier_removal=true\r\n+tmtintegrator.print_RefInt=false\r\n+tmtintegrator.prot_exclude=none\r\n+tmtintegrator.prot_norm=0\r\n+tmtintegrator.psm_norm=false\r\n+tmtintegrator.quant_level=2\r\n+tmtintegrator.ref_tag=Bridge\r\n+tmtintegrator.run-tmtintegrator=false\r\n+tmtintegrator.tolerance=20\r\n+tmtintegrator.top3_pep=true\r\n+tmtintegrator.unique_gene=0\r\n+tmtintegrator.unique_pep=false\r\n+tmtintegrator.use_glycan_composition=false\r\n+workflow.description=Perform closed search, followed by label free quantification with match-between-runs using IonQuant. If using mzML files, need to choose the right MS data type (Regular MS vs IM-MS). Need to assign runs to experiments.\r\n+workflow.input.data-type.im-ms=false\r\n+workflow.input.data-type.regular-ms=true\r\n+workflow.saved-with-ver=20.0-build5\r\n'
b
diff -r 000000000000 -r 14785481da2b workflows/Nonspecific-HLA.workflow
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/workflows/Nonspecific-HLA.workflow Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,312 @@\n+# Workflow: Nonspecific-HLA\r\n+\r\n+crystalc.run-crystalc=false\r\n+database.decoy-tag=rev_\r\n+diann.fragpipe.cmd-opts=\r\n+diann.heavy=\r\n+diann.library=\r\n+diann.light=\r\n+diann.medium=\r\n+diann.q-value=0.01\r\n+diann.quantification-strategy=3\r\n+diann.run-dia-nn=false\r\n+diann.run-dia-plex=false\r\n+diann.run-specific-protein-q-value=false\r\n+diann.unrelated-runs=false\r\n+diann.use-predicted-spectra=false\r\n+diaumpire.AdjustFragIntensity=true\r\n+diaumpire.BoostComplementaryIon=false\r\n+diaumpire.CorrThreshold=0\r\n+diaumpire.DeltaApex=0.2\r\n+diaumpire.ExportPrecursorPeak=false\r\n+diaumpire.Q1=true\r\n+diaumpire.Q2=true\r\n+diaumpire.Q3=true\r\n+diaumpire.RFmax=500\r\n+diaumpire.RPmax=25\r\n+diaumpire.RTOverlap=0.3\r\n+diaumpire.SE.EstimateBG=false\r\n+diaumpire.SE.IsoPattern=0.3\r\n+diaumpire.SE.MS1PPM=10\r\n+diaumpire.SE.MS2PPM=20\r\n+diaumpire.SE.MS2SN=1.1\r\n+diaumpire.SE.MassDefectFilter=true\r\n+diaumpire.SE.MassDefectOffset=0.1\r\n+diaumpire.SE.NoMissedScan=1\r\n+diaumpire.SE.SN=1.1\r\n+diaumpire.run-diaumpire=false\r\n+freequant.mz-tol=10\r\n+freequant.rt-tol=0.4\r\n+freequant.run-freequant=false\r\n+ionquant.excludemods=\r\n+ionquant.heavy=\r\n+ionquant.imtol=0.05\r\n+ionquant.ionfdr=0.01\r\n+ionquant.light=\r\n+ionquant.locprob=0.75\r\n+ionquant.maxlfq=1\r\n+ionquant.mbr=1\r\n+ionquant.mbrimtol=0.05\r\n+ionquant.mbrmincorr=0\r\n+ionquant.mbrrttol=1\r\n+ionquant.mbrtoprun=10\r\n+ionquant.medium=\r\n+ionquant.minfreq=0\r\n+ionquant.minions=2\r\n+ionquant.minisotopes=2\r\n+ionquant.minscans=3\r\n+ionquant.mztol=10\r\n+ionquant.normalization=1\r\n+ionquant.peptidefdr=1\r\n+ionquant.proteinfdr=1\r\n+ionquant.requantify=1\r\n+ionquant.rttol=0.4\r\n+ionquant.run-ionquant=true\r\n+ionquant.tp=0\r\n+ionquant.uniqueness=0\r\n+ionquant.use-labeling=false\r\n+ionquant.use-lfq=true\r\n+ionquant.writeindex=0\r\n+msbooster.predict-rt=true\r\n+msbooster.predict-spectra=true\r\n+msbooster.run-msbooster=true\r\n+msbooster.use-correlated-features=false\r\n+msfragger.Y_type_masses=\r\n+msfragger.activation_types=all\r\n+msfragger.add_topN_complementary=0\r\n+msfragger.allowed_missed_cleavage_1=2\r\n+msfragger.allowed_missed_cleavage_2=2\r\n+msfragger.calibrate_mass=2\r\n+msfragger.check_spectral_files=true\r\n+msfragger.clip_nTerm_M=true\r\n+msfragger.deisotope=1\r\n+msfragger.delta_mass_exclude_ranges=(-1.5,3.5)\r\n+msfragger.deneutralloss=1\r\n+msfragger.diagnostic_fragments=\r\n+msfragger.diagnostic_intensity_filter=0\r\n+msfragger.digest_max_length=25\r\n+msfragger.digest_min_length=7\r\n+msfragger.fragment_ion_series=b,y\r\n+msfragger.fragment_mass_tolerance=20\r\n+msfragger.fragment_mass_units=1\r\n+msfragger.group_variable=0\r\n+msfragger.intensity_transform=1\r\n+msfragger.ion_series_definitions=\r\n+msfragger.isotope_error=0/1\r\n+msfragger.labile_search_mode=off\r\n+msfragger.localize_delta_mass=false\r\n+msfragger.mass_diff_to_variable_mod=0\r\n+msfragger.mass_offsets=0\r\n+msfragger.max_fragment_charge=2\r\n+msfragger.max_variable_mods_combinations=5000\r\n+msfragger.max_variable_mods_per_peptide=3\r\n+msfragger.min_fragments_modelling=2\r\n+msfragger.min_matched_fragments=5\r\n+msfragger.min_sequence_matches=2\r\n+msfragger.minimum_peaks=15\r\n+msfragger.minimum_ratio=0.00\r\n+msfragger.misc.fragger.clear-mz-hi=0\r\n+msfragger.misc.fragger.clear-mz-lo=0\r\n+msfragger.misc.fragger.digest-mass-hi=5000\r\n+msfragger.misc.fragger.digest-mass-lo=200\r\n+msfragger.misc.fragger.enzyme-dropdown-1=nonspecific\r\n+msfragger.misc.fragger.enzyme-dropdown-2=null\r\n+msfragger.misc.fragger.precursor-charge-hi=4\r\n+msfragger.misc.fragger.precursor-charge-lo=1\r\n+msfragger.misc.fragger.remove-precursor-range-hi=1.5\r\n+msfragger.misc.fragger.remove-precursor-range-lo=-1.5\r\n+msfragger.misc.slice-db=1\r\n+msfragger.num_enzyme_termini=0\r\n+msfragger.output_format=pepXML_pin\r\n+msfragger.output_max_expect=50\r\n+msfragger.output_report_topN=1\r\n+msfragger.output_report_topN_dia1=5\r\n+msfragger.output_report_topN_dia2=3\r\n+msfragger.override_charge=false\r\n+msfragger.precursor_mass_lower=-20\r\n+msfragger.precursor_mass_mode=selected\r\n+msfragger.precursor_mass_units=1\r\n+msfragger.precursor_mass_upper=20\r\n+msfragger.precursor_true_tolerance=15\r\n+'..b'ol=50\r\n+ptmshepherd.glycodatabase=\r\n+ptmshepherd.histo_smoothbins=2\r\n+ptmshepherd.iontype_a=false\r\n+ptmshepherd.iontype_b=true\r\n+ptmshepherd.iontype_c=false\r\n+ptmshepherd.iontype_x=false\r\n+ptmshepherd.iontype_y=true\r\n+ptmshepherd.iontype_z=false\r\n+ptmshepherd.localization_allowed_res=\r\n+ptmshepherd.localization_background=4\r\n+ptmshepherd.max_adducts=0\r\n+ptmshepherd.n_glyco=true\r\n+ptmshepherd.normalization-psms=true\r\n+ptmshepherd.normalization-scans=false\r\n+ptmshepherd.output_extended=false\r\n+ptmshepherd.peakpicking_mass_units=0\r\n+ptmshepherd.peakpicking_minPsm=10\r\n+ptmshepherd.peakpicking_promRatio=0.3\r\n+ptmshepherd.peakpicking_width=0.002\r\n+ptmshepherd.precursor_mass_units=0\r\n+ptmshepherd.precursor_tol=0.01\r\n+ptmshepherd.print_decoys=false\r\n+ptmshepherd.prob_dhexOx=2,0.5,0.1\r\n+ptmshepherd.prob_dhexY=2,0.5\r\n+ptmshepherd.prob_neuacOx=2,0.05,0.2\r\n+ptmshepherd.prob_neugcOx=2,0.05,0.2\r\n+ptmshepherd.prob_phosphoOx=2,0.05,0.2\r\n+ptmshepherd.prob_regY=5,0.5\r\n+ptmshepherd.prob_sulfoOx=2,0.05,0.2\r\n+ptmshepherd.remainder_masses=\r\n+ptmshepherd.remove_glycan_delta_mass=true\r\n+ptmshepherd.run-shepherd=false\r\n+ptmshepherd.spectra_maxfragcharge=2\r\n+ptmshepherd.spectra_ppmtol=20\r\n+ptmshepherd.varmod_masses=\r\n+quantitation.run-label-free-quant=false\r\n+run-psm-validation=true\r\n+run-validation-tab=true\r\n+saintexpress.fragpipe.cmd-opts=\r\n+saintexpress.max-replicates=10\r\n+saintexpress.run-saint-express=false\r\n+saintexpress.virtual-controls=100\r\n+speclibgen.easypqp.extras.max_delta_ppm=15\r\n+speclibgen.easypqp.extras.max_delta_unimod=0.02\r\n+speclibgen.easypqp.extras.rt_lowess_fraction=0\r\n+speclibgen.easypqp.fragment.a=false\r\n+speclibgen.easypqp.fragment.b=true\r\n+speclibgen.easypqp.fragment.c=false\r\n+speclibgen.easypqp.fragment.x=false\r\n+speclibgen.easypqp.fragment.y=true\r\n+speclibgen.easypqp.fragment.z=false\r\n+speclibgen.easypqp.im-cal=Automatic selection of a run as reference IM\r\n+speclibgen.easypqp.neutral_loss=false\r\n+speclibgen.easypqp.rt-cal=noiRT\r\n+speclibgen.easypqp.select-file.text=\r\n+speclibgen.easypqp.select-im-file.text=\r\n+speclibgen.keep-intermediate-files=false\r\n+speclibgen.run-speclibgen=false\r\n+tab-run.delete_calibrated_mzml=false\r\n+tab-run.delete_temp_files=false\r\n+tab-run.sub_mzml_prob_threshold=0.5\r\n+tab-run.write_sub_mzml=false\r\n+tmtintegrator.add_Ref=-1\r\n+tmtintegrator.aggregation_method=0\r\n+tmtintegrator.allow_overlabel=true\r\n+tmtintegrator.allow_unlabeled=true\r\n+tmtintegrator.best_psm=true\r\n+tmtintegrator.channel_num=TMT-6\r\n+tmtintegrator.dont-run-fq-lq=false\r\n+tmtintegrator.glyco_qval=-1\r\n+tmtintegrator.groupby=0\r\n+tmtintegrator.log2transformed=true\r\n+tmtintegrator.max_pep_prob_thres=0\r\n+tmtintegrator.min_ntt=0\r\n+tmtintegrator.min_pep_prob=0.9\r\n+tmtintegrator.min_percent=0.05\r\n+tmtintegrator.min_purity=0.5\r\n+tmtintegrator.min_site_prob=-1\r\n+tmtintegrator.mod_tag=none\r\n+tmtintegrator.ms1_int=true\r\n+tmtintegrator.outlier_removal=true\r\n+tmtintegrator.print_RefInt=false\r\n+tmtintegrator.prot_exclude=none\r\n+tmtintegrator.prot_norm=0\r\n+tmtintegrator.psm_norm=false\r\n+tmtintegrator.quant_level=2\r\n+tmtintegrator.ref_tag=Bridge\r\n+tmtintegrator.run-tmtintegrator=false\r\n+tmtintegrator.tolerance=20\r\n+tmtintegrator.top3_pep=true\r\n+tmtintegrator.unique_gene=0\r\n+tmtintegrator.unique_pep=false\r\n+tmtintegrator.use_glycan_composition=false\r\n+workflow.description=<p style\\="margin-top\\: 0in">Nonspecific search, with recommended settings for HLA peptides. Peptide length 7-25. MSFragger search assumes cysteines were not alkylated (i.e. samples were not treated with iodoacetamide). Cysteinylation (C+119) is specified as variable modification. MSFragger rescoring with MSBooster. PSM validation with Percolator. Protein FDR filter is not applied, so each output file (PSM, ion, peptide) is filtered to 1% FDR at that level. If needed, extend to add label-free quantifcation (using IonQuant) or spectral library building with EasyPQP.</p>\r\n+workflow.input.data-type.im-ms=false\r\n+workflow.input.data-type.regular-ms=true\r\n+workflow.saved-with-ver=20.0-build5\r\n'
b
diff -r 000000000000 -r 14785481da2b workflows/Open.workflow
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/workflows/Open.workflow Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,312 @@\n+# Workflow: Open\r\n+\r\n+crystalc.run-crystalc=true\r\n+database.decoy-tag=rev_\r\n+diann.fragpipe.cmd-opts=\r\n+diann.heavy=\r\n+diann.library=\r\n+diann.light=\r\n+diann.medium=\r\n+diann.q-value=0.01\r\n+diann.quantification-strategy=3\r\n+diann.run-dia-nn=false\r\n+diann.run-dia-plex=false\r\n+diann.run-specific-protein-q-value=false\r\n+diann.unrelated-runs=false\r\n+diann.use-predicted-spectra=true\r\n+diaumpire.AdjustFragIntensity=true\r\n+diaumpire.BoostComplementaryIon=false\r\n+diaumpire.CorrThreshold=0\r\n+diaumpire.DeltaApex=0.2\r\n+diaumpire.ExportPrecursorPeak=false\r\n+diaumpire.Q1=true\r\n+diaumpire.Q2=true\r\n+diaumpire.Q3=true\r\n+diaumpire.RFmax=500\r\n+diaumpire.RPmax=25\r\n+diaumpire.RTOverlap=0.3\r\n+diaumpire.SE.EstimateBG=false\r\n+diaumpire.SE.IsoPattern=0.3\r\n+diaumpire.SE.MS1PPM=10\r\n+diaumpire.SE.MS2PPM=20\r\n+diaumpire.SE.MS2SN=1.1\r\n+diaumpire.SE.MassDefectFilter=true\r\n+diaumpire.SE.MassDefectOffset=0.1\r\n+diaumpire.SE.NoMissedScan=1\r\n+diaumpire.SE.SN=1.1\r\n+diaumpire.run-diaumpire=false\r\n+freequant.mz-tol=10\r\n+freequant.rt-tol=0.4\r\n+freequant.run-freequant=true\r\n+ionquant.excludemods=\r\n+ionquant.heavy=\r\n+ionquant.imtol=0.05\r\n+ionquant.ionfdr=0.01\r\n+ionquant.light=\r\n+ionquant.locprob=0.75\r\n+ionquant.maxlfq=1\r\n+ionquant.mbr=0\r\n+ionquant.mbrimtol=0.05\r\n+ionquant.mbrmincorr=0\r\n+ionquant.mbrrttol=1\r\n+ionquant.mbrtoprun=10\r\n+ionquant.medium=\r\n+ionquant.minfreq=0\r\n+ionquant.minions=2\r\n+ionquant.minisotopes=2\r\n+ionquant.minscans=3\r\n+ionquant.mztol=10\r\n+ionquant.normalization=1\r\n+ionquant.peptidefdr=1\r\n+ionquant.proteinfdr=1\r\n+ionquant.requantify=1\r\n+ionquant.rttol=0.4\r\n+ionquant.run-ionquant=false\r\n+ionquant.tp=0\r\n+ionquant.uniqueness=0\r\n+ionquant.use-labeling=false\r\n+ionquant.use-lfq=true\r\n+ionquant.writeindex=0\r\n+msbooster.predict-rt=true\r\n+msbooster.predict-spectra=true\r\n+msbooster.run-msbooster=false\r\n+msbooster.use-correlated-features=false\r\n+msfragger.Y_type_masses=\r\n+msfragger.activation_types=all\r\n+msfragger.add_topN_complementary=0\r\n+msfragger.allowed_missed_cleavage_1=2\r\n+msfragger.allowed_missed_cleavage_2=2\r\n+msfragger.calibrate_mass=2\r\n+msfragger.check_spectral_files=true\r\n+msfragger.clip_nTerm_M=true\r\n+msfragger.deisotope=1\r\n+msfragger.delta_mass_exclude_ranges=(-1.5,3.5)\r\n+msfragger.deneutralloss=1\r\n+msfragger.diagnostic_fragments=\r\n+msfragger.diagnostic_intensity_filter=0\r\n+msfragger.digest_max_length=50\r\n+msfragger.digest_min_length=7\r\n+msfragger.fragment_ion_series=b,y\r\n+msfragger.fragment_mass_tolerance=20\r\n+msfragger.fragment_mass_units=1\r\n+msfragger.group_variable=0\r\n+msfragger.intensity_transform=0\r\n+msfragger.ion_series_definitions=\r\n+msfragger.isotope_error=0\r\n+msfragger.labile_search_mode=off\r\n+msfragger.localize_delta_mass=true\r\n+msfragger.mass_diff_to_variable_mod=0\r\n+msfragger.mass_offsets=0\r\n+msfragger.max_fragment_charge=2\r\n+msfragger.max_variable_mods_combinations=5000\r\n+msfragger.max_variable_mods_per_peptide=3\r\n+msfragger.min_fragments_modelling=2\r\n+msfragger.min_matched_fragments=4\r\n+msfragger.min_sequence_matches=2\r\n+msfragger.minimum_peaks=15\r\n+msfragger.minimum_ratio=0.01\r\n+msfragger.misc.fragger.clear-mz-hi=0\r\n+msfragger.misc.fragger.clear-mz-lo=0\r\n+msfragger.misc.fragger.digest-mass-hi=5000\r\n+msfragger.misc.fragger.digest-mass-lo=500\r\n+msfragger.misc.fragger.enzyme-dropdown-1=stricttrypsin\r\n+msfragger.misc.fragger.enzyme-dropdown-2=null\r\n+msfragger.misc.fragger.precursor-charge-hi=4\r\n+msfragger.misc.fragger.precursor-charge-lo=1\r\n+msfragger.misc.fragger.remove-precursor-range-hi=1.5\r\n+msfragger.misc.fragger.remove-precursor-range-lo=-1.5\r\n+msfragger.misc.slice-db=1\r\n+msfragger.num_enzyme_termini=2\r\n+msfragger.output_format=pepXML_pin\r\n+msfragger.output_max_expect=50\r\n+msfragger.output_report_topN=1\r\n+msfragger.output_report_topN_dia1=5\r\n+msfragger.output_report_topN_dia2=3\r\n+msfragger.override_charge=false\r\n+msfragger.precursor_mass_lower=-150\r\n+msfragger.precursor_mass_mode=corrected\r\n+msfragger.precursor_mass_units=0\r\n+msfragger.precursor_mass_upper=500\r\n+msfragger.precursor_true_tolerance=20\r\n+msfragger.'..b'yco_isotope_min=-1\r\n+ptmshepherd.glyco_mode=false\r\n+ptmshepherd.glyco_ppm_tol=50\r\n+ptmshepherd.glycodatabase=\r\n+ptmshepherd.histo_smoothbins=2\r\n+ptmshepherd.iontype_a=false\r\n+ptmshepherd.iontype_b=true\r\n+ptmshepherd.iontype_c=false\r\n+ptmshepherd.iontype_x=false\r\n+ptmshepherd.iontype_y=true\r\n+ptmshepherd.iontype_z=false\r\n+ptmshepherd.localization_allowed_res=\r\n+ptmshepherd.localization_background=4\r\n+ptmshepherd.max_adducts=0\r\n+ptmshepherd.n_glyco=true\r\n+ptmshepherd.normalization-psms=true\r\n+ptmshepherd.normalization-scans=false\r\n+ptmshepherd.output_extended=false\r\n+ptmshepherd.peakpicking_mass_units=0\r\n+ptmshepherd.peakpicking_minPsm=10\r\n+ptmshepherd.peakpicking_promRatio=0.3\r\n+ptmshepherd.peakpicking_width=0.002\r\n+ptmshepherd.precursor_mass_units=0\r\n+ptmshepherd.precursor_tol=0.01\r\n+ptmshepherd.print_decoys=false\r\n+ptmshepherd.prob_dhexOx=2,0.5,0.1\r\n+ptmshepherd.prob_dhexY=2,0.5\r\n+ptmshepherd.prob_neuacOx=2,0.05,0.2\r\n+ptmshepherd.prob_neugcOx=2,0.05,0.2\r\n+ptmshepherd.prob_phosphoOx=2,0.05,0.2\r\n+ptmshepherd.prob_regY=5,0.5\r\n+ptmshepherd.prob_sulfoOx=2,0.05,0.2\r\n+ptmshepherd.remainder_masses=\r\n+ptmshepherd.remove_glycan_delta_mass=true\r\n+ptmshepherd.run-shepherd=true\r\n+ptmshepherd.spectra_maxfragcharge=1\r\n+ptmshepherd.spectra_ppmtol=20\r\n+ptmshepherd.varmod_masses=\r\n+quantitation.run-label-free-quant=false\r\n+run-psm-validation=true\r\n+run-validation-tab=true\r\n+saintexpress.fragpipe.cmd-opts=\r\n+saintexpress.max-replicates=10\r\n+saintexpress.run-saint-express=false\r\n+saintexpress.virtual-controls=100\r\n+speclibgen.easypqp.extras.max_delta_ppm=15\r\n+speclibgen.easypqp.extras.max_delta_unimod=0.02\r\n+speclibgen.easypqp.extras.rt_lowess_fraction=0\r\n+speclibgen.easypqp.fragment.a=false\r\n+speclibgen.easypqp.fragment.b=true\r\n+speclibgen.easypqp.fragment.c=false\r\n+speclibgen.easypqp.fragment.x=false\r\n+speclibgen.easypqp.fragment.y=true\r\n+speclibgen.easypqp.fragment.z=false\r\n+speclibgen.easypqp.im-cal=Automatic selection of a run as reference IM\r\n+speclibgen.easypqp.neutral_loss=false\r\n+speclibgen.easypqp.rt-cal=ciRT\r\n+speclibgen.easypqp.select-file.text=\r\n+speclibgen.easypqp.select-im-file.text=\r\n+speclibgen.keep-intermediate-files=false\r\n+speclibgen.run-speclibgen=false\r\n+tab-run.delete_calibrated_mzml=false\r\n+tab-run.delete_temp_files=false\r\n+tab-run.sub_mzml_prob_threshold=0.5\r\n+tab-run.write_sub_mzml=false\r\n+tmtintegrator.add_Ref=-1\r\n+tmtintegrator.aggregation_method=0\r\n+tmtintegrator.allow_overlabel=true\r\n+tmtintegrator.allow_unlabeled=false\r\n+tmtintegrator.best_psm=true\r\n+tmtintegrator.channel_num=TMT-10\r\n+tmtintegrator.dont-run-fq-lq=false\r\n+tmtintegrator.glyco_qval=-1\r\n+tmtintegrator.groupby=-1\r\n+tmtintegrator.log2transformed=true\r\n+tmtintegrator.max_pep_prob_thres=0\r\n+tmtintegrator.min_ntt=0\r\n+tmtintegrator.min_pep_prob=0.9\r\n+tmtintegrator.min_percent=0.05\r\n+tmtintegrator.min_purity=0.5\r\n+tmtintegrator.min_site_prob=-1\r\n+tmtintegrator.mod_tag=none\r\n+tmtintegrator.ms1_int=true\r\n+tmtintegrator.outlier_removal=true\r\n+tmtintegrator.print_RefInt=false\r\n+tmtintegrator.prot_exclude=none\r\n+tmtintegrator.prot_norm=-1\r\n+tmtintegrator.psm_norm=false\r\n+tmtintegrator.quant_level=2\r\n+tmtintegrator.ref_tag=pool\r\n+tmtintegrator.run-tmtintegrator=false\r\n+tmtintegrator.tolerance=20\r\n+tmtintegrator.top3_pep=true\r\n+tmtintegrator.unique_gene=0\r\n+tmtintegrator.unique_pep=false\r\n+tmtintegrator.use_glycan_composition=false\r\n+workflow.description=<p style\\="margin-top\\: 0in">Open search workflow for PTM analysis. MSFragger localization-aware open search (LOS) algorithm, with deisotoping, mass calibration, parameter optimization, and monoisotope correction enabled. Mass range -150 to 500 Da. PeptideProphet with extended mass model. Crystal-C for artifact removal. Precursor ion quantification using Freequant. PTM-Shepherd for mass shift summarization. For faster run time, in MSFragger change the number of allowed missed cleavages to 1.</p>\r\n+workflow.input.data-type.im-ms=false\r\n+workflow.input.data-type.regular-ms=true\r\n+workflow.saved-with-ver=20.0-build5\r\n'
b
diff -r 000000000000 -r 14785481da2b workflows/TMT10.workflow
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/workflows/TMT10.workflow Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,312 @@\n+# Workflow: TMT10\r\n+\r\n+crystalc.run-crystalc=false\r\n+database.decoy-tag=rev_\r\n+diann.fragpipe.cmd-opts=\r\n+diann.heavy=\r\n+diann.library=\r\n+diann.light=\r\n+diann.medium=\r\n+diann.q-value=0.01\r\n+diann.quantification-strategy=3\r\n+diann.run-dia-nn=false\r\n+diann.run-dia-plex=false\r\n+diann.run-specific-protein-q-value=false\r\n+diann.unrelated-runs=false\r\n+diann.use-predicted-spectra=true\r\n+diaumpire.AdjustFragIntensity=true\r\n+diaumpire.BoostComplementaryIon=false\r\n+diaumpire.CorrThreshold=0\r\n+diaumpire.DeltaApex=0.2\r\n+diaumpire.ExportPrecursorPeak=false\r\n+diaumpire.Q1=true\r\n+diaumpire.Q2=true\r\n+diaumpire.Q3=true\r\n+diaumpire.RFmax=500\r\n+diaumpire.RPmax=25\r\n+diaumpire.RTOverlap=0.3\r\n+diaumpire.SE.EstimateBG=false\r\n+diaumpire.SE.IsoPattern=0.3\r\n+diaumpire.SE.MS1PPM=10\r\n+diaumpire.SE.MS2PPM=20\r\n+diaumpire.SE.MS2SN=1.1\r\n+diaumpire.SE.MassDefectFilter=true\r\n+diaumpire.SE.MassDefectOffset=0.1\r\n+diaumpire.SE.NoMissedScan=1\r\n+diaumpire.SE.SN=1.1\r\n+diaumpire.run-diaumpire=false\r\n+freequant.mz-tol=10\r\n+freequant.rt-tol=0.4\r\n+freequant.run-freequant=false\r\n+ionquant.excludemods=\r\n+ionquant.heavy=\r\n+ionquant.imtol=0.05\r\n+ionquant.ionfdr=0.01\r\n+ionquant.light=\r\n+ionquant.locprob=0.75\r\n+ionquant.maxlfq=1\r\n+ionquant.mbr=0\r\n+ionquant.mbrimtol=0.05\r\n+ionquant.mbrmincorr=0\r\n+ionquant.mbrrttol=1\r\n+ionquant.mbrtoprun=10\r\n+ionquant.medium=\r\n+ionquant.minfreq=0\r\n+ionquant.minions=2\r\n+ionquant.minisotopes=2\r\n+ionquant.minscans=3\r\n+ionquant.mztol=10\r\n+ionquant.normalization=1\r\n+ionquant.peptidefdr=1\r\n+ionquant.proteinfdr=1\r\n+ionquant.requantify=1\r\n+ionquant.rttol=0.4\r\n+ionquant.run-ionquant=true\r\n+ionquant.tp=0\r\n+ionquant.uniqueness=0\r\n+ionquant.use-labeling=false\r\n+ionquant.use-lfq=true\r\n+ionquant.writeindex=0\r\n+msbooster.predict-rt=true\r\n+msbooster.predict-spectra=true\r\n+msbooster.run-msbooster=true\r\n+msbooster.use-correlated-features=false\r\n+msfragger.Y_type_masses=\r\n+msfragger.activation_types=all\r\n+msfragger.add_topN_complementary=0\r\n+msfragger.allowed_missed_cleavage_1=2\r\n+msfragger.allowed_missed_cleavage_2=2\r\n+msfragger.calibrate_mass=2\r\n+msfragger.check_spectral_files=true\r\n+msfragger.clip_nTerm_M=true\r\n+msfragger.deisotope=1\r\n+msfragger.delta_mass_exclude_ranges=(-1.5,3.5)\r\n+msfragger.deneutralloss=1\r\n+msfragger.diagnostic_fragments=\r\n+msfragger.diagnostic_intensity_filter=0\r\n+msfragger.digest_max_length=50\r\n+msfragger.digest_min_length=7\r\n+msfragger.fragment_ion_series=b,y\r\n+msfragger.fragment_mass_tolerance=20\r\n+msfragger.fragment_mass_units=1\r\n+msfragger.group_variable=0\r\n+msfragger.intensity_transform=0\r\n+msfragger.ion_series_definitions=\r\n+msfragger.isotope_error=-1/0/1/2/3\r\n+msfragger.labile_search_mode=off\r\n+msfragger.localize_delta_mass=false\r\n+msfragger.mass_diff_to_variable_mod=0\r\n+msfragger.mass_offsets=0\r\n+msfragger.max_fragment_charge=2\r\n+msfragger.max_variable_mods_combinations=5000\r\n+msfragger.max_variable_mods_per_peptide=3\r\n+msfragger.min_fragments_modelling=2\r\n+msfragger.min_matched_fragments=4\r\n+msfragger.min_sequence_matches=2\r\n+msfragger.minimum_peaks=15\r\n+msfragger.minimum_ratio=0.01\r\n+msfragger.misc.fragger.clear-mz-hi=131.5\r\n+msfragger.misc.fragger.clear-mz-lo=125.5\r\n+msfragger.misc.fragger.digest-mass-hi=5000\r\n+msfragger.misc.fragger.digest-mass-lo=200\r\n+msfragger.misc.fragger.enzyme-dropdown-1=stricttrypsin\r\n+msfragger.misc.fragger.enzyme-dropdown-2=null\r\n+msfragger.misc.fragger.precursor-charge-hi=4\r\n+msfragger.misc.fragger.precursor-charge-lo=1\r\n+msfragger.misc.fragger.remove-precursor-range-hi=1.5\r\n+msfragger.misc.fragger.remove-precursor-range-lo=-1.5\r\n+msfragger.misc.slice-db=1\r\n+msfragger.num_enzyme_termini=2\r\n+msfragger.output_format=pepXML_pin\r\n+msfragger.output_max_expect=50\r\n+msfragger.output_report_topN=1\r\n+msfragger.output_report_topN_dia1=5\r\n+msfragger.output_report_topN_dia2=3\r\n+msfragger.override_charge=false\r\n+msfragger.precursor_mass_lower=-20\r\n+msfragger.precursor_mass_mode=selected\r\n+msfragger.precursor_mass_units=1\r\n+msfragger.precursor_mass_upper=20\r\n+msfragger.precursor_true_tolerance'..b'_min=-1\r\n+ptmshepherd.glyco_mode=false\r\n+ptmshepherd.glyco_ppm_tol=50\r\n+ptmshepherd.glycodatabase=\r\n+ptmshepherd.histo_smoothbins=2\r\n+ptmshepherd.iontype_a=false\r\n+ptmshepherd.iontype_b=true\r\n+ptmshepherd.iontype_c=false\r\n+ptmshepherd.iontype_x=false\r\n+ptmshepherd.iontype_y=true\r\n+ptmshepherd.iontype_z=false\r\n+ptmshepherd.localization_allowed_res=\r\n+ptmshepherd.localization_background=4\r\n+ptmshepherd.max_adducts=0\r\n+ptmshepherd.n_glyco=true\r\n+ptmshepherd.normalization-psms=true\r\n+ptmshepherd.normalization-scans=false\r\n+ptmshepherd.output_extended=false\r\n+ptmshepherd.peakpicking_mass_units=0\r\n+ptmshepherd.peakpicking_minPsm=10\r\n+ptmshepherd.peakpicking_promRatio=0.3\r\n+ptmshepherd.peakpicking_width=0.002\r\n+ptmshepherd.precursor_mass_units=0\r\n+ptmshepherd.precursor_tol=0.01\r\n+ptmshepherd.print_decoys=false\r\n+ptmshepherd.prob_dhexOx=2,0.5,0.1\r\n+ptmshepherd.prob_dhexY=2,0.5\r\n+ptmshepherd.prob_neuacOx=2,0.05,0.2\r\n+ptmshepherd.prob_neugcOx=2,0.05,0.2\r\n+ptmshepherd.prob_phosphoOx=2,0.05,0.2\r\n+ptmshepherd.prob_regY=5,0.5\r\n+ptmshepherd.prob_sulfoOx=2,0.05,0.2\r\n+ptmshepherd.remainder_masses=\r\n+ptmshepherd.remove_glycan_delta_mass=true\r\n+ptmshepherd.run-shepherd=false\r\n+ptmshepherd.spectra_maxfragcharge=2\r\n+ptmshepherd.spectra_ppmtol=20\r\n+ptmshepherd.varmod_masses=\r\n+quantitation.run-label-free-quant=false\r\n+run-psm-validation=true\r\n+run-validation-tab=true\r\n+saintexpress.fragpipe.cmd-opts=\r\n+saintexpress.max-replicates=3\r\n+saintexpress.run-saint-express=true\r\n+saintexpress.virtual-controls=100\r\n+speclibgen.easypqp.extras.max_delta_ppm=15\r\n+speclibgen.easypqp.extras.max_delta_unimod=0.02\r\n+speclibgen.easypqp.extras.rt_lowess_fraction=0\r\n+speclibgen.easypqp.fragment.a=false\r\n+speclibgen.easypqp.fragment.b=true\r\n+speclibgen.easypqp.fragment.c=false\r\n+speclibgen.easypqp.fragment.x=false\r\n+speclibgen.easypqp.fragment.y=true\r\n+speclibgen.easypqp.fragment.z=false\r\n+speclibgen.easypqp.im-cal=Automatic selection of a run as reference IM\r\n+speclibgen.easypqp.neutral_loss=false\r\n+speclibgen.easypqp.rt-cal=noiRT\r\n+speclibgen.easypqp.select-file.text=\r\n+speclibgen.easypqp.select-im-file.text=\r\n+speclibgen.keep-intermediate-files=false\r\n+speclibgen.run-speclibgen=false\r\n+tab-run.delete_calibrated_mzml=false\r\n+tab-run.delete_temp_files=false\r\n+tab-run.sub_mzml_prob_threshold=0.5\r\n+tab-run.write_sub_mzml=false\r\n+tmtintegrator.add_Ref=1\r\n+tmtintegrator.aggregation_method=0\r\n+tmtintegrator.allow_overlabel=true\r\n+tmtintegrator.allow_unlabeled=false\r\n+tmtintegrator.best_psm=true\r\n+tmtintegrator.channel_num=TMT-10\r\n+tmtintegrator.dont-run-fq-lq=false\r\n+tmtintegrator.glyco_qval=-1\r\n+tmtintegrator.groupby=0\r\n+tmtintegrator.log2transformed=true\r\n+tmtintegrator.max_pep_prob_thres=0.9\r\n+tmtintegrator.min_ntt=0\r\n+tmtintegrator.min_pep_prob=0.9\r\n+tmtintegrator.min_percent=0.05\r\n+tmtintegrator.min_purity=0.5\r\n+tmtintegrator.min_site_prob=-1\r\n+tmtintegrator.mod_tag=none\r\n+tmtintegrator.ms1_int=true\r\n+tmtintegrator.outlier_removal=true\r\n+tmtintegrator.print_RefInt=false\r\n+tmtintegrator.prot_exclude=none\r\n+tmtintegrator.prot_norm=1\r\n+tmtintegrator.psm_norm=false\r\n+tmtintegrator.quant_level=2\r\n+tmtintegrator.ref_tag=Bridge\r\n+tmtintegrator.run-tmtintegrator=true\r\n+tmtintegrator.tolerance=20\r\n+tmtintegrator.top3_pep=true\r\n+tmtintegrator.unique_gene=0\r\n+tmtintegrator.unique_pep=false\r\n+tmtintegrator.use_glycan_composition=false\r\n+workflow.description=<p style\\="margin-top\\: 0">Basic TMT 10-plex workflow, with identification and quantification from high mass accuracy MS2. Met oxidation, protein N-term Acetyl, n-term TMT, and TMT on S ("overlabeling") are specified as variable modifications. TMT-Integrator with virtual reference approach, median-centering normalization, data summarization at the gene level. If a reference/bridge sample is available, specify the corresponding channel/sample name tag in the annotation file(s) and in TMT-Integrator tab.</p>\r\n+workflow.input.data-type.im-ms=false\r\n+workflow.input.data-type.regular-ms=true\r\n+workflow.saved-with-ver=20.0-build5\r\n'
b
diff -r 000000000000 -r 14785481da2b workflows/TMT11.workflow
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/workflows/TMT11.workflow Wed Jul 10 06:15:00 2024 +0000
b
b'@@ -0,0 +1,312 @@\n+# Workflow: TMT11\r\n+\r\n+crystalc.run-crystalc=false\r\n+database.decoy-tag=rev_\r\n+diann.fragpipe.cmd-opts=\r\n+diann.heavy=\r\n+diann.library=\r\n+diann.light=\r\n+diann.medium=\r\n+diann.q-value=0.01\r\n+diann.quantification-strategy=3\r\n+diann.run-dia-nn=false\r\n+diann.run-dia-plex=false\r\n+diann.run-specific-protein-q-value=false\r\n+diann.unrelated-runs=false\r\n+diann.use-predicted-spectra=true\r\n+diaumpire.AdjustFragIntensity=true\r\n+diaumpire.BoostComplementaryIon=false\r\n+diaumpire.CorrThreshold=0\r\n+diaumpire.DeltaApex=0.2\r\n+diaumpire.ExportPrecursorPeak=false\r\n+diaumpire.Q1=true\r\n+diaumpire.Q2=true\r\n+diaumpire.Q3=true\r\n+diaumpire.RFmax=500\r\n+diaumpire.RPmax=25\r\n+diaumpire.RTOverlap=0.3\r\n+diaumpire.SE.EstimateBG=false\r\n+diaumpire.SE.IsoPattern=0.3\r\n+diaumpire.SE.MS1PPM=10\r\n+diaumpire.SE.MS2PPM=20\r\n+diaumpire.SE.MS2SN=1.1\r\n+diaumpire.SE.MassDefectFilter=true\r\n+diaumpire.SE.MassDefectOffset=0.1\r\n+diaumpire.SE.NoMissedScan=1\r\n+diaumpire.SE.SN=1.1\r\n+diaumpire.run-diaumpire=false\r\n+freequant.mz-tol=10\r\n+freequant.rt-tol=0.4\r\n+freequant.run-freequant=false\r\n+ionquant.excludemods=\r\n+ionquant.heavy=\r\n+ionquant.imtol=0.05\r\n+ionquant.ionfdr=0.01\r\n+ionquant.light=\r\n+ionquant.locprob=0.75\r\n+ionquant.maxlfq=1\r\n+ionquant.mbr=0\r\n+ionquant.mbrimtol=0.05\r\n+ionquant.mbrmincorr=0\r\n+ionquant.mbrrttol=1\r\n+ionquant.mbrtoprun=10\r\n+ionquant.medium=\r\n+ionquant.minfreq=0\r\n+ionquant.minions=2\r\n+ionquant.minisotopes=2\r\n+ionquant.minscans=3\r\n+ionquant.mztol=10\r\n+ionquant.normalization=1\r\n+ionquant.peptidefdr=1\r\n+ionquant.proteinfdr=1\r\n+ionquant.requantify=1\r\n+ionquant.rttol=0.4\r\n+ionquant.run-ionquant=true\r\n+ionquant.tp=0\r\n+ionquant.uniqueness=0\r\n+ionquant.use-labeling=false\r\n+ionquant.use-lfq=true\r\n+ionquant.writeindex=0\r\n+msbooster.predict-rt=true\r\n+msbooster.predict-spectra=true\r\n+msbooster.run-msbooster=true\r\n+msbooster.use-correlated-features=false\r\n+msfragger.Y_type_masses=\r\n+msfragger.activation_types=all\r\n+msfragger.add_topN_complementary=0\r\n+msfragger.allowed_missed_cleavage_1=2\r\n+msfragger.allowed_missed_cleavage_2=2\r\n+msfragger.calibrate_mass=2\r\n+msfragger.check_spectral_files=true\r\n+msfragger.clip_nTerm_M=true\r\n+msfragger.deisotope=1\r\n+msfragger.delta_mass_exclude_ranges=(-1.5,3.5)\r\n+msfragger.deneutralloss=1\r\n+msfragger.diagnostic_fragments=\r\n+msfragger.diagnostic_intensity_filter=0\r\n+msfragger.digest_max_length=50\r\n+msfragger.digest_min_length=7\r\n+msfragger.fragment_ion_series=b,y\r\n+msfragger.fragment_mass_tolerance=20\r\n+msfragger.fragment_mass_units=1\r\n+msfragger.group_variable=0\r\n+msfragger.intensity_transform=0\r\n+msfragger.ion_series_definitions=\r\n+msfragger.isotope_error=-1/0/1/2/3\r\n+msfragger.labile_search_mode=off\r\n+msfragger.localize_delta_mass=false\r\n+msfragger.mass_diff_to_variable_mod=0\r\n+msfragger.mass_offsets=0\r\n+msfragger.max_fragment_charge=2\r\n+msfragger.max_variable_mods_combinations=5000\r\n+msfragger.max_variable_mods_per_peptide=3\r\n+msfragger.min_fragments_modelling=2\r\n+msfragger.min_matched_fragments=4\r\n+msfragger.min_sequence_matches=2\r\n+msfragger.minimum_peaks=15\r\n+msfragger.minimum_ratio=0.01\r\n+msfragger.misc.fragger.clear-mz-hi=131.5\r\n+msfragger.misc.fragger.clear-mz-lo=125.5\r\n+msfragger.misc.fragger.digest-mass-hi=5000\r\n+msfragger.misc.fragger.digest-mass-lo=200\r\n+msfragger.misc.fragger.enzyme-dropdown-1=stricttrypsin\r\n+msfragger.misc.fragger.enzyme-dropdown-2=null\r\n+msfragger.misc.fragger.precursor-charge-hi=4\r\n+msfragger.misc.fragger.precursor-charge-lo=1\r\n+msfragger.misc.fragger.remove-precursor-range-hi=1.5\r\n+msfragger.misc.fragger.remove-precursor-range-lo=-1.5\r\n+msfragger.misc.slice-db=1\r\n+msfragger.num_enzyme_termini=2\r\n+msfragger.output_format=pepXML_pin\r\n+msfragger.output_max_expect=50\r\n+msfragger.output_report_topN=1\r\n+msfragger.output_report_topN_dia1=5\r\n+msfragger.output_report_topN_dia2=3\r\n+msfragger.override_charge=false\r\n+msfragger.precursor_mass_lower=-20\r\n+msfragger.precursor_mass_mode=selected\r\n+msfragger.precursor_mass_units=1\r\n+msfragger.precursor_mass_upper=20\r\n+msfragger.precursor_true_tolerance'..b'_min=-1\r\n+ptmshepherd.glyco_mode=false\r\n+ptmshepherd.glyco_ppm_tol=50\r\n+ptmshepherd.glycodatabase=\r\n+ptmshepherd.histo_smoothbins=2\r\n+ptmshepherd.iontype_a=false\r\n+ptmshepherd.iontype_b=true\r\n+ptmshepherd.iontype_c=false\r\n+ptmshepherd.iontype_x=false\r\n+ptmshepherd.iontype_y=true\r\n+ptmshepherd.iontype_z=false\r\n+ptmshepherd.localization_allowed_res=\r\n+ptmshepherd.localization_background=4\r\n+ptmshepherd.max_adducts=0\r\n+ptmshepherd.n_glyco=true\r\n+ptmshepherd.normalization-psms=true\r\n+ptmshepherd.normalization-scans=false\r\n+ptmshepherd.output_extended=false\r\n+ptmshepherd.peakpicking_mass_units=0\r\n+ptmshepherd.peakpicking_minPsm=10\r\n+ptmshepherd.peakpicking_promRatio=0.3\r\n+ptmshepherd.peakpicking_width=0.002\r\n+ptmshepherd.precursor_mass_units=0\r\n+ptmshepherd.precursor_tol=0.01\r\n+ptmshepherd.print_decoys=false\r\n+ptmshepherd.prob_dhexOx=2,0.5,0.1\r\n+ptmshepherd.prob_dhexY=2,0.5\r\n+ptmshepherd.prob_neuacOx=2,0.05,0.2\r\n+ptmshepherd.prob_neugcOx=2,0.05,0.2\r\n+ptmshepherd.prob_phosphoOx=2,0.05,0.2\r\n+ptmshepherd.prob_regY=5,0.5\r\n+ptmshepherd.prob_sulfoOx=2,0.05,0.2\r\n+ptmshepherd.remainder_masses=\r\n+ptmshepherd.remove_glycan_delta_mass=true\r\n+ptmshepherd.run-shepherd=false\r\n+ptmshepherd.spectra_maxfragcharge=2\r\n+ptmshepherd.spectra_ppmtol=20\r\n+ptmshepherd.varmod_masses=\r\n+quantitation.run-label-free-quant=false\r\n+run-psm-validation=true\r\n+run-validation-tab=true\r\n+saintexpress.fragpipe.cmd-opts=\r\n+saintexpress.max-replicates=3\r\n+saintexpress.run-saint-express=true\r\n+saintexpress.virtual-controls=100\r\n+speclibgen.easypqp.extras.max_delta_ppm=15\r\n+speclibgen.easypqp.extras.max_delta_unimod=0.02\r\n+speclibgen.easypqp.extras.rt_lowess_fraction=0\r\n+speclibgen.easypqp.fragment.a=false\r\n+speclibgen.easypqp.fragment.b=true\r\n+speclibgen.easypqp.fragment.c=false\r\n+speclibgen.easypqp.fragment.x=false\r\n+speclibgen.easypqp.fragment.y=true\r\n+speclibgen.easypqp.fragment.z=false\r\n+speclibgen.easypqp.im-cal=Automatic selection of a run as reference IM\r\n+speclibgen.easypqp.neutral_loss=false\r\n+speclibgen.easypqp.rt-cal=noiRT\r\n+speclibgen.easypqp.select-file.text=\r\n+speclibgen.easypqp.select-im-file.text=\r\n+speclibgen.keep-intermediate-files=false\r\n+speclibgen.run-speclibgen=false\r\n+tab-run.delete_calibrated_mzml=false\r\n+tab-run.delete_temp_files=false\r\n+tab-run.sub_mzml_prob_threshold=0.5\r\n+tab-run.write_sub_mzml=false\r\n+tmtintegrator.add_Ref=1\r\n+tmtintegrator.aggregation_method=0\r\n+tmtintegrator.allow_overlabel=true\r\n+tmtintegrator.allow_unlabeled=false\r\n+tmtintegrator.best_psm=true\r\n+tmtintegrator.channel_num=TMT-11\r\n+tmtintegrator.dont-run-fq-lq=false\r\n+tmtintegrator.glyco_qval=-1\r\n+tmtintegrator.groupby=0\r\n+tmtintegrator.log2transformed=true\r\n+tmtintegrator.max_pep_prob_thres=0.9\r\n+tmtintegrator.min_ntt=0\r\n+tmtintegrator.min_pep_prob=0.9\r\n+tmtintegrator.min_percent=0.05\r\n+tmtintegrator.min_purity=0.5\r\n+tmtintegrator.min_site_prob=-1\r\n+tmtintegrator.mod_tag=none\r\n+tmtintegrator.ms1_int=true\r\n+tmtintegrator.outlier_removal=true\r\n+tmtintegrator.print_RefInt=false\r\n+tmtintegrator.prot_exclude=none\r\n+tmtintegrator.prot_norm=1\r\n+tmtintegrator.psm_norm=false\r\n+tmtintegrator.quant_level=2\r\n+tmtintegrator.ref_tag=Bridge\r\n+tmtintegrator.run-tmtintegrator=true\r\n+tmtintegrator.tolerance=20\r\n+tmtintegrator.top3_pep=true\r\n+tmtintegrator.unique_gene=0\r\n+tmtintegrator.unique_pep=false\r\n+tmtintegrator.use_glycan_composition=false\r\n+workflow.description=<p style\\="margin-top\\: 0">Basic TMT 11-plex workflow, with identification and quantification from high mass accuracy MS2. Met oxidation, protein N-term Acetyl, n-term TMT, and TMT on S ("overlabeling") are specified as variable modifications. TMT-Integrator with virtual reference approach, median-centering normalization, data summarization at the gene level. If a reference/bridge sample is available, specify the corresponding channel/sample name tag in the annotation file(s) and in TMT-Integrator tab.</p>\r\n+workflow.input.data-type.im-ms=false\r\n+workflow.input.data-type.regular-ms=true\r\n+workflow.saved-with-ver=20.0-build5\r\n'