diff msfragger_macros.xml @ 7:b4f6df8fa89b draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/fragpipe commit 9d8b2338a6a513124bc58223637ee4c5813e0bb4
author galaxyp
date Wed, 01 Oct 2025 22:20:54 +0000
parents 59fec1e2a6c3
children
line wrap: on
line diff
--- a/msfragger_macros.xml	Sun Mar 30 23:00:45 2025 +0000
+++ b/msfragger_macros.xml	Wed Oct 01 22:20:54 2025 +0000
@@ -38,7 +38,7 @@
     <xml name="msfragger_default">
         <expand macro="search_tolerances"/>
         <expand macro="digestion"/>
-        <expand macro="variable_modification"/>
+        <expand macro="variable_modification" mod_3="true"/>
         <expand macro="static_modification"/>
         <expand macro="glyco_labile"/>
         <expand macro="mass_offsets"/>
@@ -50,7 +50,7 @@
     <xml name="msfragger_open">
         <expand macro="search_tolerances"/>
         <expand macro="digestion"/>
-        <expand macro="variable_modification"/>
+        <expand macro="variable_modification" mod_3="true"/>
         <expand macro="static_modification"/>
         <expand macro="glyco_labile"/>
         <expand macro="mass_offsets"/>
@@ -62,8 +62,8 @@
     <xml name="msfragger_nonspecific_HLA">
         <expand macro="search_tolerances" precursor_mass_lower="-20" precursor_mass_upper="20"/>
         <expand macro="digestion" stricttrypsin="false" nonspecific="true" digest_max_length="25" termini_0="true" termini_2="false" digest_mass_range_min="200.0"/>
-        <expand macro="variable_modification"/>
-        <expand macro="static_modification"/>
+        <expand macro="variable_modification" mod_2="true" mod_group_hla="true"/>
+        <expand macro="static_modification" check_cysteine="false"/>
         <expand macro="glyco_labile"/>
         <expand macro="mass_offsets"/>
         <expand macro="spectrum_processing" transform_none="false" transform_sqrt="true"/>
@@ -74,7 +74,7 @@
     <xml name="msfragger_LFQ_MBR">
         <expand macro="search_tolerances"/>
         <expand macro="digestion"/>
-        <expand macro="variable_modification"/>
+        <expand macro="variable_modification" mod_3="true"/>
         <expand macro="static_modification"/>
         <expand macro="glyco_labile"/>
         <expand macro="mass_offsets"/>
@@ -86,11 +86,23 @@
     <xml name="msfragger_TMT">
         <expand macro="search_tolerances"/>
         <expand macro="digestion" digest_mass_range_min="200.0"/>
-        <expand macro="variable_modification"/>
+        <expand macro="variable_modification" mod_3="true" mod_group_tmt="true"/>
+        <expand macro="static_modification" lysine_value="229.16293"/>
+        <expand macro="glyco_labile"/>
+        <expand macro="mass_offsets"/>
+        <expand macro="spectrum_processing" clear_mz_range_min="125.5" clear_mz_range_max="131.5"/>
+        <expand macro="open_search_options"/>
+        <expand macro="modeling_output"/>
+        <expand macro="advanced_options"/>
+    </xml>
+    <xml name="msfragger_dia_speclib_quant">
+        <expand macro="search_tolerances"/>
+        <expand macro="digestion" allowed_missed_cleavage_1="1" allowed_missed_cleavage_2="1"/>
+        <expand macro="variable_modification" mod_1="true"/>
         <expand macro="static_modification"/>
         <expand macro="glyco_labile"/>
         <expand macro="mass_offsets"/>
-        <expand macro="spectrum_processing" clear_mz_range_min="125.5" clear_mz_range_max="131.5"/>
+        <expand macro="spectrum_processing" check_spectral_files="false"/>
         <expand macro="open_search_options"/>
         <expand macro="modeling_output"/>
         <expand macro="advanced_options"/>
@@ -223,12 +235,11 @@
             <param name="search_enzyme_name" type="text" value="@SEARCH_ENZYME_NAME@"
                 label="Digestion Enzyme" help="Name of enzyme to be written to the pepXML file."/>
             <param name="search_enzyme_cut" type="text" value="@CUT@"
-                label="Residues after which the enzyme cuts" help="search_enzyme_cutafter Residues after which the enzyme cuts Default: KR"/>
+                label="Residues after which the enzyme cuts" help="search_enzyme_cutafter Residues after which the enzyme cuts"/>
             <param name="search_enzyme_nocut" type="text" value="@NOCUT@"
-                label="Residues that the enzyme will not cut before" help="search_enzyme_butnotafter - (misnomer: should really be called butnotbefore) Default: P"/>
+                label="Residues that the enzyme will not cut before" help="search_enzyme_butnotafter - (misnomer: should really be called butnotbefore)"/>
     </xml>
-                              <!-- wagnerr here in final param review -->
-    <xml name="digest" token_stricttrypsin="true" token_nonspecific="false">
+    <xml name="digest" token_stricttrypsin="true" token_nonspecific="false" token_allowed_missed_cleavage="2">
             <conditional name="digest">
                 <param name="search_enzyme" type="select" label="Protein Digestion Enzyme">
                     <option value="trypsin">trypsin</option>
@@ -284,7 +295,7 @@
                     <expand macro="cleavage" search_enzyme_name="lysc-p" cut="K" nocut=""/>
                 </when>
                 <when value="nonspecific">
-                    <expand macro="cleavage" search_enzyme_name="nonspecific" cut="-" nocut=""/>
+                    <expand macro="cleavage" search_enzyme_name="nonspecific" cut="@" nocut=""/>
                  </when>
                 <when value="custom">
                     <expand macro="cleavage" search_enzyme_name="custom" cut="" nocut=""/>
@@ -305,17 +316,17 @@
                     <expand macro="cleavage" search_enzyme_name="trypsin_r" cut="R" nocut="P"/>
                 </when>
             </conditional>
-            <param name="allowed_missed_cleavage" type="integer" value="2" min="0" max="5" optional="true"
+            <param name="allowed_missed_cleavage" type="integer" value="@ALLOWED_MISSED_CLEAVAGE@" min="0" max="5" optional="true"
                 label="Allowed number of missed cleavages"/>
-            <param name="search_enzyme_sense" type="select" label="Protein Digestion Enzyme">
+            <param name="search_enzyme_sense" type="select" label="Search Enzyme Sense">
                 <option value="C">C</option>
                 <option value="N">N</option>
             </param>
     </xml>
 
-    <xml name="digestion" token_stricttrypsin="true" token_nonspecific="false" token_digest_max_length="50" token_termini_0="false" token_termini_1="false" token_termini_2="true" token_digest_mass_range_min="500.0" token_digest_mass_range_max="5000.0">
+    <xml name="digestion" token_stricttrypsin="true" token_nonspecific="false" token_digest_max_length="50" token_termini_0="false" token_termini_1="false" token_termini_2="true" token_digest_mass_range_min="500.0" token_digest_mass_range_max="5000.0" token_allowed_missed_cleavage_1="2" token_allowed_missed_cleavage_2="2">
         <section name="digestion" expanded="false" title="In-silico Digestion Parameters">
-            <expand macro="digest" stricttrypsin="@STRICTTRYPSIN@" nonspecific="@NONSPECIFIC@"/>
+            <expand macro="digest" stricttrypsin="@STRICTTRYPSIN@" nonspecific="@NONSPECIFIC@" allowed_missed_cleavage="@ALLOWED_MISSED_CLEAVAGE_1@"/>
             <conditional name="enzyme2">
                 <param name="digest2" type="select" label="Second Enzyme Digest">
                     <option value="no">No</option>
@@ -323,7 +334,7 @@
                 </param>
                 <when value="no"/>
                 <when value="yes">
-                    <expand macro="digest" stricttrypsin="false" nonspecific="false"/>
+                    <expand macro="digest" stricttrypsin="false" nonspecific="false" allowed_missed_cleavage="@ALLOWED_MISSED_CLEAVAGE_2@"/>
                 </when>
             </conditional>
             <param name="num_enzyme_termini" type="select" label="Number of enzyme termini">
@@ -346,7 +357,11 @@
         ##enzyme_1
         #set $msfragger_dict['search_enzyme_name_1'] = $prefix.digestion.digest.search_enzyme_name
         #set $msfragger_dict['misc.fragger.enzyme-dropdown-1'] = $prefix.digestion.digest.search_enzyme_name
-        #set $msfragger_dict['search_enzyme_cut_1'] = $prefix.digestion.digest.search_enzyme_cut
+        #if $prefix.digestion.search_enzyme_cut == '__at__'
+            #set $msfragger_dict['search_enzyme_cut_1'] = '@'
+        #else
+            #set $msfragger_dict['search_enzyme_cut_1'] = $prefix.digestion.digest.search_enzyme_cut
+        #end if
         #set $msfragger_dict['search_enzyme_nocut_1'] = $prefix.digestion.digest.search_enzyme_nocut
         #if $prefix.digestion.allowed_missed_cleavage != ''
             #set $msfragger_dict['allowed_missed_cleavage_1'] = $prefix.digestion.allowed_missed_cleavage
@@ -358,7 +373,11 @@
         #if $prefix.digestion.enzyme2.digest2 == 'yes'
             #set $msfragger_dict['search_enzyme_name_2'] = $prefix.digestion.enzyme2.digest.search_enzyme_name
             #set $msfragger_dict['misc.fragger.enzyme-dropdown-2'] = $prefix.digestion.enzyme2.digest.search_enzyme_name
-            #set $msfragger_dict['search_enzyme_cut_2'] = $prefix.digestion.enzyme2.digest.search_enzyme_cut
+            #if $prefix.digestion.enzyme2.digest.search_enzyme_cut == '__at__'
+                #set $msfragger_dict['search_enzyme_cut_2'] = '@'
+            #else
+                #set $msfragger_dict['search_enzyme_cut_2'] = $prefix.digestion.enzyme2.digest.search_enzyme_cut
+            #end if
             #set $msfragger_dict['search_enzyme_nocut_2'] = $prefix.digestion.enzyme2.digest.search_enzyme_nocut
             #if $prefix.digestion.enzyme2.allowed_missed_cleavage != ''
                 #set $msfragger_dict['allowed_missed_cleavage_2'] = $prefix.digestion.enzyme2.allowed_missed_cleavage
@@ -386,27 +405,26 @@
         #end if
     ]]></token>
 
-    <xml name="variable_modifications">
-        <option value="15.99491461956 M 3">Oxidation of M (15.99491461956) modaa</option>
-        <option value="42.0105646837 &#91;^ 1">Acetylation of peptide N-term (42.0105646837) modn_peptide</option>
-        <option value="79.96633052074999 STY 3">Phosphorylation of STY (79.96633052074999) modaa</option>
-        <option value="229.16293213472 n^ 1">TMT 10-plex of peptide N-term (229.16293213472) modn_peptide</option>
-        <option value="229.169252 n^ 1">TMT 11-plex of peptide N-term (229.169252) modn_peptide</option>
-        <option value="229.16293213472 S 1">TMT 10-plex of S (229.16293213472) modaa</option>
-        <option value="229.169252 S 1">TMT 11-plex of S (229.169252) modaa</option>
-        <option value="-18.0105646837 nE 1">Pyrolidone from E (-18.0105646837) modnaa_peptide</option>
-    </xml>
-
     <token name="@RE_FLOAT@">[+-]?\d+(\.\d*)?</token>
     <token name="@RE_AA@">([A-Z]+|(c[A-Z*])+|(n[\^A-Z*])+|\[\^|\])</token>
     <token name="@RE_MOD@">@RE_FLOAT@,@RE_AA@,\d</token>
     <token name="@RE_MODS@">@RE_MOD@(;\s*@RE_MOD@)*</token>
-    <xml name="variable_modification" token_max_variable_mods_per_peptide="3">
+    <xml name="variable_modification" token_max_variable_mods_per_peptide="3" token_mod_1="false" token_mod_2="false" token_mod_3="false" token_mod_4="true" token_mod_group_hla="false" token_mod_group_tmt="false">
         <section name="variable_modification" expanded="false" title="Variable Modifications">
             <param name="max_variable_mods_per_peptide" type="integer" value="@MAX_VARIABLE_MODS_PER_PEPTIDE@" min="0" max="5" optional="true"
                 label="Maximum total number of variable modifications per peptide"/>
             <param name="variable_mods_select" type="select" optional="true" multiple="true" label="Select Variable Modifications">
-                <expand macro="variable_modifications"/>
+                <option value="15.99491461956 M 1" selected="@MOD_1@">15.99491461956 M 1</option>
+                <option value="15.99491461956 M 2" selected="@MOD_2@">15.99491461956 M 2</option>
+                <option value="15.99491461956 M 3" selected="@MOD_3@">15.99491461956 M 3</option>
+                <option value="42.0105646837 ntermsite^ 1" selected="@MOD_4@">42.0105646837 [^ 1</option>
+                <option value="-17.0265 nQ 1" selected="@MOD_GROUP_HLA@">-17.0265 nQ 1</option>
+                <option value="-18.0106 nE 1" selected="@MOD_GROUP_HLA@">-18.0106 nE 1</option>
+                <option value="119.0041 C 1" selected="@MOD_GROUP_HLA@">119.0041 C 1</option>
+                <option value="79.96633052074999 STY 3">79.96633052074999 STY 3</option>
+                <option value="229.16293213472 n^ 1" selected="@MOD_GROUP_TMT@">229.16293213472 n^ 1</option>
+                <option value="229.16293213472 S 1" selected="@MOD_GROUP_TMT@">229.16293213472 S 1</option>
+                <option value="-18.0105646837 nE 1">-18.0105646837 nE 1</option>
             </param>
             <param name="variable_mods" type="text" area="True" size="120x7" value="" optional="true"
                 label="Enter Variable Modifications">
@@ -436,10 +454,6 @@
                 <option value="true">Yes</option>
                 <option value="false">No</option>
             </param>
-            <param name="allow_multiple_variable_mods_on_residue" type="select" optional="true" label="Allow each amino acid to be modified by multiple variable modifications">
-                <option value="true">Yes</option>
-                <option value="false">No</option>
-            </param>
 
             <param name="max_variable_mods_combinations" type="integer" value="5000" min="0" max="65534" optional="true"
                 label="Maximum allowed number of modified variably modified peptides from each peptide sequence"
@@ -464,184 +478,241 @@
         #if $prefix.variable_modification.clip_nTerm_M != 'None'
             #set $msfragger_dict['clip_nTerm_M'] = $prefix.variable_modification.clip_nTerm_M
         #end if
-        #if $prefix.variable_modification.allow_multiple_variable_mods_on_residue != 'None'
-            #set $msfragger_dict['allow_multiple_variable_mods_on_residue'] = $prefix.variable_modification.allow_multiple_variable_mods_on_residue
-        #end if
         #if $prefix.variable_modification.max_variable_mods_combinations != "None"
             #set $msfragger_dict['max_variable_mods_combinations'] = $prefix.variable_modification.max_variable_mods_combinations
         #end if
         #set $vmods = []
         #if $prefix.variable_modification.variable_mods_select != 'None'
-            #set $vmods = [x.replace(' ',',') for x in str($prefix.variable_modification.variable_mods_select).split(',')]
+            #set $vmods = [x.replace(' ',',').replace('ntermsite','[') for x in str($prefix.variable_modification.variable_mods_select).split(',')]
         #end if
         #if $prefix.variable_modification.variable_mods != ''
             #set $vmods += [x.strip() for x in str($prefix.variable_modification.variable_mods).split(';')]
         #end if
     ]]></token>
 
-    <xml name="static_modification">
+    <xml name="static_modification" token_check_cysteine="true" token_lysine_value="0.0">
         <section name="static_modification" expanded="false" title="Static Modifications">
-            <param name="add_Cterm_peptide" type="float" value="" optional="true"
-                label="Statically add mass in Da to C-terminal of peptide Default: 0.0" />
-            <param name="add_Nterm_peptide" type="float" value="" optional="true"
-                label="Statically add mass in Da to N-terminal of peptide Default: 0.0" />
-            <param name="add_Cterm_protein" type="float" value="" optional="true"
-                label="Statically add mass in Da to C-terminal of protein Default: 0.0" />
-            <param name="add_Nterm_protein" type="float" value="" optional="true"
-                label="Statically add mass in Da to N-terminal of protein Default: 0.0" />
-            <param name="add_A_alanine" type="float" value="" optional="true"
-                label="Statically add mass in Da to A (alanine) Default: 0.0" />
-            <param name="add_R_arginine" type="float" value="" optional="true"
-                label="Statically add mass in Da to R (arginine) Default: 0.0" />
-            <param name="add_N_asparagine" type="float" value="" optional="true"
-                label="Statically add mass in Da to N (asparagine) Default: 0.0" />
-            <param name="add_D_aspartic_acid" type="float" value="" optional="true"
-                label="Statically add mass in Da to D (aspartic_acid) Default: 0.0" />
-            <param name="add_C_cysteine" type="float" value="" optional="true"
-                label="Statically add mass in Da to C (cysteine) Default: 0.0" />
-            <param name="add_E_glutamic_acid" type="float" value="" optional="true"
-                label="Statically add mass in Da to E (glutamic_acid) Default: 0.0" />
-            <param name="add_Q_glutamine" type="float" value="" optional="true"
-                label="Statically add mass in Da to Q (glutamine) Default: 0.0" />
-            <param name="add_G_glycine" type="float" value="" optional="true"
-                label="Statically add mass in Da to G (glycine) Default: 0.0" />
-            <param name="add_H_histidine" type="float" value="" optional="true"
-                label="Statically add mass in Da to H (histidine) Default: 0.0" />
-            <param name="add_I_isoleucine" type="float" value="" optional="true"
-                label="Statically add mass in Da to I (isoleucine) Default: 0.0" />
-            <param name="add_L_leucine" type="float" value="" optional="true"
-                label="Statically add mass in Da to L (leucine) Default: 0.0" />
-            <param name="add_K_lysine" type="float" value="" optional="true"
-                label="Statically add mass in Da to K (lysine) Default: 0.0" />
-            <param name="add_M_methionine" type="float" value="" optional="true"
-                label="Statically add mass in Da to M (methionine) Default: 0.0" />
-            <param name="add_F_phenylalanine" type="float" value="" optional="true"
-                label="Statically add mass in Da to F (phenylalanine) Default: 0.0" />
-            <param name="add_P_proline" type="float" value="" optional="true"
-                label="Statically add mass in Da to P (proline) Default: 0.0" />
-            <param name="add_S_serine" type="float" value="" optional="true"
-                label="Statically add mass in Da to S (serine) Default: 0.0" />
-            <param name="add_T_threonine" type="float" value="" optional="true"
-                label="Statically add mass in Da to T (threonine) Default: 0.0" />
-            <param name="add_W_tryptophan" type="float" value="" optional="true"
-                label="Statically add mass in Da to W (tryptophan) Default: 0.0" />
-            <param name="add_Y_tyrosine" type="float" value="" optional="true"
-                label="Statically add mass in Da to Y (tyrosine) Default: 0.0" />
-            <param name="add_V_valine" type="float" value="" optional="true"
-                label="Statically add mass in Da to V (valine) Default: 0.0" />
-            <param name="add_B_user_amino_acid" type="float" value="" optional="true"
-                label="Statically add mass in Da to B (iuser_amino_acid) Default: 0.0" />
-            <param name="add_J_user_amino_acid" type="float" value="" optional="true"
-                label="Statically add mass in Da to J (iuser_amino_acid) Default: 0.0" />
-            <param name="add_O_user_amino_acid" type="float" value="" optional="true"
-                label="Statically add mass in Da to O (user_amino_acid) Default: 0.0" />
-            <param name="add_U_user_amino_acid" type="float" value="" optional="true"
-                label="Statically add mass in Da to U (iuser_amino_acid) Default: 0.0" />
-            <param name="add_X_user_amino_acid" type="float" value="" optional="true"
-                label="Statically add mass in Da to X (iuser_amino_acid) Default: 0.0" />
-            <param name="add_Z_user_amino_acid" type="float" value="" optional="true"
-                label="Statically add mass in Da to Z (iuser_amino_acid) Default: 0.0" />
+            <param name="add_Cterm_peptide_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to C-terminal of peptide"/>
+            <param name="add_Cterm_peptide" type="float" value="0.0"
+                label="Statically add mass in Da to C-terminal of peptide" />
+
+            <param name="add_Nterm_peptide_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to N-terminal of peptide"/>
+            <param name="add_Nterm_peptide" type="float" value="0.0"
+                label="Statically add mass in Da to N-terminal of peptide" />
+
+            <param name="add_Cterm_protein_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to C-terminal of protein"/>
+            <param name="add_Cterm_protein" type="float" value="0.0"
+                label="Statically add mass in Da to C-terminal of protein" />
+
+            <param name="add_Nterm_protein_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to N-terminal of protein"/>
+            <param name="add_Nterm_protein" type="float" value="0.0"
+                label="Statically add mass in Da to N-terminal of protein" />
+
+            <param name="add_A_alanine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to A (alanine)"/>
+            <param name="add_A_alanine" type="float" value="0.0"
+                label="Statically add mass in Da to A (alanine)" />
+
+            <param name="add_R_arginine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to R (arginine)"/>
+            <param name="add_R_arginine" type="float" value="0.0"
+                label="Statically add mass in Da to R (arginine)" />
+
+            <param name="add_N_asparagine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to N (asparagine)"/>
+            <param name="add_N_asparagine" type="float" value="0.0"
+                label="Statically add mass in Da to N (asparagine)" />
+
+            <param name="add_D_aspartic_acid_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to D (aspartic_acid)"/>
+            <param name="add_D_aspartic_acid" type="float" value="0.0"
+                label="Statically add mass in Da to D (aspartic_acid)" />
+
+            <param name="add_C_cysteine_bool" type="boolean" checked="@CHECK_CYSTEINE@"
+                label="Statically add mass in Da to C (cysteine)"/>
+            <param name="add_C_cysteine" type="float" value="57.02146"
+                label="Statically add mass in Da to C (cysteine)" />
+
+            <param name="add_E_glutamic_acid_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to E (glutamic_acid)"/>
+            <param name="add_E_glutamic_acid" type="float" value="0.0"
+                label="Statically add mass in Da to E (glutamic_acid)" />
+
+            <param name="add_Q_glutamine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to Q (glutamine)"/>
+            <param name="add_Q_glutamine" type="float" value="0.0"
+                label="Statically add mass in Da to Q (glutamine)" />
+
+            <param name="add_G_glycine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to G (glycine)"/>
+            <param name="add_G_glycine" type="float" value="0.0"
+                label="Statically add mass in Da to G (glycine)" />
+
+            <param name="add_H_histidine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to H (histidine)"/>
+            <param name="add_H_histidine" type="float" value="0.0"
+                label="Statically add mass in Da to H (histidine)" />
+
+            <param name="add_I_isoleucine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to I (isoleucine)"/>
+            <param name="add_I_isoleucine" type="float" value="0.0"
+                label="Statically add mass in Da to I (isoleucine)" />
+
+            <param name="add_L_leucine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to L (leucine)"/>
+            <param name="add_L_leucine" type="float" value="0.0"
+                label="Statically add mass in Da to L (leucine)" />
+
+            <param name="add_K_lysine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to K (lysine)"/>
+            <param name="add_K_lysine" type="float" value="@LYSINE_VALUE@"
+                label="Statically add mass in Da to K (lysine)" />
+
+            <param name="add_M_methionine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to M (methionine)"/>
+            <param name="add_M_methionine" type="float" value="0.0"
+                label="Statically add mass in Da to M (methionine)" />
+
+            <param name="add_F_phenylalanine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to F (phenylalanine)"/>
+            <param name="add_F_phenylalanine" type="float" value="0.0"
+                label="Statically add mass in Da to F (phenylalanine)" />
+
+            <param name="add_P_proline_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to P (proline)"/>
+            <param name="add_P_proline" type="float" value="0.0"
+                label="Statically add mass in Da to P (proline)" />
+
+            <param name="add_S_serine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to S (serine)"/>
+            <param name="add_S_serine" type="float" value="0.0"
+                label="Statically add mass in Da to S (serine)" />
+
+            <param name="add_T_threonine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to T (threonine)"/>
+            <param name="add_T_threonine" type="float" value="0.0"
+                label="Statically add mass in Da to T (threonine)" />
+
+            <param name="add_W_tryptophan_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to W (tryptophan)"/>
+            <param name="add_W_tryptophan" type="float" value="0.0"
+                label="Statically add mass in Da to W (tryptophan)" />
+
+            <param name="add_Y_tyrosine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to Y (tyrosine)"/>
+            <param name="add_Y_tyrosine" type="float" value="0.0"
+                label="Statically add mass in Da to Y (tyrosine)" />
+
+            <param name="add_V_valine_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to V (valine)"/>
+            <param name="add_V_valine" type="float" value="0.0"
+                label="Statically add mass in Da to V (valine)" />
+
+            <param name="add_B_user_amino_acid_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to B (iuser_amino_acid)"/>
+            <param name="add_B_user_amino_acid" type="float" value="0.0"
+                label="Statically add mass in Da to B (iuser_amino_acid)" />
+
+            <param name="add_J_user_amino_acid_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to J (iuser_amino_acid)"/>
+            <param name="add_J_user_amino_acid" type="float" value="0.0"
+                label="Statically add mass in Da to J (iuser_amino_acid)" />
+
+            <param name="add_O_user_amino_acid_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to O (user_amino_acid)"/>
+            <param name="add_O_user_amino_acid" type="float" value="0.0"
+                label="Statically add mass in Da to O (user_amino_acid)" />
+
+            <param name="add_U_user_amino_acid_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to U (iuser_amino_acid)"/>
+            <param name="add_U_user_amino_acid" type="float" value="0.0"
+                label="Statically add mass in Da to U (iuser_amino_acid)" />
+
+            <param name="add_X_user_amino_acid_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to X (iuser_amino_acid)"/>
+            <param name="add_X_user_amino_acid" type="float" value="0.0"
+                label="Statically add mass in Da to X (iuser_amino_acid)" />
+
+            <param name="add_Z_user_amino_acid_bool" type="boolean" checked="true"
+                label="Statically add mass in Da to Z (iuser_amino_acid)"/>
+            <param name="add_Z_user_amino_acid" type="float" value="0.0"
+                label="Statically add mass in Da to Z (iuser_amino_acid)" />
         </section>
     </xml>
     <token name="@STATIC_MODIFICATION@"><![CDATA[
-        #set $fmods = {}
-        #if $prefix.static_modification.add_Cterm_peptide  != ''
-            #set $fmods['Cterm_peptide'] = $prefix.static_modification.add_Cterm_peptide
-        #end if
-        #if $prefix.static_modification.add_Nterm_peptide  != ''
-            #set $fmods['Nterm_peptide'] = $prefix.static_modification.add_Nterm_peptide
-        #end if
-        #if $prefix.static_modification.add_Cterm_protein  != ''
-            #set $fmods['Cterm_protein'] = $prefix.static_modification.add_Cterm_protein
-        #end if
-        #if $prefix.static_modification.add_Nterm_protein  != ''
-            #set $fmods['Nterm_protein'] = $prefix.static_modification.add_Nterm_protein
-        #end if
-        #if $prefix.static_modification.add_G_glycine  != ''
-            #set $fmods['G_glycine'] = $prefix.static_modification.add_G_glycine
-        #end if
-        #if $prefix.static_modification.add_A_alanine  != ''
-            #set $fmods['A_alanine'] = $prefix.static_modification.add_A_alanine
-        #end if
-        #if $prefix.static_modification.add_S_serine  != ''
-            #set $fmods['S_serine'] = $prefix.static_modification.add_S_serine
-        #end if
-        #if $prefix.static_modification.add_P_proline  != ''
-            #set $fmods['P_proline'] = $prefix.static_modification.add_P_proline
-        #end if
-        #if $prefix.static_modification.add_V_valine  != ''
-            #set $fmods['V_valine'] = $prefix.static_modification.add_V_valine
-        #end if
-        #if $prefix.static_modification.add_T_threonine  != ''
-            #set $fmods['T_threonine'] = $prefix.static_modification.add_T_threonine
-        #end if
-        #if $prefix.static_modification.add_C_cysteine  != ''
-            #set $fmods['C_cysteine'] = $prefix.static_modification.add_C_cysteine
-        #end if
-        #if $prefix.static_modification.add_L_leucine  != ''
-            #set $fmods['L_leucine'] = $prefix.static_modification.add_L_leucine
-        #end if
-        #if $prefix.static_modification.add_I_isoleucine  != ''
-            #set $fmods['I_isoleucine'] = $prefix.static_modification.add_I_isoleucine
-        #end if
-        #if $prefix.static_modification.add_N_asparagine  != ''
-            #set $fmods['N_asparagine'] = $prefix.static_modification.add_N_asparagine
-        #end if
-        #if $prefix.static_modification.add_D_aspartic_acid  != ''
-            #set $fmods['D_aspartic_acid'] = $prefix.static_modification.add_D_aspartic_acid
-        #end if
-        #if $prefix.static_modification.add_Q_glutamine  != ''
-            #set $fmods['Q_glutamine'] = $prefix.static_modification.add_Q_glutamine
-        #end if
-        #if $prefix.static_modification.add_K_lysine  != ''
-            #set $fmods['K_lysine'] = $prefix.static_modification.add_K_lysine
-        #end if
-        #if $prefix.static_modification.add_E_glutamic_acid  != ''
-            #set $fmods['E_glutamic_acid'] = $prefix.static_modification.add_E_glutamic_acid
-        #end if
-        #if $prefix.static_modification.add_M_methionine  != ''
-            #set $fmods['M_methionine'] = $prefix.static_modification.add_M_methionine
-        #end if
-        #if $prefix.static_modification.add_H_histidine  != ''
-            #set $fmods['H_histidine'] = $prefix.static_modification.add_H_histidine
-        #end if
-        #if $prefix.static_modification.add_F_phenylalanine  != ''
-            #set $fmods['F_phenylalanine'] = $prefix.static_modification.add_F_phenylalanine
-        #end if
-        #if $prefix.static_modification.add_R_arginine  != ''
-            #set $fmods['R_arginine'] = $prefix.static_modification.add_R_arginine
-        #end if
-        #if $prefix.static_modification.add_Y_tyrosine  != ''
-            #set $fmods['Y_tyrosine'] = $prefix.static_modification.add_Y_tyrosine
-        #end if
-        #if $prefix.static_modification.add_W_tryptophan  != ''
-            #set $fmods['W_tryptophan'] = $prefix.static_modification.add_W_tryptophan
-        #end if
-        #*
-        #if $prefix.static_modification.add_B_user_amino_acid  != ''
-            #set $fmods['B_user_amino_acid'] = $prefix.static_modification.add_B_user_amino_acid
-        #end if
-        #if $prefix.static_modification.add_J_user_amino_acid  != ''
-            #set $fmods['J_user_amino_acid'] = $prefix.static_modification.add_J_user_amino_acid
-        #end if
-        #if $prefix.static_modification.add_O_user_amino_acid  != ''
-            #set $fmods['O_user_amino_acid'] = $prefix.static_modification.add_O_user_amino_acid
-        #end if
-        #if $prefix.static_modification.add_U_user_amino_acid  != ''
-            #set $fmods['U_user_amino_acid'] = $prefix.static_modification.add_U_user_amino_acid
-        #end if
-        #if $prefix.static_modification.add_X_user_amino_acid  != ''
-            #set $fmods['X_user_amino_acid'] = $prefix.static_modification.add_X_user_amino_acid
-        #end if
-        #if $prefix.static_modification.add_Z_user_amino_acid  != ''
-            #set $fmods['Z_user_amino_acid'] = $prefix.static_modification.add_Z_user_amino_acid
-        #end if
-        *#
+        #set $fmod_vals = {}
+        #set $fmod_vals['add_Cterm_peptide'] = $prefix.static_modification.add_Cterm_peptide
+        #set $fmod_vals['add_Nterm_peptide'] = $prefix.static_modification.add_Nterm_peptide
+        #set $fmod_vals['add_Cterm_protein'] = $prefix.static_modification.add_Cterm_protein
+        #set $fmod_vals['add_Nterm_protein'] = $prefix.static_modification.add_Nterm_protein
+        #set $fmod_vals['add_G_glycine'] = $prefix.static_modification.add_G_glycine
+        #set $fmod_vals['add_A_alanine'] = $prefix.static_modification.add_A_alanine
+        #set $fmod_vals['add_S_serine'] = $prefix.static_modification.add_S_serine
+        #set $fmod_vals['add_P_proline'] = $prefix.static_modification.add_P_proline
+        #set $fmod_vals['add_V_valine'] = $prefix.static_modification.add_V_valine
+        #set $fmod_vals['add_T_threonine'] = $prefix.static_modification.add_T_threonine
+        #set $fmod_vals['add_C_cysteine'] = $prefix.static_modification.add_C_cysteine
+        #set $fmod_vals['add_L_leucine'] = $prefix.static_modification.add_L_leucine
+        #set $fmod_vals['add_I_isoleucine'] = $prefix.static_modification.add_I_isoleucine
+        #set $fmod_vals['add_N_asparagine'] = $prefix.static_modification.add_N_asparagine
+        #set $fmod_vals['add_D_aspartic_acid'] = $prefix.static_modification.add_D_aspartic_acid
+        #set $fmod_vals['add_Q_glutamine'] = $prefix.static_modification.add_Q_glutamine
+        #set $fmod_vals['add_K_lysine'] = $prefix.static_modification.add_K_lysine
+        #set $fmod_vals['add_E_glutamic_acid'] = $prefix.static_modification.add_E_glutamic_acid
+        #set $fmod_vals['add_M_methionine'] = $prefix.static_modification.add_M_methionine
+        #set $fmod_vals['add_H_histidine'] = $prefix.static_modification.add_H_histidine
+        #set $fmod_vals['add_F_phenylalanine'] = $prefix.static_modification.add_F_phenylalanine
+        #set $fmod_vals['add_R_arginine'] = $prefix.static_modification.add_R_arginine
+        #set $fmod_vals['add_Y_tyrosine'] = $prefix.static_modification.add_Y_tyrosine
+        #set $fmod_vals['add_W_tryptophan'] = $prefix.static_modification.add_W_tryptophan
+        #set $fmod_vals['add_B_user_amino_acid'] = $prefix.static_modification.add_B_user_amino_acid
+        #set $fmod_vals['add_J_user_amino_acid'] = $prefix.static_modification.add_J_user_amino_acid
+        #set $fmod_vals['add_O_user_amino_acid'] = $prefix.static_modification.add_O_user_amino_acid
+        #set $fmod_vals['add_U_user_amino_acid'] = $prefix.static_modification.add_U_user_amino_acid
+        #set $fmod_vals['add_X_user_amino_acid'] = $prefix.static_modification.add_X_user_amino_acid
+        #set $fmod_vals['add_Z_user_amino_acid'] = $prefix.static_modification.add_Z_user_amino_acid
+
+        #set $fmod_bools = {}
+        #set $fmod_bools['add_Cterm_peptide_bool'] = $prefix.static_modification.add_Cterm_peptide_bool
+        #set $fmod_bools['add_Nterm_peptide_bool'] = $prefix.static_modification.add_Nterm_peptide_bool
+        #set $fmod_bools['add_Cterm_protein_bool'] = $prefix.static_modification.add_Cterm_protein_bool
+        #set $fmod_bools['add_Nterm_protein_bool'] = $prefix.static_modification.add_Nterm_protein_bool
+        #set $fmod_bools['add_G_glycine_bool'] = $prefix.static_modification.add_G_glycine_bool
+        #set $fmod_bools['add_A_alanine_bool'] = $prefix.static_modification.add_A_alanine_bool
+        #set $fmod_bools['add_S_serine_bool'] = $prefix.static_modification.add_S_serine_bool
+        #set $fmod_bools['add_P_proline_bool'] = $prefix.static_modification.add_P_proline_bool
+        #set $fmod_bools['add_V_valine_bool'] = $prefix.static_modification.add_V_valine_bool
+        #set $fmod_bools['add_T_threonine_bool'] = $prefix.static_modification.add_T_threonine_bool
+        #set $fmod_bools['add_C_cysteine_bool'] = $prefix.static_modification.add_C_cysteine_bool
+        #set $fmod_bools['add_L_leucine_bool'] = $prefix.static_modification.add_L_leucine_bool
+        #set $fmod_bools['add_I_isoleucine_bool'] = $prefix.static_modification.add_I_isoleucine_bool
+        #set $fmod_bools['add_N_asparagine_bool'] = $prefix.static_modification.add_N_asparagine_bool
+        #set $fmod_bools['add_D_aspartic_acid_bool'] = $prefix.static_modification.add_D_aspartic_acid_bool
+        #set $fmod_bools['add_Q_glutamine_bool'] = $prefix.static_modification.add_Q_glutamine_bool
+        #set $fmod_bools['add_K_lysine_bool'] = $prefix.static_modification.add_K_lysine_bool
+        #set $fmod_bools['add_E_glutamic_acid_bool'] = $prefix.static_modification.add_E_glutamic_acid_bool
+        #set $fmod_bools['add_M_methionine_bool'] = $prefix.static_modification.add_M_methionine_bool
+        #set $fmod_bools['add_H_histidine_bool'] = $prefix.static_modification.add_H_histidine_bool
+        #set $fmod_bools['add_F_phenylalanine_bool'] = $prefix.static_modification.add_F_phenylalanine_bool
+        #set $fmod_bools['add_R_arginine_bool'] = $prefix.static_modification.add_R_arginine_bool
+        #set $fmod_bools['add_Y_tyrosine_bool'] = $prefix.static_modification.add_Y_tyrosine_bool
+        #set $fmod_bools['add_W_tryptophan_bool'] = $prefix.static_modification.add_W_tryptophan_bool
+        #set $fmod_bools['add_B_user_amino_acid_bool'] = $prefix.static_modification.add_B_user_amino_acid_bool
+        #set $fmod_bools['add_J_user_amino_acid_bool'] = $prefix.static_modification.add_J_user_amino_acid_bool
+        #set $fmod_bools['add_O_user_amino_acid_bool'] = $prefix.static_modification.add_O_user_amino_acid_bool
+        #set $fmod_bools['add_U_user_amino_acid_bool'] = $prefix.static_modification.add_U_user_amino_acid_bool
+        #set $fmod_bools['add_X_user_amino_acid_bool'] = $prefix.static_modification.add_X_user_amino_acid_bool
+        #set $fmod_bools['add_Z_user_amino_acid_bool'] = $prefix.static_modification.add_Z_user_amino_acid_bool
+
     ]]></token>
 
-    <xml name="spectrum_processing" token_mode_selected="false" token_mode_isolated="false" token_mode_corrected="false" token_override_charge="false" token_rm_peak0="false" token_rm_peak1="true" token_rm_peak2="false" token_clear_mz_range_min="0.0" token_clear_mz_range_max="0.0" token_transform_none="true" token_transform_sqrt="false">
+    <xml name="spectrum_processing" token_mode_selected="true" token_mode_isolated="false" token_mode_corrected="false" token_override_charge="false" token_rm_peak0="false" token_rm_peak1="true" token_rm_peak2="false" token_clear_mz_range_min="0.0" token_clear_mz_range_max="0.0" token_transform_none="true" token_transform_sqrt="false" token_check_spectral_files="true">
         <section name="spectrum_processing" expanded="false" title="Spectrum Processing">
-            <param name="precursor_mass_mode" type="select" optional="true" label="Precursor mass mode">
+            <param name="precursor_mass_mode" type="select" label="Precursor mass mode">
                 <option value="isolated" selected="@MODE_ISOLATED@">isolated</option>
                 <option value="selected" selected="@MODE_SELECTED@">selected</option>
                 <option value="corrected" selected="@MODE_CORRECTED@">corrected</option>
@@ -683,7 +754,7 @@
                 <option value="0" selected="@TRANSFORM_NONE@">None, not removed</option>
                 <option value="1" selected="@TRANSFORM_SQRT@">Square root</option>
             </param>
-            <param name="check_spectral_files" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Check spectral files"/>
+            <param name="check_spectral_files" type="boolean" truevalue="true" falsevalue="false" checked="@CHECK_SPECTRAL_FILES@" label="Check spectral files"/>
             <param name="require_precursor" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Require precursor"/>
             <param name="reuse_dia_fragment_peaks" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Reuse DIA fragment peaks"/>
             <param name="activation_types" type="select" optional="true" label="Activation Type Filter">
@@ -770,14 +841,6 @@
             <param name="zero_bin_mult_expect" type="float" value="" min="0.0" optional="true"
                 label="Multiplies expect value of PSMs in the zero-bin during results ordering"
                 help="(set to less than 1 for boosting) Default: 1.0" />
-            <param name="add_topN_complementary" type="integer" value="" min="0" optional="true"
-                label="Insert complementary ions corresponding to the top N most intense fragments in each experimental spectra." >
-                <help>
-                    Useful for recovery of modified peptides near C-terminal in open search.
-                    Should be set to 0 (disabled) otherwise.
-                    Default: 0
-                </help>
-            </param>
             <param name="delta_mass_exclude_ranges_min" type="float" value="-1.5" label="Delta mass exclude range minimum" />
             <param name="delta_mass_exclude_ranges_max" type="float" value="3.5" label="Delta mass exclude range maximum" />
             <param name="localize_delta_mass" type="boolean" truevalue="true" falsevalue="false" checked="@LOCALIZE@"
@@ -798,9 +861,6 @@
         #if $prefix.open_search.zero_bin_mult_expect != ''
             #set $msfragger_dict['zero_bin_mult_expect'] = $prefix.open_search.zero_bin_mult_expect
         #end if
-        #if $prefix.open_search.add_topN_complementary != ''
-            #set $msfragger_dict['add_topN_complementary'] = $prefix.open_search.add_topN_complementary
-        #end if
         #set $msfragger_dict['localize_delta_mass'] = $prefix.open_search.localize_delta_mass
         #set $msfragger_dict['delta_mass_exclude_ranges'] = '(' + ','.join([str($prefix.open_search.delta_mass_exclude_ranges_min),str($prefix.open_search.delta_mass_exclude_ranges_max)]) + ')'
 ]]></token>
@@ -938,7 +998,7 @@
     <!-- Formatting options for output files. -->
     <xml name="advanced_options">
         <section name="advanced_options" expanded="false" title="Advanced Options">
-            <param name="output_format" type="select" multiple="true" label="output format">
+            <param name="output_format" type="select" label="output format">
                 <option value="pepXML">PEPXML</option>
                 <option value="tsv">TSV</option>
                 <option value="tsv_pepXML">TSV_PEPXML</option>
@@ -955,7 +1015,6 @@
                 label="Suppresses reporting of PSM if top hit has expectation greater than this threshold" />
 
             <param name="write_calibrated_mzml" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Write calibrated mzML"/>
-            <param name="write_uncalibrated_mgf" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Write uncalibrated MGF"/>
             <param name="group_variable" type="select" optional="true" label="Group variable">
                 <option value="0">None</option>
                 <option value="1">Number of enzymatic termini</option>
@@ -966,16 +1025,14 @@
 
     <!-- Does not enter into msfragger_dict, instead produces configuration text. -->
     <token name="@MSFRAGGER_ADVANCED_OPTIONS@"><![CDATA[
-        #set $msfragger_dict['output_format'] = $prefix.advanced_options.output_format.__str__.replace(',mgf','').replace(',','_')
-        #if $prefix.advanced_options.output_report_topN != ''
-            #set $msfragger_dict['output_report_topN'] = $prefix.advanced_options.output_report_topN
-        #end if
+        #set $msfragger_dict['output_format'] = $prefix.advanced_options.output_format
+        #set $msfragger_dict['output_report_topN'] = $prefix.advanced_options.output_report_topN
         #set $msfragger_dict['report_alternative_proteins'] = $prefix.advanced_options.report_alternative_proteins
+        #set $msfragger_dict['output_max_expect'] = $prefix.advanced_options.output_max_expect
         #if $prefix.advanced_options.output_max_expect != ''
             #set $msfragger_dict['output_max_expect'] = $prefix.advanced_options.output_max_expect
         #end if
         #set $msfragger_dict['write_calibrated_mzml'] = $prefix.advanced_options.write_calibrated_mzml
-        #set $msfragger_dict['write_uncalibrated_mgf'] = $prefix.advanced_options.write_uncalibrated_mgf
         #if $prefix.advanced_options.group_variable != 'None'
             #set $msfragger_dict['group_variable'] = $prefix.advanced_options.group_variable
         #end if