changeset 7:d253b379322b draft

"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/maxquant commit f63ff6d5d0c44012a17e87293811765951655bd5"
author galaxyp
date Mon, 01 Jun 2020 11:51:25 -0400
parents 2133b0be850a
children ea0a1d50c83f
files maxquant.xml mqparam.py test-data/01/config.yml test-data/01/mqpar.xml test-data/02/config.yml test-data/02/mqpar.xml test-data/03/config.yml test-data/03/mqpar.xml test-data/04/config.yml test-data/04/mqpar.xml
diffstat 10 files changed, 99 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/maxquant.xml	Wed May 06 13:35:51 2020 -0400
+++ b/maxquant.xml	Mon Jun 01 11:51:25 2020 -0400
@@ -1,4 +1,4 @@
-<tool id="maxquant" name="MaxQuant" version="@VERSION@+galaxy1">
+<tool id="maxquant" name="MaxQuant" version="@VERSION@+galaxy2">
     <macros>
         <xml name="output" token_format="tabular" token_label="default description" token_name="default">
             <data format="@FORMAT@" label="@LABEL@ for ${on_string}" name="@NAME@">
@@ -91,6 +91,11 @@
             advancedSiteIntensities: ${protein_quant.lfq_opts.advancedSiteIntensities}
             matchBetweenRuns: ${search_opts.match_between_runs}
             includeContaminants: ${search_opts.incl_contaminants}
+            minPeptideLengthForUnspecificSearch: ${search_opts.min_pep_length}
+            maxPeptideLengthForUnspecificSearch: ${search_opts.max_pep_length}
+            decoyMode: ${search_opts.decoy_mode}
+            peptideFdr: ${search_opts.psm_fdr}
+            proteinFdr: ${search_opts.protein_fdr}
             quantMode: ${protein_quant.peptides_for_quantification}
             restrictProteinQuantification: ${protein_quant.only_unmod_prot.unmod_prot}
             #if $protein_quant.only_unmod_prot.unmod_prot == 'True':
@@ -151,10 +156,14 @@
                 #if $pg.quant_method.select_quant_method == 'reporter_ion_ms2':
                 lcmsRunType: 'Reporter ion MS2'
                 reporterMassTolerance: 0.003
-                reporterPif: ${pg.quant_method.reporter_pif}
+                #if $pg.quant_method.filter_by_pif.filter_pif == 'True':
+                reporterPif: ${pg.quant_method.filter_by_pif.reporter_pif}
+                #else:
+                reporterPif: 0
+                #end if
                 reporterFraction: 0
                 reporterBasePeakRatio: 0
-                filterPif: ${pg.quant_method.filter_pif}
+                filterPif: ${pg.quant_method.filter_by_pif.filter_pif}
                 isobaricLabels:
                   #if $pg.quant_method.iso_labels.labeling == 'custom':
                     #for $l in $pg.quant_method.iso_labels.iso_label:
@@ -275,7 +284,20 @@
                    label="Include contaminants"
                    truevalue="True" falsevalue="False"
                    help="‘Yes’ means that proteins from a contaminant list are automatically added to the list of proteins for in silico digestion (in the fasta file)"/>
-
+            <param name="decoy_mode" type="select"
+                   label="Decoy mode"
+                   help="The decoy sequences can be generated by reversing or randomizing the original protein sequences. Reversing is recommended.">
+                <option value="revert" selected="true">Revert</option>
+                <option value="randomize">Randomize</option>
+            </param>
+            <param name="psm_fdr" type="float" label="PSM FDR" min="0" value="0.01"
+                   help="Specify the desired false discovery rate (FDR) at the peptide spectrum match (PSM) level. It is determined by the target-decoy approach. A value of 0.01 stands for 1% FDR."/>
+            <param name="protein_fdr" type="float" label="Protein FDR" min="0" value="0.01"
+                   help="Specify the desired false discovery rate (FDR) at the protein level. It is determined by the target-decoy approach. A value of 0.01 stands for 1% FDR."/>
+            <param name="min_pep_length" type="integer" label="Minimum peptide length for unspecific searches" min="1" value="8"
+                   help="During unspecific searches peptides that have fewer amino acids than this value will be discarded. This applies also to semi-specific (e.g. semi tryptic) searches"/>
+            <param name="max_pep_length" type="integer" label="Maximum peptide length for unspecific searches" min="1" value="25"
+                   help="During unspecific searches peptides that have more amino acids than this value will be discarded. This applies also to semi-specific (e.g. semi tryptic) searches"/>
         </section>
 
         <section name="protein_quant" title="Protein quantification" expanded="true">
@@ -298,6 +320,8 @@
                     <param name="mods_used_prot_quant" type="select" multiple="true"
                            label="Modifications used in protein quantification"
                            help="Peptides containing only these modifications will be used for the quantification of proteins in addition to unmodified peptides. This includes ratio and intensity calculations including iBAQ">
+                        <expand macro="default_mod_option" value="Oxidation (M)"/>
+                        <expand macro="default_mod_option" value="Acetyl (Protein N-term)"/>
                         <expand macro="modification"/>
                     </param>
                     <!-- note: the following default is different to the mquant default -->
@@ -460,11 +484,17 @@
                             </repeat>
                         </when>
                     </conditional>
-                    <param name="filter_pif" type="boolean" checked="false" label="Filter by PIF"
-                           truevalue="True" falsevalue="False"
-                           help="If checked, quantified PSMs will be filtered by their precursor intensity fraction to avoid using peptides that clearly suffer from co-fragmentation with other peptide species."/>
-                    <param name="reporter_pif" type="float" label="Minimum reporter PIF" value="0.75" min="0" max="1"
-                           help="MS/MS spectra with a lower value for the PIF will be discarded for isobaric label quantification."/>
+                    <conditional name="filter_by_pif">
+                        <param name="filter_pif" type="boolean" checked="false" label="Filter by PIF"
+                               truevalue="True" falsevalue="False"
+                               help="If checked, quantified PSMs will be filtered by their precursor intensity fraction to avoid using peptides that clearly suffer from co-fragmentation with other peptide species."/>
+                        <when value="True">
+                            <param name="reporter_pif" type="float" label="Minimum reporter PIF" value="0.75" min="0"
+                                   max="1"
+                                   help="MS/MS spectra with a lower value for the PIF will be discarded for isobaric label quantification."/>
+                        </when>
+                        <when value="False"></when>
+                    </conditional>
                 </when>
             </conditional>
         </repeat>
@@ -540,6 +570,11 @@
             <param name="identifier_parse_rule" value="&gt;([^\s]*)" />
             <param name="description_parse_rule" value="&gt;(.*)" />
             <param name="incl_contaminants" value="False" /> <!-- non-default value -->
+            <param name="min_pep_length" value="7" /> <!-- non-default value -->
+            <param name="max_pep_length" value="24" /> <!-- non-default value -->
+            <param name="decoy_mode" value="randomize" /> <!-- non-default value -->
+            <param name="psm_fdr" value="0.5" /> <!-- non-default value -->
+            <param name="protein_fdr" value="0.4" /> <!-- non-default value -->
             <section name="protein_quant">
                 <param name="peptides_for_quantification" value="0"/><!-- non-default value -->
                 <conditional name="only_unmod_prot">
@@ -568,8 +603,11 @@
                             <param name="tmtlike" value="True" />
                         </repeat>
                     </conditional>
-                    <param name="filter_pif" value="False" />
-                    <param name="reporter_pif" value="0.6" />
+                    <conditional name="filter_by_pif">
+                        <param name="filter_pif" value="False"/>
+                        <param name="reporter_pif"
+                               value="0.6"/> <!-- as filter_pif is False this value will be ignored and 0 used instead -->
+                    </conditional>
                 </conditional>
             </repeat>
             <repeat name="paramGroups">
@@ -578,12 +616,14 @@
                 <param name="fixedModifications" value="" />
                 <param name="enzymes" value="" />
                 <conditional name="quant_method">
-                    <param name="select_quant_method" value="reporter_ion_ms2" />
+                    <param name="select_quant_method" value="reporter_ion_ms2"/>
                     <conditional name="iso_labels">
-                        <param name="labeling" value="itraq4plex" />
+                        <param name="labeling" value="itraq4plex"/>
                     </conditional>
-                    <param name="filter_pif" value="True" />
-                    <param name="reporter_pif" value="0.8" />
+                    <conditional name="filter_by_pif">
+                        <param name="filter_pif" value="True"/>
+                        <param name="reporter_pif" value="0.8"/> <!-- as filter_pif is True this value is used -->
+                    </conditional>
                 </conditional>
             </repeat>
             <param name="dry_run" value="True" />
--- a/mqparam.py	Wed May 06 13:35:51 2020 -0400
+++ b/mqparam.py	Mon Jun 01 11:51:25 2020 -0400
@@ -343,8 +343,8 @@
                 self[i].set_silac(*silac)
             isobaricLabels = pg.pop('isobaricLabels', False)
             if isobaricLabels:
-                for l in isobaricLabels:
-                    self[i].set_isobaric_label(*l)
+                for ibl in isobaricLabels:
+                    self[i].set_isobaric_label(*ibl)
             for el in ['fixedModifications', 'variableModifications', 'enzymes']:
                 lst = pg.pop(el, None)
                 if lst is not None:
--- a/test-data/01/config.yml	Wed May 06 13:35:51 2020 -0400
+++ b/test-data/01/config.yml	Mon Jun 01 11:51:25 2020 -0400
@@ -14,9 +14,14 @@
             advancedSiteIntensities: True
             matchBetweenRuns: False
             includeContaminants: True
+            minPeptideLengthForUnspecificSearch: 8
+            maxPeptideLengthForUnspecificSearch: 25
+            decoyMode: revert
+            peptideFdr: 0.01
+            proteinFdr: 0.01
             quantMode: 1
             restrictProteinQuantification: True
-            restrictMods: []
+            restrictMods: [Oxidation (M),Acetyl (Protein N-term)]
             useCounterparts: True
             paramGroups:
               - files: ['BSA_min_23.mzXML']
--- a/test-data/01/mqpar.xml	Wed May 06 13:35:51 2020 -0400
+++ b/test-data/01/mqpar.xml	Mon Jun 01 11:51:25 2020 -0400
@@ -83,7 +83,10 @@
 	<customProteinQuantificationFile/>
 	<minRatioCount>2</minRatioCount>
 	<restrictProteinQuantification>True</restrictProteinQuantification>
-	<restrictMods/>
+	<restrictMods>
+		<string>Oxidation (M)</string>
+		<string>Acetyl (Protein N-term)</string>
+	</restrictMods>
 	<matchingTimeWindow>0</matchingTimeWindow>
 	<matchingIonMobilityWindow>0</matchingIonMobilityWindow>
 	<alignmentTimeWindow>0</alignmentTimeWindow>
--- a/test-data/02/config.yml	Wed May 06 13:35:51 2020 -0400
+++ b/test-data/02/config.yml	Mon Jun 01 11:51:25 2020 -0400
@@ -14,6 +14,11 @@
             advancedSiteIntensities: True
             matchBetweenRuns: False
             includeContaminants: False
+            minPeptideLengthForUnspecificSearch: 7
+            maxPeptideLengthForUnspecificSearch: 24
+            decoyMode: randomize
+            peptideFdr: 0.5
+            proteinFdr: 0.4
             quantMode: 0
             restrictProteinQuantification: True
             restrictMods: [Pro5,Pro6]
@@ -27,7 +32,7 @@
                 enzymeMode: 0
                 lcmsRunType: 'Reporter ion MS2'
                 reporterMassTolerance: 0.003
-                reporterPif: 0.6
+                reporterPif: 0
                 reporterFraction: 0
                 reporterBasePeakRatio: 0
                 filterPif: False
--- a/test-data/02/mqpar.xml	Wed May 06 13:35:51 2020 -0400
+++ b/test-data/02/mqpar.xml	Mon Jun 01 11:51:25 2020 -0400
@@ -25,7 +25,7 @@
 	<separateLfq>False</separateLfq>
 	<lfqStabilizeLargeRatios>True</lfqStabilizeLargeRatios>
 	<lfqRequireMsms>True</lfqRequireMsms>
-	<decoyMode>revert</decoyMode>
+	<decoyMode>randomize</decoyMode>
 	<boxCarMode>all</boxCarMode>
 	<includeContaminants>False</includeContaminants>
 	<maxPeptideMass>4600</maxPeptideMass>
@@ -68,11 +68,11 @@
    </intensityPredictionsFile>
 	<minPepLen>7</minPepLen>
 	<psmFdrCrosslink>0.01</psmFdrCrosslink>
-	<peptideFdr>0.01</peptideFdr>
-	<proteinFdr>0.01</proteinFdr>
+	<peptideFdr>0.5</peptideFdr>
+	<proteinFdr>0.4</proteinFdr>
 	<siteFdr>0.01</siteFdr>
-	<minPeptideLengthForUnspecificSearch>8</minPeptideLengthForUnspecificSearch>
-	<maxPeptideLengthForUnspecificSearch>25</maxPeptideLengthForUnspecificSearch>
+	<minPeptideLengthForUnspecificSearch>7</minPeptideLengthForUnspecificSearch>
+	<maxPeptideLengthForUnspecificSearch>24</maxPeptideLengthForUnspecificSearch>
 	<useNormRatiosForOccupancy>True</useNormRatiosForOccupancy>
 	<minPeptides>1</minPeptides>
 	<minRazorPeptides>1</minRazorPeptides>
@@ -267,7 +267,7 @@
 			<matchLibraryTimeTolMin>0</matchLibraryTimeTolMin>
 			<matchLabelTimeTolMin>0</matchLabelTimeTolMin>
 			<reporterMassTolerance>0.003</reporterMassTolerance>
-			<reporterPif>0.6</reporterPif>
+			<reporterPif>0</reporterPif>
 			<filterPif>False</filterPif>
 			<reporterFraction>0</reporterFraction>
 			<reporterBasePeakRatio>0</reporterBasePeakRatio>
--- a/test-data/03/config.yml	Wed May 06 13:35:51 2020 -0400
+++ b/test-data/03/config.yml	Mon Jun 01 11:51:25 2020 -0400
@@ -16,9 +16,14 @@
             advancedSiteIntensities: True
             matchBetweenRuns: False
             includeContaminants: True
+            minPeptideLengthForUnspecificSearch: 8
+            maxPeptideLengthForUnspecificSearch: 25
+            decoyMode: revert
+            peptideFdr: 0.01
+            proteinFdr: 0.01
             quantMode: 1
             restrictProteinQuantification: True
-            restrictMods: []
+            restrictMods: [Oxidation (M),Acetyl (Protein N-term)]
             useCounterparts: True
             paramGroups:
               - files: ['BSA_min_22.mzxml']
--- a/test-data/03/mqpar.xml	Wed May 06 13:35:51 2020 -0400
+++ b/test-data/03/mqpar.xml	Mon Jun 01 11:51:25 2020 -0400
@@ -83,7 +83,10 @@
 	<customProteinQuantificationFile/>
 	<minRatioCount>2</minRatioCount>
 	<restrictProteinQuantification>True</restrictProteinQuantification>
-	<restrictMods/>
+	<restrictMods>
+		<string>Oxidation (M)</string>
+		<string>Acetyl (Protein N-term)</string>
+	</restrictMods>
 	<matchingTimeWindow>0</matchingTimeWindow>
 	<matchingIonMobilityWindow>0</matchingIonMobilityWindow>
 	<alignmentTimeWindow>0</alignmentTimeWindow>
--- a/test-data/04/config.yml	Wed May 06 13:35:51 2020 -0400
+++ b/test-data/04/config.yml	Mon Jun 01 11:51:25 2020 -0400
@@ -14,9 +14,14 @@
             advancedSiteIntensities: True
             matchBetweenRuns: False
             includeContaminants: True
+            minPeptideLengthForUnspecificSearch: 8
+            maxPeptideLengthForUnspecificSearch: 25
+            decoyMode: revert
+            peptideFdr: 0.01
+            proteinFdr: 0.01
             quantMode: 1
             restrictProteinQuantification: True
-            restrictMods: []
+            restrictMods: [Oxidation (M),Acetyl (Protein N-term)]
             useCounterparts: True
             paramGroups:
               - files: ['BSA_min_23.mzXML', 'BSA_min_22.mzxml']
--- a/test-data/04/mqpar.xml	Wed May 06 13:35:51 2020 -0400
+++ b/test-data/04/mqpar.xml	Mon Jun 01 11:51:25 2020 -0400
@@ -83,7 +83,10 @@
 	<customProteinQuantificationFile/>
 	<minRatioCount>2</minRatioCount>
 	<restrictProteinQuantification>True</restrictProteinQuantification>
-	<restrictMods/>
+	<restrictMods>
+		<string>Oxidation (M)</string>
+		<string>Acetyl (Protein N-term)</string>
+	</restrictMods>
 	<matchingTimeWindow>0</matchingTimeWindow>
 	<matchingIonMobilityWindow>0</matchingIonMobilityWindow>
 	<alignmentTimeWindow>0</alignmentTimeWindow>