changeset 6:53bdfaed924d draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/peptideshaker commit 5943ced37a55ac06f722af5d4ccd568c300c0ea3
author iracooke
date Thu, 04 Jun 2015 08:10:26 -0400
parents cd5298908bc1
children 4a3b6a828119
files peptide_shaker.xml searchgui.xml test-data/tiny_searchgui_result1.zip
diffstat 3 files changed, 406 insertions(+), 413 deletions(-) [+]
line wrap: on
line diff
--- a/peptide_shaker.xml	Wed Jun 03 19:38:54 2015 -0400
+++ b/peptide_shaker.xml	Thu Jun 04 08:10:26 2015 -0400
@@ -161,7 +161,7 @@
 ]]>
     </command>
     <inputs>
-        <param name="searchgui_input" format="searchgui_zip" type="data" label="Compressed SearchGUI results"
+        <param name="searchgui_input" format="searchgui_archive" type="data" label="Compressed SearchGUI results"
             help="SearchGUI Results from History"/>
 
         <conditional name="species_type">
@@ -545,7 +545,7 @@
     </outputs>
     <tests>
         <test>
-            <param name="searchgui_input" value="tiny_searchgui_result1.zip" ftype="searchgui_zip"/>
+            <param name="searchgui_input" value="tiny_searchgui_result1.zip" ftype="searchgui_archive"/>
             <param name="species_type_selector" value="no_species_type"/>
             <param name="processing_options_selector" value="no"/>
             <param name="filtering_options_selector" value="no"/>
@@ -555,7 +555,7 @@
             <output name="output_psm" file="peptide_shaker_psm_result1.tabular" ftype="tabular" />
         </test>
         <test>
-            <param name="searchgui_input" value="tiny_searchgui_result1.zip" ftype="searchgui_zip"/>
+            <param name="searchgui_input" value="tiny_searchgui_result1.zip" ftype="searchgui_archive"/>
             <param name="species_type_selector" value="no_species_type"/>
             <param name="processing_options_selector" value="no"/>
             <param name="filtering_options_selector" value="yes"/>
@@ -571,7 +571,7 @@
             <output name="output_proteins_phosphorylation" file="peptide_shaker_proteins_phoshorylation_result2.tabular" ftype="tabular" />
         </test>
         <test>
-            <param name="searchgui_input" value="tiny_searchgui_result1.zip" ftype="searchgui_zip"/>
+            <param name="searchgui_input" value="tiny_searchgui_result1.zip" ftype="searchgui_archive"/>
             <param name="species_type_selector" value="Vertebrates"/>
             <param name="species" value="Human (Homo sapiens)"/>
             <param name="processing_options_selector" value="no"/>
--- a/searchgui.xml	Wed Jun 03 19:38:54 2015 -0400
+++ b/searchgui.xml	Thu Jun 04 08:10:26 2015 -0400
@@ -57,13 +57,13 @@
                 -xtandem_noise_suppr ${xtandem.xtandem_noise_suppr}
                 -xtandem_dynamic_range ${xtandem.xtandem_dynamic_range}
                 -xtandem_quick_acetyl ${xtandem.xtandem_quick_acetyl} 
-				-xtandem_quick_pyro ${xtandem.xtandem_quick_pyro} 
-				-xtandem_stp_bias ${xtandem.xtandem_stp_bias} 
-				-xtandem_evalue ${xtandem.xtandem_evalue} 
-				-xtandem_output_proteins ${xtandem.xtandem_output_proteins} 
-				-xtandem_output_sequences ${xtandem.xtandem_output_sequences} 
-				-xtandem_output_spectra ${xtandem.xtandem_output_spectra}
-				## -xtandem_skyline_path ${xtandem.xtandem_skyline_path}
+                -xtandem_quick_pyro ${xtandem.xtandem_quick_pyro} 
+                -xtandem_stp_bias ${xtandem.xtandem_stp_bias} 
+                -xtandem_evalue ${xtandem.xtandem_evalue} 
+                -xtandem_output_proteins ${xtandem.xtandem_output_proteins} 
+                -xtandem_output_sequences ${xtandem.xtandem_output_sequences} 
+                -xtandem_output_spectra ${xtandem.xtandem_output_spectra}
+                ## -xtandem_skyline_path ${xtandem.xtandem_skyline_path}
 
                 #if $xtandem.xtandem_refine.xtandem_refine_selector == "yes"
                     -xtandem_refine 1
@@ -74,7 +74,7 @@
                     -xtandem_refine_spec_synt ${xtandem.xtandem_refine.xtandem_refine_spec_synt}
                     -xtandem_refine_pot ${xtandem.xtandem_refine.xtandem_refine_pot}
                     -xtandem_refine_pot ${xtandem.xtandem_refine.xtandem_refine_evalue}
-					
+                    
                 #end if
             #end if
 
@@ -85,38 +85,38 @@
                 -omssa_estimate_charge ${omssa.estimate_charge}
 
                 -omssa_memory ${omssa.omssa_memory}
-				-omssa_isotopes ${omssa.omssa_isotopes} 
-				-omssa_neutron ${omssa.omssa_neutron} 
-				-omssa_low_intensity "${omssa.omssa_low_intensity}" 
-				-omssa_high_intensity ${omssa.omssa_high_intensity} 
-				-omssa_intensity_incr ${omssa.omssa_intensity_incr} 
-				-omssa_single_window_wd ${omssa.omssa_single_window_wd} 
-				-omssa_double_window_wd ${omssa.omssa_double_window_wd} 
-				-omssa_single_window_pk ${omssa.omssa_single_window_pk} 
-				-omssa_double_window_pk ${omssa.omssa_double_window_pk} 
-				-omssa_min_ann_int_pks ${omssa.omssa_min_ann_int_pks} 
-				-omssa_min_annotated_peaks ${omssa.omssa_min_annotated_peaks} 
-				-omssa_min_peaks ${omssa.omssa_min_peaks} 
-				-omssa_methionine ${omssa.omssa_methionine} 
-				-omssa_max_ladders ${omssa.omssa_max_ladders} 
-				-omssa_max_frag_charge ${omssa.omssa_max_frag_charge} 
-				-omssa_fraction ${omssa.omssa_fraction} 
-				-omssa_plus_one ${omssa.omssa_plus_one} 
-				-omssa_charge ${omssa.omssa_charge} 
-				-omssa_prec_per_spectrum ${omssa.omssa_prec_per_spectrum} 
-				-omssa_forward ${omssa.omssa_forward} 
-				-omssa_rewind ${omssa.omssa_rewind} 
-				-omssa_max_frag_series ${omssa.omssa_max_frag_series} 
-				-omssa_corr ${omssa.omssa_corr} 
-				-omssa_consecutive_p ${omssa.omssa_consecutive_p} 
-				-omssa_it_sequence_evalue ${omssa.omssa_it_sequence_evalue} 
-				-omssa_it_spectrum_evalue ${omssa.omssa_it_spectrum_evalue} 
-				-omssa_it_replace_evalue ${omssa.omssa_it_replace_evalue} 
-				-omssa_max_evalue ${omssa.omssa_max_evalue} 
-				-omssa_hitlist_charge ${omssa.omssa_hitlist_charge} 
-				-omssa_min_pep_length ${omssa.omssa_min_pep_length} 
-				-omssa_max_pep_length ${omssa.omssa_max_pep_length} 
-				-omssa_format ${omssa.omssa_format}   
+                -omssa_isotopes ${omssa.omssa_isotopes} 
+                -omssa_neutron ${omssa.omssa_neutron} 
+                -omssa_low_intensity "${omssa.omssa_low_intensity}" 
+                -omssa_high_intensity ${omssa.omssa_high_intensity} 
+                -omssa_intensity_incr ${omssa.omssa_intensity_incr} 
+                -omssa_single_window_wd ${omssa.omssa_single_window_wd} 
+                -omssa_double_window_wd ${omssa.omssa_double_window_wd} 
+                -omssa_single_window_pk ${omssa.omssa_single_window_pk} 
+                -omssa_double_window_pk ${omssa.omssa_double_window_pk} 
+                -omssa_min_ann_int_pks ${omssa.omssa_min_ann_int_pks} 
+                -omssa_min_annotated_peaks ${omssa.omssa_min_annotated_peaks} 
+                -omssa_min_peaks ${omssa.omssa_min_peaks} 
+                -omssa_methionine ${omssa.omssa_methionine} 
+                -omssa_max_ladders ${omssa.omssa_max_ladders} 
+                -omssa_max_frag_charge ${omssa.omssa_max_frag_charge} 
+                -omssa_fraction ${omssa.omssa_fraction} 
+                -omssa_plus_one ${omssa.omssa_plus_one} 
+                -omssa_charge ${omssa.omssa_charge} 
+                -omssa_prec_per_spectrum ${omssa.omssa_prec_per_spectrum} 
+                -omssa_forward ${omssa.omssa_forward} 
+                -omssa_rewind ${omssa.omssa_rewind} 
+                -omssa_max_frag_series ${omssa.omssa_max_frag_series} 
+                -omssa_corr ${omssa.omssa_corr} 
+                -omssa_consecutive_p ${omssa.omssa_consecutive_p} 
+                -omssa_it_sequence_evalue ${omssa.omssa_it_sequence_evalue} 
+                -omssa_it_spectrum_evalue ${omssa.omssa_it_spectrum_evalue} 
+                -omssa_it_replace_evalue ${omssa.omssa_it_replace_evalue} 
+                -omssa_max_evalue ${omssa.omssa_max_evalue} 
+                -omssa_hitlist_charge ${omssa.omssa_hitlist_charge} 
+                -omssa_min_pep_length ${omssa.omssa_min_pep_length} 
+                -omssa_max_pep_length ${omssa.omssa_max_pep_length} 
+                -omssa_format ${omssa.omssa_format}   
             #end if
 
             #if $msgf.msgf_advanced == "yes"
@@ -126,20 +126,20 @@
                 -msgf_termini ${msgf.msgf_termini}
                 -msgf_num_ptms ${msgf.msgf_num_ptms}
                 -msgf_instrument ${msgf.msgf_instrument} 
-				-msgf_fragmentation ${msgf.msgf_fragmentation}
-				-msgf_protocol ${msgf.msgf_protocol} 
-				-msgf_num_matches ${msgf.msgf_num_matches} 
-				-msgf_additional ${msgf.msgf_additional} 
-				-msgf_isotope_low ${msgf.msgf_isotope_low} 
-				-msgf_isotope_high ${msgf.msgf_isotope_high} 
+                -msgf_fragmentation ${msgf.msgf_fragmentation}
+                -msgf_protocol ${msgf.msgf_protocol} 
+                -msgf_num_matches ${msgf.msgf_num_matches} 
+                -msgf_additional ${msgf.msgf_additional} 
+                -msgf_isotope_low ${msgf.msgf_isotope_low} 
+                -msgf_isotope_high ${msgf.msgf_isotope_high} 
             #end if
-			
+            
             #if $ms_amanda.ms_amanda_advanced == "yes"
-            	 -ms_amanda_decoy ${ms_amanda.ms_amanda_decoy}
-    			 -ms_amanda_max_evalue ${ms_amanda.ms_amanda_max_evalue}
-    			 -ms_amanda_instrument ${ms_amanda.ms_amanda_instrument} 
-    			 -ms_amanda_max_rank ${ms_amanda.ms_amanda_max_rank} 
-    			 -ms_amanda_mono ${ms_amanda.ms_amanda_mono}
+                 -ms_amanda_decoy ${ms_amanda.ms_amanda_decoy}
+                 -ms_amanda_max_evalue ${ms_amanda.ms_amanda_max_evalue}
+                 -ms_amanda_instrument ${ms_amanda.ms_amanda_instrument} 
+                 -ms_amanda_max_rank ${ms_amanda.ms_amanda_max_rank} 
+                 -ms_amanda_mono ${ms_amanda.ms_amanda_mono}
             #end if
             
             #if $myrimatch.myrimatch_advanced == "yes"
@@ -159,7 +159,7 @@
                 -myrimatch_intensity_classes ${myrimatch.myrimatch_intensity_classes}
                 -myrimatch_class_multiplier ${myrimatch.myrimatch_class_multiplier}
                 -myrimatch_num_batches ${myrimatch.myrimatch_num_batches}
-                -myrimatch_max_peak ${myrimatch.myrimatch_max_peak}	                
+                -myrimatch_max_peak ${myrimatch.myrimatch_max_peak}                    
             #end if
 
             #if $tide.tide_advanced == "yes"
@@ -201,47 +201,44 @@
                 -tide_remove_temp ${tide.tide_remove_temp}
             #end if
 
+            #if $comet.comet_advanced == "yes"
 
-            #if $comet.comet_advanced == "yes"
-            
-            	#if $comet.comet_spectrum.comet_spectrum_selector == "yes"
-                	-comet_min_peaks ${comet.comet_spectrum.comet_min_peaks}
-                	-comet_min_peak_int ${comet.comet_spectrum.comet_min_peak_int}
-                	-comet_remove_prec ${comet.comet_spectrum.comet_remove_prec}
-                	
-                	 
-                	 #if $comet.comet_spectrum.comet_remove_prec == "1"
-                		-comet_remove_prec_tol ${comet.comet_spectrum.comet_remove_prec_tol}
-                	 #end if
-                	 
-                	 #if $comet.comet_spectrum.comet_remove_prec == "2"
-                		-comet_remove_prec_tol ${comet.comet_spectrum.comet_remove_prec_tol}
-                	 #end if
-                	 
-                	-comet_clear_mz_range_lower ${comet.comet_spectrum.comet_clear_mz_range_lower}
-                	-comet_clear_mz_range_upper ${comet.comet_spectrum.comet_clear_mz_range_upper}
+                #if $comet.comet_spectrum.comet_spectrum_selector == "yes"
+                    -comet_min_peaks ${comet.comet_spectrum.comet_min_peaks}
+                    -comet_min_peak_int ${comet.comet_spectrum.comet_min_peak_int}
+                    -comet_remove_prec ${comet.comet_spectrum.comet_remove_prec}
+
+
+                     #if $comet.comet_spectrum.comet_remove_prec == "1"
+                        -comet_remove_prec_tol ${comet.comet_spectrum.comet_remove_prec_tol}
+                     #end if
+                     
+                     #if $comet.comet_spectrum.comet_remove_prec == "2"
+                        -comet_remove_prec_tol ${comet.comet_spectrum.comet_remove_prec_tol}
+                     #end if
+                     
+                    -comet_clear_mz_range_lower ${comet.comet_spectrum.comet_clear_mz_range_lower}
+                    -comet_clear_mz_range_upper ${comet.comet_spectrum.comet_clear_mz_range_upper}
                 #end if
-                
+
                 #if $comet.comet_search.comet_search_selector == "yes"
-                	-comet_enzyme_type ${comet.comet_search.comet_enzyme_type}
-					-comet_isotope_correction ${comet.comet_search.comet_isotope_correction}
-					-comet_min_prec_mass ${comet.comet_search.comet_min_prec_mass}
-					-comet_max_prec_mass ${comet.comet_search.comet_max_prec_mass}
-					-comet_num_matches ${comet.comet_search.comet_num_matches}
-					-comet_max_frag_charge ${comet.comet_search.comet_max_frag_charge}
-					-comet_remove_meth ${comet.comet_search.comet_remove_meth}
-					-comet_batch_size ${comet.comet_search.comet_batch_size}
-					-comet_num_ptms ${comet.comet_search.comet_num_ptms}
-				#end if
-				
+                    -comet_enzyme_type ${comet.comet_search.comet_enzyme_type}
+                    -comet_isotope_correction ${comet.comet_search.comet_isotope_correction}
+                    -comet_min_prec_mass ${comet.comet_search.comet_min_prec_mass}
+                    -comet_max_prec_mass ${comet.comet_search.comet_max_prec_mass}
+                    -comet_num_matches ${comet.comet_search.comet_num_matches}
+                    -comet_max_frag_charge ${comet.comet_search.comet_max_frag_charge}
+                    -comet_remove_meth ${comet.comet_search.comet_remove_meth}
+                    -comet_batch_size ${comet.comet_search.comet_batch_size}
+                    -comet_num_ptms ${comet.comet_search.comet_num_ptms}
+                #end if
+
                 #if $comet.comet_fragment_ions.comet_fragment_ions_selector == "yes"
-                	-comet_frag_bin_offset ${comet.comet_fragment_ions.comet_frag_bin_offset}
-                	-comet_sparse_matrix ${comet.comet_fragment_ions.comet_sparse_matrix}
-                	-comet_theoretical_fragment_ions ${comet.comet_fragment_ions.comet_theoretical_fragment_ions}
-               
+                    -comet_frag_bin_offset ${comet.comet_fragment_ions.comet_frag_bin_offset}
+                    -comet_sparse_matrix ${comet.comet_fragment_ions.comet_sparse_matrix}
+                    -comet_theoretical_fragment_ions ${comet.comet_fragment_ions.comet_theoretical_fragment_ions}
                 #end if
-          
-            #end if                
+            #end if
 
         2> $temp_stderr)
         &&
@@ -257,12 +254,12 @@
 
             -threads "\${GALAXY_SLOTS:-12}"
 
-			#if $searchgui_advanced.searchgui_advanced_selector == 'advanced'
-		        -correct_titles "${searchgui_advanced.correct_titles}"
-		        $searchgui_advanced.missing_titles
-		        -mgf_splitting "${searchgui_advanced.mgf_splitting}"
-		        -mgf_spectrum_count "${searchgui_advanced.mgf_spectrum_count}"
-			#end if
+            #if $searchgui_advanced.searchgui_advanced_selector == 'advanced'
+                -correct_titles "${searchgui_advanced.correct_titles}"
+                $searchgui_advanced.missing_titles
+                -mgf_splitting "${searchgui_advanced.mgf_splitting}"
+                -mgf_spectrum_count "${searchgui_advanced.mgf_spectrum_count}"
+            #end if
 
             ## Turn of the protein tree generation as it can produce errors if the search is finished before the tree is created
             ## the tree is generated afterwards in PeptideShaker
@@ -270,38 +267,38 @@
 
             ##-makeblastdb_folder \$BLAST_ROOT_DIR
 
-			#set $engines_list = str($engines).split(',')
-			#if 'X!Tandem' in $engines_list:
+            #set $engines_list = str($engines).split(',')
+            #if 'X!Tandem' in $engines_list:
                 -xtandem 1
             #else
                 -xtandem 0
             #end if
 
-			#if 'MyriMatch' in $engines_list:
+            #if 'MyriMatch' in $engines_list:
                 -myrimatch 1
             #else
                 -myrimatch 0
             #end if
 
-			#if 'MSGF' in $engines_list:
+            #if 'MSGF' in $engines_list:
                 -msgf 1
             #else
                 -msgf 0
             #end if
 
-			#if 'OMSSA' in $engines_list:
+            #if 'OMSSA' in $engines_list:
                 -omssa 1
             #else
                 -omssa 0
             #end if
 
-			#if 'Comet' in $engines_list:
+            #if 'Comet' in $engines_list:
                 -comet 1
             #else
                 -comet 0
             #end if
 
-			#if 'Tide' in $engines_list:
+            #if 'Tide' in $engines_list:
                 -tide 1
             #else
                 -tide 0
@@ -344,7 +341,7 @@
         <param name="peak_lists" format="mgf" type="data" multiple="true" label="Input Peak Lists (mgf)"
             help="Select appropriate MGF dataset(s) from history" />
 
-	    <!-- Search Engine Selection -->
+        <!-- Search Engine Selection -->
         <param name="engines" type="select" display="checkboxes" multiple="True" label="DB-Search Engines">
             <option value="X!Tandem" selected="True">X!Tandem</option>
             <option value="MyriMatch">MyriMatch</option>
@@ -357,11 +354,10 @@
         </param>
 
 
-
-		<!-- General Parameters -->
+        <!-- General Parameters -->
         <expand macro="general_options"/>
 
-		<!-- Optional Advanced SearchGUI Parameters -->
+        <!-- Optional Advanced SearchGUI Parameters -->
         <conditional name="searchgui_advanced">
             <param name="searchgui_advanced_selector" type="select" label="SearchGUI Options">
                 <option value="basic" selected="True">Default</option>
@@ -369,26 +365,26 @@
             </param>
             <when value="basic" />
             <when value="advanced">
-		    <param name="correct_titles" type="select" label="How should PeptideShaker deal with duplicate spectra?"
-		        help="Unless you suspect some input files to be genuine duplicates then rename spectra is the safest option">
-		        <option value="0">no correction</option>
-		        <option value="1" selected="True">rename spectra</option>
-		        <option value="2">delete spectra</option>
-		    </param>
+            <param name="correct_titles" type="select" label="How should PeptideShaker deal with duplicate spectra?"
+                help="Unless you suspect some input files to be genuine duplicates then rename spectra is the safest option">
+                <option value="0">no correction</option>
+                <option value="1" selected="True">rename spectra</option>
+                <option value="2">delete spectra</option>
+            </param>
 
-		    <param name="missing_titles" type="boolean" checked="false" truevalue="-missing_titles 1" falsevalue="-missing_titles 0"
-		        label="Add missing spectrum titles" help="(-missing_titles)"/>
+            <param name="missing_titles" type="boolean" checked="false" truevalue="-missing_titles 1" falsevalue="-missing_titles 0"
+                label="Add missing spectrum titles" help="(-missing_titles)"/>
 
-		    <param name="mgf_splitting" type="integer" value="1000" label="The maximum mgf file size in MB before splitting the mgf"
-		        help="Choose a smaller value if you are running on a machine with limited memory"/>
+            <param name="mgf_splitting" type="integer" value="1000" label="The maximum mgf file size in MB before splitting the mgf"
+                help="Choose a smaller value if you are running on a machine with limited memory"/>
 
-		    <param name="mgf_spectrum_count" type="integer" value="25000" label="The maximum number of spectra per mgf file when splitting"
-		        help="Choose a smaller value if you are running on a machine with limited memory"/>
+            <param name="mgf_spectrum_count" type="integer" value="25000" label="The maximum number of spectra per mgf file when splitting"
+                help="Choose a smaller value if you are running on a machine with limited memory"/>
         </when>
         </conditional>
 
-     
-    	<!-- X!TANDEM ADVANCED PARAMETERS -->
+
+        <!-- X!TANDEM ADVANCED PARAMETERS -->
         <conditional name="xtandem">
             <param name="xtandem_advanced" type="select" label="X!Tandem Options">
                 <option value="yes">Advanced</option>
@@ -396,7 +392,7 @@
             </param>
             <when value="no" />
             <when value="yes">
-            	<param name="xtandem_npeaks" type="integer" value="50" 
+                <param name="xtandem_npeaks" type="integer" value="50" 
                     label="X!Tandem: Total Peaks" help="Maximum number of peaks to be used from a spectrum"/>
                 <param name="xtandem_min_peaks" type="integer" value="15" 
                     label="X!Tandem: Min Peaks" help="Minimum number of peaks required for a spectrum to be considered"/>
@@ -406,24 +402,24 @@
                     label="X!Tandem: Min Precursor Mass" help="Minimum mass of 1+ mass of parent ion to be considered"/>
                 <param name="xtandem_noise_suppr" type="boolean" checked="true" truevalue="1" falsevalue="0"
                     label="X!Tandem: Noise Suppression" help="Use noise suppression"/>
-				<param name="xtandem_dynamic_range" help="Sets the dynamic range for scoring spectra"
-					label="X!Tandem: Dynamic Range" value="100" type="integer" />
-				<param name="xtandem_quick_acetyl" help="Protein N-terminal modification detection"
-					label="X!Tandem: Quick Acetyl" type="boolean" truevalue="1" falsevalue="0" checked="true" />
-				<param name="xtandem_quick_pyro" help="Peptide N-terminus cyclization detection"
-					label="X!Tandem: Quick Pyrolidone" type="boolean" truevalue="1" falsevalue="0" checked="true" /> 
-				<param name="xtandem_stp_bias" help="Interpretation of peptide phosphorylation models"
-					label="X!Tandem: Protein stP Bias" type="boolean" truevalue="1" falsevalue="0" checked="false" /> 
-				<param name="xtandem_evalue" help="Highest value for recorded peptides"
-					label="X!Tandem: Maximum Valid Expectation Value" type="float" value="100" />
-				<param name="xtandem_output_proteins" help="Controls output of protein sequences"
-					label="X!Tandem: Output Proteins" type="boolean" truevalue="1" falsevalue="0" checked="false" />
-				<param name="xtandem_output_sequences" help="Controls output of sequence information"
-					label="X!Tandem: Output Sequences" type="boolean" truevalue="1" falsevalue="0" checked="false" />
-				<param name="xtandem_output_spectra" help="Controls output of spectrum information"
-					label="X!Tandem: Output Spectra" type="boolean" truevalue="1" falsevalue="0" checked="false" />
-				<!-- <param name="xtandem_skyline_path" label="X!Tandem 'spectrum, skyline path'" type="text" help="Path to a spectrum data file for use by skyline." -->
-					
+                <param name="xtandem_dynamic_range" help="Sets the dynamic range for scoring spectra"
+                    label="X!Tandem: Dynamic Range" value="100" type="integer" />
+                <param name="xtandem_quick_acetyl" help="Protein N-terminal modification detection"
+                    label="X!Tandem: Quick Acetyl" type="boolean" truevalue="1" falsevalue="0" checked="true" />
+                <param name="xtandem_quick_pyro" help="Peptide N-terminus cyclization detection"
+                    label="X!Tandem: Quick Pyrolidone" type="boolean" truevalue="1" falsevalue="0" checked="true" /> 
+                <param name="xtandem_stp_bias" help="Interpretation of peptide phosphorylation models"
+                    label="X!Tandem: Protein stP Bias" type="boolean" truevalue="1" falsevalue="0" checked="false" /> 
+                <param name="xtandem_evalue" help="Highest value for recorded peptides"
+                    label="X!Tandem: Maximum Valid Expectation Value" type="float" value="100" />
+                <param name="xtandem_output_proteins" help="Controls output of protein sequences"
+                    label="X!Tandem: Output Proteins" type="boolean" truevalue="1" falsevalue="0" checked="false" />
+                <param name="xtandem_output_sequences" help="Controls output of sequence information"
+                    label="X!Tandem: Output Sequences" type="boolean" truevalue="1" falsevalue="0" checked="false" />
+                <param name="xtandem_output_spectra" help="Controls output of spectrum information"
+                    label="X!Tandem: Output Spectra" type="boolean" truevalue="1" falsevalue="0" checked="false" />
+                <!-- <param name="xtandem_skyline_path" label="X!Tandem 'spectrum, skyline path'" type="text" help="Path to a spectrum data file for use by skyline." -->
+                    
                 <conditional name="xtandem_refine"><!-- -xtandem_refine -->
                     <param name="xtandem_refine_selector" type="select" label="X!Tandem peptide model refinement">
                         <option value="no" selected="True">Don't refine</option>
@@ -444,13 +440,13 @@
                         <param name="xtandem_refine_pot" type="boolean" truevalue="1" falsevalue="0" checked="false"
                             label="X!Tandem: Use potential modifications, refinement" help="Controls the use of refinement modifications in all refinement modules."/>
                         <param name="xtandem_refine_evalue" help="Highest value for recorded peptides during refinement"
-							label="X!Tandem: Maximum Valid Expectation Value, refinement" type="float" value="0.01" />
+                            label="X!Tandem: Maximum Valid Expectation Value, refinement" type="float" value="0.01" />
                     </when>
                 </conditional>
             </when>
         </conditional>
-						
-		<!-- OMSSA ADVANCED PARAMETERS -->
+
+        <!-- OMSSA ADVANCED PARAMETERS -->
         <conditional name="omssa">
             <param name="omssa_advanced" type="select" label="OMSSA Options">
                 <option value="yes">Advanced</option>
@@ -464,93 +460,92 @@
                 <param name="estimate_charge" label="OMSSA: Estimate Charge" type="boolean" truevalue="1" falsevalue="0" checked="true" />
                 
                 <param name="omssa_memory" type="boolean" truevalue="1" falsevalue="0" checked="true"
-                	label="OMSSA: Map Sequences in Memory" help="Use memory mapped sequence libraries" />
-    	  		<!-- param name="omssa_isotopes" type="integer" value="0" 
-    	  			label="OMSSA: Number of Isotopes" help="Number of isotopes to use (integer), 0 implies monoisotopic (default)" / -->
-   	    		<param name="omssa_neutron" type="float" value="1446.94" 
-   	    			label="OMSSA: Neutron Mass" help="Mass after which OMSSA should consider neutron exact mass" />
-    	    	<param name="omssa_low_intensity" type="float" value="0.0" 
-    	    		label="OMSSA: Low Intensity Cutoff" help="Low intensity cutoff as a fraction of max peak" />
-    	    	<param name="omssa_high_intensity" type="float" value="0.2" 
-    	    		label="OMSSA: High Intensity Cutoff" help="High intensity cutoff as a fraction of max peak" />
-   	    		<param name="omssa_intensity_incr" type="float" value="0.0005" 
-   	    			label="OMSSA: Intensity Increment" help="Intensity increment" />
-    	    	<param name="omssa_single_window_wd" type="integer" value="27" 
-    	    		label="OMSSA: Single Charge Window Width" help="Single charge window width in Da (integer)" />
-    	    	<param name="omssa_double_window_wd" type="integer" value="14" 
-    	    		label="OMSSA: Double Charge Window Width" help="OMSSA double charge window width in Da (integer)" />
-    	    	<param name="omssa_single_window_pk" type="integer" value="2" 
-    	    		label="OMSSA: Single Charge Window Peaks" help="Minimum number of peaks in single charge window (integer)" />
-    	    	<param name="omssa_double_window_pk" type="integer" value="2" 
-    	    		label="OMSSA: Double Charge Window Peaks" help="Minimum number of peaks in double charge window (integer)" />
-    	    	<param name="omssa_min_ann_int_pks" type="integer" value="6" 
-    	    		label="OMSSA: Minimum Number of Annotated Peaks of Intense Ones" help="Minimum number of annotated peaks among the most intense ones" />
-        		<param name="omssa_min_annotated_peaks" type="integer" value="2" 
-        			label="OMSSA: Minimum number of Annotated Peaks" help="Minimum number of annotated peaks" />
-   	    		<param name="omssa_min_peaks" type="integer" value="4" 
-   	    			label="OMSSA: Minimum Peak Count" help="The minimum number of m/z values a spectrum must have to be searched" />
-    	    	<param name="omssa_methionine" type="boolean" truevalue="1" falsevalue="0" checked="true"
-    	    		label="OMSSA: Cleave n-term Methionine" help="Allow for N-terminal methionine cleavage" />
-    	    	<param name="omssa_max_ladders" type="integer" value="128" 
-    	    		label="OMSSA: Maximum Number of m/z Ladders" help="The maximum number of mass ladders to generate per database peptide" />
-    	    	<param name="omssa_max_frag_charge" type="integer" value="2" 
-    	    		label="OMSSA: Maximum Fragment Charge" help="Maximum fragment charge" />
-    	    	<param name="omssa_fraction" type="float" value="0.95" 
-    	    		label="OMSSA: Fraction of Peaks to estimate Charge 1" help="fraction of peaks to estimate charge 1" />
-    	    	<param name="omssa_plus_one" type="boolean" truevalue="1" falsevalue="0" checked="true" 
-    	    		label="OMSSA: Estimate Plus One Charge" help="Allow OMSSA to estimate plus one charge algorithmically"/>
-    	    	<param name="omssa_charge" type="select" 
-    	    		label="OMSSA: Fragment Charge" help="OMSSA fragment charge option" >
-                <option value="0" >Minus</option>
-                <option value="1" selected="True">Plus</option>
-    	    	</param>
-    	    	<param name="omssa_prec_per_spectrum" type="integer" value="1" 
-    	    		label="OMSSA: Minimum Number of Precursors per Spectrum" help="Minimum number of precursors per spectrum" />
-    	    	<param name="omssa_forward" type="boolean" truevalue="1" falsevalue="0" checked="true" 
-    	    		label="OMSSA: Include First Forward Ion (b1) in Search" help="Allow OMSSA to include first forward ion (b1) in search" />
-    	    	<param name="omssa_rewind" type="boolean" truevalue="1" falsevalue="0" checked="true"  
-    	    		label="OMSSA: Search Rewind" help="Allow search rewind (C-terminal) ions" />
-				<param name="omssa_max_frag_series" type="integer" value="100" 
-    	    		label="OMSSA: Maximum Fragment per Series" help="Max number of fragments ions ions in each series being searched" />
-    	    	<param name="omssa_corr" type="boolean" truevalue="1" falsevalue="0" checked="true" 
-    	    		label="OMSSA: Use Correlation Correction" help="Allow the use correlation correction score" />
-    	    	<param name="omssa_consecutive_p" type="float" value="0.5" 
-    	    		label="OMSSA: Consecutive Ion Probability" help="Probability of consecutive ion (used in correlation correction)" />
-    	    	<param name="omssa_it_sequence_evalue" type="float" value="0.0" 
-    	    		label="OMSSA: Sequence e-value Cutoff" help="The maximum e-value allowed to consider a sequence in the iterative search(0.0 means all)" />
-    	    	<param name="omssa_it_spectrum_evalue" type="float" value="0.01" 
-    	    		label="OMSSA: Spectrum e-value Cutoff" help="The maximum e-value allowed to consider a spectrum in the iterative search(0.0 means all)" />
-    	    	<param name="omssa_it_replace_evalue" type="float" value="0.01" 
-    	    		label="OMSSA: Replace e-value cutoff" help="The maximum e-value allowed to replace a hit in the iterative search(0.0 means all)" />
-    	    	<param name="omssa_remove_prec" type="boolean" truevalue="1" falsevalue="0" checked="true" 
-    	    		label="OMSSA: Remove Precursor" help="Remove precursors" />
-				<param name="omssa_scale_prec" type="boolean" truevalue="1" falsevalue="0" checked="false"  
-    	    		label="OMSSA: Scale Precursor Mass" help="scale precursor mass" />
-    	    	<param name="omssa_estimate_charge" type="boolean" truevalue="1" falsevalue="0" checked="true"  
-    	    		label="OMSSA: Remove Precursor" help="Remove precursors" />
-    	    	<param name="omssa_max_evalue" type="float" value="100" 
-    	    		label="OMSSA: Maximal evalue Considered" help="The maximum e-value considered" />
-    	    	<param name="omssa_remove_prec" type="boolean" truevalue="1" falsevalue="0" checked="true"  
-    	    		label="OMSSA: Estimate Precursor Charge" help="Allow estimation of precursor charge" />
-    	    	<param name="omssa_it_replace_evalue" type="float" value="100" 
-    	    		label="OMSSA: Maximal evalue" help="The maximum OMSSA e-value considered" />
-    	    	<param name="omssa_hitlist_length" type="integer" value="0" 
-    	    		label="OMSSA: Hitlist Length" help="OMSSA hitlist length, 0 means all" />
-        		<param name="omssa_hitlist_charge" type="integer" value="30" 
-        			label="OMSSA: Number of Hits per Spectrum per Charge" help="number of hits per spectrum per charge" />
-	   		 	<param name="omssa_min_pep_length" type="integer" value="4" 
-	   		 		label="OMSSA: Minumum Peptide Length" help="Minimum length of peptides for no-enzyme and semi-tryptic searches" />
-	   	 		<param name="omssa_max_pep_length" type="integer" value="40" 
-	   	 			label="OMSSA: Maximum Peptide Length" help="Maximum length of peptides for no-enzyme and semi-tryptic searches (0: none)" />
-	   	 		<param name="omssa_format" label="OMSSA output format" type="select" >
-                	<option value="0" selected="True">OMX</option>
-                	<option value="1" >CSV</option>
-                </param> 
-				
+                    label="OMSSA: Map Sequences in Memory" help="Use memory mapped sequence libraries" />
+                  <!-- param name="omssa_isotopes" type="integer" value="0" 
+                      label="OMSSA: Number of Isotopes" help="Number of isotopes to use (integer), 0 implies monoisotopic (default)" / -->
+                   <param name="omssa_neutron" type="float" value="1446.94" 
+                       label="OMSSA: Neutron Mass" help="Mass after which OMSSA should consider neutron exact mass" />
+                <param name="omssa_low_intensity" type="float" value="0.0" 
+                    label="OMSSA: Low Intensity Cutoff" help="Low intensity cutoff as a fraction of max peak" />
+                <param name="omssa_high_intensity" type="float" value="0.2" 
+                    label="OMSSA: High Intensity Cutoff" help="High intensity cutoff as a fraction of max peak" />
+                   <param name="omssa_intensity_incr" type="float" value="0.0005" 
+                       label="OMSSA: Intensity Increment" help="Intensity increment" />
+                <param name="omssa_single_window_wd" type="integer" value="27" 
+                    label="OMSSA: Single Charge Window Width" help="Single charge window width in Da (integer)" />
+                <param name="omssa_double_window_wd" type="integer" value="14" 
+                    label="OMSSA: Double Charge Window Width" help="OMSSA double charge window width in Da (integer)" />
+                <param name="omssa_single_window_pk" type="integer" value="2" 
+                    label="OMSSA: Single Charge Window Peaks" help="Minimum number of peaks in single charge window (integer)" />
+                <param name="omssa_double_window_pk" type="integer" value="2" 
+                    label="OMSSA: Double Charge Window Peaks" help="Minimum number of peaks in double charge window (integer)" />
+                <param name="omssa_min_ann_int_pks" type="integer" value="6" 
+                    label="OMSSA: Minimum Number of Annotated Peaks of Intense Ones" help="Minimum number of annotated peaks among the most intense ones" />
+                <param name="omssa_min_annotated_peaks" type="integer" value="2" 
+                    label="OMSSA: Minimum number of Annotated Peaks" help="Minimum number of annotated peaks" />
+                   <param name="omssa_min_peaks" type="integer" value="4" 
+                       label="OMSSA: Minimum Peak Count" help="The minimum number of m/z values a spectrum must have to be searched" />
+                <param name="omssa_methionine" type="boolean" truevalue="1" falsevalue="0" checked="true"
+                    label="OMSSA: Cleave n-term Methionine" help="Allow for N-terminal methionine cleavage" />
+                <param name="omssa_max_ladders" type="integer" value="128" 
+                    label="OMSSA: Maximum Number of m/z Ladders" help="The maximum number of mass ladders to generate per database peptide" />
+                <param name="omssa_max_frag_charge" type="integer" value="2" 
+                    label="OMSSA: Maximum Fragment Charge" help="Maximum fragment charge" />
+                <param name="omssa_fraction" type="float" value="0.95" 
+                    label="OMSSA: Fraction of Peaks to estimate Charge 1" help="fraction of peaks to estimate charge 1" />
+                <param name="omssa_plus_one" type="boolean" truevalue="1" falsevalue="0" checked="true" 
+                    label="OMSSA: Estimate Plus One Charge" help="Allow OMSSA to estimate plus one charge algorithmically"/>
+                <param name="omssa_charge" type="select" 
+                    label="OMSSA: Fragment Charge" help="OMSSA fragment charge option" >
+                    <option value="0" >Minus</option>
+                    <option value="1" selected="True">Plus</option>
+                </param>
+                <param name="omssa_prec_per_spectrum" type="integer" value="1" 
+                    label="OMSSA: Minimum Number of Precursors per Spectrum" help="Minimum number of precursors per spectrum" />
+                <param name="omssa_forward" type="boolean" truevalue="1" falsevalue="0" checked="true" 
+                    label="OMSSA: Include First Forward Ion (b1) in Search" help="Allow OMSSA to include first forward ion (b1) in search" />
+                <param name="omssa_rewind" type="boolean" truevalue="1" falsevalue="0" checked="true"  
+                    label="OMSSA: Search Rewind" help="Allow search rewind (C-terminal) ions" />
+                <param name="omssa_max_frag_series" type="integer" value="100" 
+                    label="OMSSA: Maximum Fragment per Series" help="Max number of fragments ions ions in each series being searched" />
+                <param name="omssa_corr" type="boolean" truevalue="1" falsevalue="0" checked="true" 
+                    label="OMSSA: Use Correlation Correction" help="Allow the use correlation correction score" />
+                <param name="omssa_consecutive_p" type="float" value="0.5" 
+                    label="OMSSA: Consecutive Ion Probability" help="Probability of consecutive ion (used in correlation correction)" />
+                <param name="omssa_it_sequence_evalue" type="float" value="0.0" 
+                    label="OMSSA: Sequence e-value Cutoff" help="The maximum e-value allowed to consider a sequence in the iterative search(0.0 means all)" />
+                <param name="omssa_it_spectrum_evalue" type="float" value="0.01" 
+                    label="OMSSA: Spectrum e-value Cutoff" help="The maximum e-value allowed to consider a spectrum in the iterative search(0.0 means all)" />
+                <param name="omssa_it_replace_evalue" type="float" value="0.01" 
+                    label="OMSSA: Replace e-value cutoff" help="The maximum e-value allowed to replace a hit in the iterative search(0.0 means all)" />
+                <param name="omssa_remove_prec" type="boolean" truevalue="1" falsevalue="0" checked="true" 
+                    label="OMSSA: Remove Precursor" help="Remove precursors" />
+                <param name="omssa_scale_prec" type="boolean" truevalue="1" falsevalue="0" checked="false"  
+                    label="OMSSA: Scale Precursor Mass" help="scale precursor mass" />
+                <param name="omssa_estimate_charge" type="boolean" truevalue="1" falsevalue="0" checked="true"  
+                    label="OMSSA: Remove Precursor" help="Remove precursors" />
+                <param name="omssa_max_evalue" type="float" value="100" 
+                    label="OMSSA: Maximal evalue Considered" help="The maximum e-value considered" />
+                <param name="omssa_remove_prec" type="boolean" truevalue="1" falsevalue="0" checked="true"  
+                    label="OMSSA: Estimate Precursor Charge" help="Allow estimation of precursor charge" />
+                <param name="omssa_it_replace_evalue" type="float" value="100" 
+                    label="OMSSA: Maximal evalue" help="The maximum OMSSA e-value considered" />
+                <param name="omssa_hitlist_length" type="integer" value="0" 
+                    label="OMSSA: Hitlist Length" help="OMSSA hitlist length, 0 means all" />
+                <param name="omssa_hitlist_charge" type="integer" value="30" 
+                    label="OMSSA: Number of Hits per Spectrum per Charge" help="number of hits per spectrum per charge" />
+                <param name="omssa_min_pep_length" type="integer" value="4" 
+                    label="OMSSA: Minumum Peptide Length" help="Minimum length of peptides for no-enzyme and semi-tryptic searches" />
+                <param name="omssa_max_pep_length" type="integer" value="40" 
+                    label="OMSSA: Maximum Peptide Length" help="Maximum length of peptides for no-enzyme and semi-tryptic searches (0: none)" />
+                <param name="omssa_format" label="OMSSA output format" type="select" >
+                    <option value="0" selected="True">OMX</option>
+                    <option value="1" >CSV</option>
+                </param>
             </when>
         </conditional>
 
-		<!-- MS-GF+ ADVANCED PARAMETERS -->
+        <!-- MS-GF+ ADVANCED PARAMETERS -->
         <conditional name="msgf">
             <param name="msgf_advanced" type="select" label="MSGF Options">
                 <option value="yes">Advanced</option>
@@ -572,37 +567,37 @@
                 </param>
                 <param name="msgf_num_ptms" label="MSGF: Max PTMs per peptide" type="integer" value="2"/>
                 
-			    <param name="msgf_instrument" label="MSGF: Instrument type" type="select" help="Identifier of the instrument to generate MS/MS spectra (used to determine the scoring model)">
-			                	<option value="0" selected="True">Low-res LCQ/LTQ</option>
-			                	<option value="1" >High-res LTQ</option>
-			                	<option value="2" >TOF</option>
-			                	<option value="3" >Q-Exactive</option>
-			    </param>
-			    <param name="msgf_fragmentation" label="MSGF: Fragmentation type" type="select" help="Fragmentation method identifier (used to determine the scoring model)">
-			                	<option value="0" selected="True">As written in the spectrum or CID if no info</option>
-			                	<option value="1" >CID</option>
-			                	<option value="2" >ETD</option>
-			                	<option value="3" >HCD</option>
-			    </param>
-			    <param name="msgf_protocol" label="MSGF: Protocol type" type="select" help="Protocol identifier. Protocols are used to enable scoring parameters for enriched and/or labeled samples">
-			                	<option value="0" selected="True">Automatic</option>
-			                	<option value="1" >Phosphorylation</option>
-			                	<option value="2" >iTRAQ</option>
-			                	<option value="3" >iTRAQPhospho</option>
-			                	<option value="4" >TMT</option>
-			                	<option value="5" >Standard</option>
-			    </param>
-			    <param name="msgf_num_matches" label="MSGF: Maximum Number of Spectrum Matches" type="integer" value="1" help="Number of peptide matches per spectrum to report" />
-			    <param name="msgf_additional" label="MS-GF+ additional features" type="select" help="Additional features to export">
-			             		<option value="0" selected="True">output basic scores only</option>
-			                	<option value="1" >output additional features</option>
-			    </param>
-			    <param name="msgf_isotope_low" label="MSGF: Lower Isotope Error Range" type="integer" value="0" help="Lower isotope error range" />
-			    <param name="msgf_isotope_high" label="MSGF: Upper Isotope Error Range" type="integer" value="1" help="Upper isotope errror range" /> 
+                <param name="msgf_instrument" label="MSGF: Instrument type" type="select" help="Identifier of the instrument to generate MS/MS spectra (used to determine the scoring model)">
+                    <option value="0" selected="True">Low-res LCQ/LTQ</option>
+                    <option value="1" >High-res LTQ</option>
+                    <option value="2" >TOF</option>
+                    <option value="3" >Q-Exactive</option>
+                </param>
+                <param name="msgf_fragmentation" label="MSGF: Fragmentation type" type="select" help="Fragmentation method identifier (used to determine the scoring model)">
+                    <option value="0" selected="True">As written in the spectrum or CID if no info</option>
+                    <option value="1" >CID</option>
+                    <option value="2" >ETD</option>
+                    <option value="3" >HCD</option>
+                </param>
+                <param name="msgf_protocol" label="MSGF: Protocol type" type="select" help="Protocol identifier. Protocols are used to enable scoring parameters for enriched and/or labeled samples">
+                    <option value="0" selected="True">Automatic</option>
+                    <option value="1" >Phosphorylation</option>
+                    <option value="2" >iTRAQ</option>
+                    <option value="3" >iTRAQPhospho</option>
+                    <option value="4" >TMT</option>
+                    <option value="5" >Standard</option>
+                </param>
+                <param name="msgf_num_matches" label="MSGF: Maximum Number of Spectrum Matches" type="integer" value="1" help="Number of peptide matches per spectrum to report" />
+                <param name="msgf_additional" label="MS-GF+ additional features" type="select" help="Additional features to export">
+                    <option value="0" selected="True">output basic scores only</option>
+                    <option value="1" >output additional features</option>
+                </param>
+                <param name="msgf_isotope_low" label="MSGF: Lower Isotope Error Range" type="integer" value="0" help="Lower isotope error range" />
+                <param name="msgf_isotope_high" label="MSGF: Upper Isotope Error Range" type="integer" value="1" help="Upper isotope errror range" /> 
             </when>
         </conditional>
 
-  		<!-- MS-AMANDA ADVANCED PARAMETERS  -->
+          <!-- MS-AMANDA ADVANCED PARAMETERS  -->
         <conditional name="ms_amanda">
             <param name="ms_amanda_advanced" type="select" label="MS Amanda Options">
                 <option value="yes">Advanced</option>
@@ -610,20 +605,20 @@
             </param>
             <when value="no" />
             <when value="yes">
-            	<param name="ms_amanda_decoy"  type="boolean" truevalue="1" falsevalue="0" checked="false" 
-            		label="MS Amanda: Generate Decoys" help="generate decoys" />
-				<param name="ms_amanda_max_evalue" type="float" value="100" 
-					label="MS Amanda: Maximal Evalue" help="MS Amanda maximal evalue considered" />
-				<param name="ms_amanda_instrument" label="MS Amanda: instrument" type="float" value="100" help="MS Amanda instrument id option. Available enzymes are listed in the GUI. (Note: case sensitive.)." />
-				<param name="ms_amanda_max_rank" type="integer" value="5" 
-					label="MS Amanda: Maximum Rank" help="MS Amanda maximum rank" />
-				<param name="ms_amanda_mono" type="boolean" truevalue="1" falsevalue="0" checked="true"
-					label="MS Amanda: Use Monoisotopic Mass Values" help="MS Amanda use monoisotopic mass values" />
+                <param name="ms_amanda_decoy"  type="boolean" truevalue="1" falsevalue="0" checked="false" 
+                    label="MS Amanda: Generate Decoys" help="generate decoys" />
+                <param name="ms_amanda_max_evalue" type="float" value="100" 
+                    label="MS Amanda: Maximal Evalue" help="MS Amanda maximal evalue considered" />
+                <param name="ms_amanda_instrument" label="MS Amanda: instrument" type="float" value="100" help="MS Amanda instrument id option. Available enzymes are listed in the GUI. (Note: case sensitive.)." />
+                <param name="ms_amanda_max_rank" type="integer" value="5" 
+                    label="MS Amanda: Maximum Rank" help="MS Amanda maximum rank" />
+                <param name="ms_amanda_mono" type="boolean" truevalue="1" falsevalue="0" checked="true"
+                    label="MS Amanda: Use Monoisotopic Mass Values" help="MS Amanda use monoisotopic mass values" />
             </when>
         </conditional>
-		
+
 
-		<!-- TIDE ADVANCED PARAMETERS -->
+        <!-- TIDE ADVANCED PARAMETERS -->
         <conditional name="tide">
             <param name="tide_advanced" type="select" label="TIDE Options">
                 <option value="yes">Advanced</option>
@@ -643,42 +638,42 @@
                     label="TIDE: Minimum Precursor Mass" help="Set the minimum precursor mass to be considered"/>
                 <param name="tide_max_prec_mass" type="float" value="7200.0"
                     label="TIDE: Maximum Precursor Mass" help="Set the maximum precursor mass to be considered"/>
-  	<param name="tide_decoy_format" label="TIDE: Decoy Format" type="select" help="Select the format for generating the decoy sequences">
-			                	<option value="none" selected="True">none</option>
-			                	<option value="shuffle" >shuffle</option>
-			                	<option value="peptide-revers" >peptide-reverse</option>
-			                	<option value="protein-reverse" >protein-reverse</option>
-	</param>
-  	<param name="tide_keep_terminals" label="TIDE: Keep Terminals" type="select" help="Select to keep the terminal amino acids when creating decoys">
-			                	<option value="N" >N</option>
-			                	<option value="C" >C</option>
-			                	<option value="NC" selected="True">NC</option>
-			                	<option value="non" >none</option>
-	</param>
+                <param name="tide_decoy_format" label="TIDE: Decoy Format" type="select" help="Select the format for generating the decoy sequences">
+                    <option value="none" selected="True">none</option>
+                    <option value="shuffle" >shuffle</option>
+                    <option value="peptide-revers" >peptide-reverse</option>
+                    <option value="protein-reverse" >protein-reverse</option>
+                </param>
+                <param name="tide_keep_terminals" label="TIDE: Keep Terminals" type="select" help="Select to keep the terminal amino acids when creating decoys">
+                    <option value="N" >N</option>
+                    <option value="C" >C</option>
+                    <option value="NC" selected="True">NC</option>
+                    <option value="non" >none</option>
+                </param>
                 <param name="tide_decoy_seed" type="integer" value="1"
                     label="TIDE: Decoy Seed" help="Set the decoy seed"/>
                 <param name="tide_output_folder" type="text" value="crux-output"
                     label="TIDE: Output Folder" help="Set the results output folder (relative to the Tide working folder)"/>
                 <param name="tide_print_peptides" type="boolean" truevalue="1" falsevalue="0" checked="false"
                     label="TIDE: Print Peptides" help="If true, the peptides will be printed in the output"/>
-  	<param name="tide_verbosity" label="TIDE: Progress Display Verbosity" type="select" help="Select the display verbosity level to report the search progress">
-			                	<option value="0" >0</option>
-			                	<option value="10" >10</option>
-			                	<option value="20" >20</option>
-			                	<option value="30" selected="True">30</option>
-			                	<option value="40" >40</option>
-			                	<option value="50" >50</option>
-			                	<option value="60" >60</option>
-	</param>
+                <param name="tide_verbosity" label="TIDE: Progress Display Verbosity" type="select" help="Select the display verbosity level to report the search progress">
+                    <option value="0" >0</option>
+                    <option value="10" >10</option>
+                    <option value="20" >20</option>
+                    <option value="30" selected="True">30</option>
+                    <option value="40" >40</option>
+                    <option value="50" >50</option>
+                    <option value="60" >60</option>
+                </param>
 
                 <param name="tide_monoisotopic" type="boolean" truevalue="1" falsevalue="0" checked="true"
                     label="TIDE: Monoisotopic" help="If true, the precursor mass is monoisotopic"/>
                 <param name="tide_clip_n_term" type="boolean" truevalue="1" falsevalue="0" checked="false"
                     label="TIDE: Clip Nterm Methionine" help="If true, the Nterm Methionine will be clipped"/>
-  	<param name="tide_digestion_type" label="TIDE: Digestion Type" type="select" help="Either both ends (full-digest) or at least one end (partial-digest) of a peptide must conform to enzyme specificity rules">
-			                	<option value="full-digest" selected="True">full-digest</option>
-			                	<option value="partial-digest" >partial-digest</option>
-	</param>
+                <param name="tide_digestion_type" label="TIDE: Digestion Type" type="select" help="Either both ends (full-digest) or at least one end (partial-digest) of a peptide must conform to enzyme specificity rules">
+                    <option value="full-digest" selected="True">full-digest</option>
+                    <option value="partial-digest" >partial-digest</option>
+                </param>
                 <param name="tide_compute_sp" type="boolean" truevalue="1" falsevalue="0" checked="false"
                     label="TIDE: Compute SP" help="If true, the SP-score is calculated"/>
                 <param name="tide_max_psms" type="integer" value="10"
@@ -691,12 +686,12 @@
                     label="TIDE: Maximum Spectrum m/z" help="Set the maximum spectrum m/z value for a spectrum to be considered"/>
                 <param name="tide_min_spectrum_peaks" type="integer" value="20"
                     label="TIDE: Minimum Spectrum Peaks" help="Set the minimum amount of peaks in a spectrum for it to be considered"/>
-  	<param name="tide_spectrum_charges" label="TIDE: Spectrum Charges" type="select" help="Select what precursor charges should be taken into account for matching">
-			                	<option value="1" >1</option>
-			                	<option value="2" >2</option>
-			                	<option value="3" >3</option>
-			                	<option value="all" selected="True">all</option>
-	</param>
+                <param name="tide_spectrum_charges" label="TIDE: Spectrum Charges" type="select" help="Select what precursor charges should be taken into account for matching">
+                    <option value="1" >1</option>
+                    <option value="2" >2</option>
+                    <option value="3" >3</option>
+                    <option value="all" selected="True">all</option>
+                </param>
                 <param name="tide_remove_prec" type="boolean" truevalue="1" falsevalue="0" checked="false"
                     label="TIDE: Remove Precursor" help="If true, the peak that corresponds to the precursor mass is excluded"/>
                 <param name="tide_remove_prec_tol" type="float" value="1.5"
@@ -728,7 +723,7 @@
             </when>
         </conditional>
 
-		<!-- MyriMatch ADVANCED PARAMETERS -->
+        <!-- MyriMatch ADVANCED PARAMETERS -->
         <conditional name="myrimatch">
             <param name="myrimatch_advanced" type="select" label="MyriMatch Options">
                 <option value="yes">Advanced</option>
@@ -736,49 +731,49 @@
             </param>
             <when value="no" />
             <when value="yes">
-            	<param name="myrimatch_min_pep_length"  type="integer" value="6"
-            		label="MyriMatch: Minimum Peptide Length" help="Minimum length for a peptide to be considered" />
-            	<param name="myrimatch_max_pep_length"  type="integer" value="30"
-            		label="MyriMatch: Maximum Peptide Length" help="Maximum length for a peptide to be considered" />
-            	<param name="myrimatch_min_prec_mass"  type="float" value="0.0"
-            		label="MyriMatch: Minimum Peptide Mass" help="Minimum 1+ mass of parent ion to be considered" />
-            	<param name="myrimatch_max_prec_mass"  type="float" value="10000.0"
-            		label="MyriMatch: Maximum Peptide Mass" help="Maximum 1+ mass of parent ion to be considered" />
-            	<param name="myrimatch_isotope_low"  type="integer" value="-1"
-            		label="MyriMatch: Lower Isotope Error Range" help="Lower isotope error ragne" />
-            	<param name="myrimatch_isotope_high"  type="integer" value="2"
-            		label="MyriMatch: Upper Isotope Error Range" help="Upper isotope error range" />
-            	<param name="myrimatch_num_matches"  type="integer" value="10"
-            		label="MyriMatch: Maximum Number of Spectrum Matches" help="Set the value for the maximum number of spectrum matches" />
-            	<param name="myrimatch_num_ptms"  type="integer" value="2"
-            		label="MyriMatch: Number of PTMs" help="Set the number of PTMS allowed per peptide" />
-			    <param name="myrimatch_fragmentation" label="MyriMatch: Fragmentation Method" type="select" help="Choose the fragmentation method used (CID: b,y) or (ETD: c, z*)">
-			                	<option value="CID" selected="True">CID</option>
-			                	<option value="ETD" >ETD</option>
-			    </param>
-			    <param name="myrimatch_termini" label="MyriMatch: Number of Enzymatic Termini" type="select" help="Select the number of enzymatic termini">
-			                	<option value="0">non-tryptic</option>
-			                	<option value="1" >semi-tryptic</option>
-			                	<option value="2"  selected="True" >fully-tryptic</option>
-			    </param>					    
-            	<param name="myrimatch_plus_three"  type="boolean" truevalue="1" falsevalue="0" checked="true" 
-            		label="MyriMatch: Smart Plus Three Option" help="Defines what algorithms are used to generate a set of theoretical fragment ions" />
-            	<param name="myrimatch_xcorr"  type="boolean" truevalue="1" falsevalue="0" checked="false" 
-            		label="MyriMatch: Xcorr Option" help="a Sequest-like cross correlation score can be calculated for the top ranking hits" />                		
-            	<param name="myrimatch_tic_cutoff"  type="float" value="0.98"
-            		label="MyriMatch: TIC cutoff percentage" help="Cumulative ion current of picked peaks divided by TIC >= this value for peaks to be retained" />
-            	<param name="myrimatch_intensity_classes"  type="integer" value="3"
-            		label="MyriMatch: Number of Intensity Classes" help="Experimental spectra have their peaks stratified into this number of intensity classed" />
-            	<param name="myrimatch_class_multiplier"  type="integer" value="2"
-            		label="MyriMatch: Class Multiplier" help="Has to do with previous option, this parameter controls the size of each class relative to the class above" />
-            	<param name="myrimatch_num_batches"  type="integer" value="50"
-            		label="MyriMatch: Number of Batches" help="The number of batches per node to strive for when usinge the MPI-based parallelization features" />
-            	<param name="myrimatch_max_peak"  type="integer" value="100"
-            		label="MyriMatch: Maximum Peak Count" help="Maximum number of peaks to be used from a spectrum" />
+                <param name="myrimatch_min_pep_length"  type="integer" value="6"
+                    label="MyriMatch: Minimum Peptide Length" help="Minimum length for a peptide to be considered" />
+                <param name="myrimatch_max_pep_length"  type="integer" value="30"
+                    label="MyriMatch: Maximum Peptide Length" help="Maximum length for a peptide to be considered" />
+                <param name="myrimatch_min_prec_mass"  type="float" value="0.0"
+                    label="MyriMatch: Minimum Peptide Mass" help="Minimum 1+ mass of parent ion to be considered" />
+                <param name="myrimatch_max_prec_mass"  type="float" value="10000.0"
+                    label="MyriMatch: Maximum Peptide Mass" help="Maximum 1+ mass of parent ion to be considered" />
+                <param name="myrimatch_isotope_low"  type="integer" value="-1"
+                    label="MyriMatch: Lower Isotope Error Range" help="Lower isotope error ragne" />
+                <param name="myrimatch_isotope_high"  type="integer" value="2"
+                    label="MyriMatch: Upper Isotope Error Range" help="Upper isotope error range" />
+                <param name="myrimatch_num_matches"  type="integer" value="10"
+                    label="MyriMatch: Maximum Number of Spectrum Matches" help="Set the value for the maximum number of spectrum matches" />
+                <param name="myrimatch_num_ptms"  type="integer" value="2"
+                    label="MyriMatch: Number of PTMs" help="Set the number of PTMS allowed per peptide" />
+                <param name="myrimatch_fragmentation" label="MyriMatch: Fragmentation Method" type="select" help="Choose the fragmentation method used (CID: b,y) or (ETD: c, z*)">
+                    <option value="CID" selected="True">CID</option>
+                    <option value="ETD" >ETD</option>
+                </param>
+                <param name="myrimatch_termini" label="MyriMatch: Number of Enzymatic Termini" type="select" help="Select the number of enzymatic termini">
+                    <option value="0">non-tryptic</option>
+                    <option value="1" >semi-tryptic</option>
+                    <option value="2"  selected="True" >fully-tryptic</option>
+                </param>
+                <param name="myrimatch_plus_three"  type="boolean" truevalue="1" falsevalue="0" checked="true" 
+                    label="MyriMatch: Smart Plus Three Option" help="Defines what algorithms are used to generate a set of theoretical fragment ions" />
+                <param name="myrimatch_xcorr"  type="boolean" truevalue="1" falsevalue="0" checked="false" 
+                    label="MyriMatch: Xcorr Option" help="a Sequest-like cross correlation score can be calculated for the top ranking hits" />                        
+                <param name="myrimatch_tic_cutoff"  type="float" value="0.98"
+                    label="MyriMatch: TIC cutoff percentage" help="Cumulative ion current of picked peaks divided by TIC >= this value for peaks to be retained" />
+                <param name="myrimatch_intensity_classes"  type="integer" value="3"
+                    label="MyriMatch: Number of Intensity Classes" help="Experimental spectra have their peaks stratified into this number of intensity classed" />
+                <param name="myrimatch_class_multiplier"  type="integer" value="2"
+                    label="MyriMatch: Class Multiplier" help="Has to do with previous option, this parameter controls the size of each class relative to the class above" />
+                <param name="myrimatch_num_batches"  type="integer" value="50"
+                    label="MyriMatch: Number of Batches" help="The number of batches per node to strive for when usinge the MPI-based parallelization features" />
+                <param name="myrimatch_max_peak"  type="integer" value="100"
+                    label="MyriMatch: Maximum Peak Count" help="Maximum number of peaks to be used from a spectrum" />
             </when>
         </conditional>
-		
-		<!-- Comet ADVANCED PARAMETERS -->
+
+        <!-- Comet ADVANCED PARAMETERS -->
         <conditional name="comet">
             <param name="comet_advanced" type="select" label="Comet Options">
                 <option value="yes">Advanced</option>
@@ -786,95 +781,94 @@
             </param>
             <when value="no" />
             <when value="yes">
-            	<!-- Spectrum Related parameters -->
-            	<conditional name="comet_spectrum">
+                <!-- Spectrum Related parameters -->
+                <conditional name="comet_spectrum">
                     <param name="comet_spectrum_selector" type="select" label="Comet: Spectrum Related">
                         <option value="yes">Set Spectrum Parameters</option>
                         <option value="no" selected="True">Keep Default Spectrum Parameters</option>
                     </param>
                     <when value="no" />
                     <when value="yes">
-                    	<param name="comet_min_peaks"  type="integer" value="10"
-                    		label="Comet: Minimum Number of Peaks per Spectrum" help="The minimum number of peaks per spectrum" />
-                    	<param name="comet_min_peak_int"  type="float" value="0.0"
-                    		label="Comet: Minimum Peaks Intensity" help="The minimum intensity for input peaks to be considered" />
-                    	<param name="comet_remove_prec" label="Comet: Remove Precursor" type="select" help="Select for precursor m/z signal removal">
-					                	<option value="0"  selected="True" >off</option>
-					                	<option value="1">on</option>
-					                	<option value="2">as expected for ETD/ECD spectra</option>
-					    </param>
-					    <when value="0" />
-                    	<when value="1">
-	                    	<param name="comet_remove_prec_tol"  type="float" value="1.5"
-	                    		label="Comet: Remove Precursor Tolerance" />	
-	                    </when>
-	                    <when value="2">
-	                    	<param name="comet_remove_prec_tol"  type="float" value="1.5"
-	                    		label="Comet: Remove Precursor Tolerance" />	
-	                    </when>
-                    	<param name="comet_clear_mz_range_lower"  type="float" value="0.0"
-                    		label="Comet: Minimum Peaks Intensity" help="Intended for iTRAQ/TMT type data where one might want to remove the reporter ion signals, lower m/z range" />
-                    	<param name="comet_clear_mz_range_upper"  type="float" value="0.0"
-                    		label="Comet: Maximum Peaks Intensity" help="Intended for iTRAQ/TMT type data where one might want to remove the reporter ion signals, upper m/z range" />	
-					</when>
-        		</conditional>
-              	<!-- Search Related parameters -->
-            	<conditional name="comet_search">
+                        <param name="comet_min_peaks"  type="integer" value="10"
+                            label="Comet: Minimum Number of Peaks per Spectrum" help="The minimum number of peaks per spectrum" />
+                        <param name="comet_min_peak_int"  type="float" value="0.0"
+                            label="Comet: Minimum Peaks Intensity" help="The minimum intensity for input peaks to be considered" />
+                        <param name="comet_remove_prec" label="Comet: Remove Precursor" type="select" help="Select for precursor m/z signal removal">
+                            <option value="0"  selected="True" >off</option>
+                            <option value="1">on</option>
+                            <option value="2">as expected for ETD/ECD spectra</option>
+                        </param>
+                        <when value="0" />
+                        <when value="1">
+                            <param name="comet_remove_prec_tol"  type="float" value="1.5"
+                                label="Comet: Remove Precursor Tolerance" />
+                        </when>
+                        <when value="2">
+                            <param name="comet_remove_prec_tol"  type="float" value="1.5"
+                                label="Comet: Remove Precursor Tolerance" />
+                        </when>
+                        <param name="comet_clear_mz_range_lower"  type="float" value="0.0"
+                            label="Comet: Minimum Peaks Intensity" help="Intended for iTRAQ/TMT type data where one might want to remove the reporter ion signals, lower m/z range" />
+                        <param name="comet_clear_mz_range_upper"  type="float" value="0.0"
+                            label="Comet: Maximum Peaks Intensity" help="Intended for iTRAQ/TMT type data where one might want to remove the reporter ion signals, upper m/z range" />    
+                    </when>
+                </conditional>
+                  <!-- Search Related parameters -->
+                <conditional name="comet_search">
                     <param name="comet_search_selector" type="select" label="Comet: Search Related">
                         <option value="yes">Set Search Parameters</option>
                         <option value="no" selected="True">Keep Default Search Parameters</option>
                     </param>
                     <when value="no" />
                     <when value="yes">
-                    	<param name="comet_enzyme_type" label="Comet: Enzyme Type" type="select" help="Specifies the number of enzyme termini a peptide must have">
-					                	<option value="1">semi-specific</option>
-					                	<option value="2" selected="True">full-enzyme</option>
-					                	<option value="8">unspecific N-term</option>
-					                	<option value="9">unspecific C-term</option>
-					    </param>		                    
-					    <param name="comet_isotope_correction" label="Comet: Isotope Correction" type="select" help="Controls whether the peptide_mass_tolerance takes into account possible isotope errors in the precursor mass measurement">
-					                	<option value="0" selected="True">off</option>
-					                	<option value="1">-1,0,+1,+2,+3</option>
-					                	<option value="2">-8,-4,0,+4,+8</option>
-					    </param>
-                    	<param name="comet_min_prec_mass"  type="float" value="0.0"
-                    		label="Comet: Minimum Precursor Mass" help="The minimum precursor mass considered" />
-                    	<param name="comet_max_prec_mass"  type="float" value="10000.0"
-                    		label="Comet: Maximum Precursor Mass" help="The maximum precursor mass considered" />
-                    	<param name="comet_num_matches"  type="integer" value="10"
-                    		label="Comet: Maximum Number of Matches" help="The maximum number of peptide matches per spectrum" />
-                    	<param name="comet_max_frag_charge"  type="integer" value="3"
-                    		label="Comet: Maximum Fragment Charge" help="Sets the maximum fragment charge (fill value between 1 and 5)" />
-            			<param name="comet_remove_meth"  type="boolean" truevalue="1" falsevalue="0" checked="false" 
-            				label="Comet: Remove Methionine" help="Specifies whether the N-terminal methionine is cleaved prior to matching" />
-                    	<param name="comet_batch_size"  type="integer" value="0"
-                    		label="Comet: Batch Size" help="0 means load and search all spectra at once, otherwise spectra are loaded and searched in batches of the number specified" />
-                    	<param name="comet_num_ptms"  type="integer" value="10"
-                    		label="Comet: Maximum Number of PTMs" help="The maximum number of ptms per peptide" />	
-					</when>
-        		</conditional>
-        		<!-- Fragment Ions Related parameters -->
-            	<conditional name="comet_fragment_ions">
+                        <param name="comet_enzyme_type" label="Comet: Enzyme Type" type="select" help="Specifies the number of enzyme termini a peptide must have">
+                            <option value="1">semi-specific</option>
+                            <option value="2" selected="True">full-enzyme</option>
+                            <option value="8">unspecific N-term</option>
+                            <option value="9">unspecific C-term</option>
+                        </param>
+                        <param name="comet_isotope_correction" label="Comet: Isotope Correction" type="select" help="Controls whether the peptide_mass_tolerance takes into account possible isotope errors in the precursor mass measurement">
+                            <option value="0" selected="True">off</option>
+                            <option value="1">-1,0,+1,+2,+3</option>
+                            <option value="2">-8,-4,0,+4,+8</option>
+                        </param>
+                        <param name="comet_min_prec_mass"  type="float" value="0.0"
+                            label="Comet: Minimum Precursor Mass" help="The minimum precursor mass considered" />
+                        <param name="comet_max_prec_mass"  type="float" value="10000.0"
+                            label="Comet: Maximum Precursor Mass" help="The maximum precursor mass considered" />
+                        <param name="comet_num_matches"  type="integer" value="10"
+                            label="Comet: Maximum Number of Matches" help="The maximum number of peptide matches per spectrum" />
+                        <param name="comet_max_frag_charge"  type="integer" value="3"
+                            label="Comet: Maximum Fragment Charge" help="Sets the maximum fragment charge (fill value between 1 and 5)" />
+                        <param name="comet_remove_meth"  type="boolean" truevalue="1" falsevalue="0" checked="false" 
+                            label="Comet: Remove Methionine" help="Specifies whether the N-terminal methionine is cleaved prior to matching" />
+                        <param name="comet_batch_size"  type="integer" value="0"
+                            label="Comet: Batch Size" help="0 means load and search all spectra at once, otherwise spectra are loaded and searched in batches of the number specified" />
+                        <param name="comet_num_ptms"  type="integer" value="10"
+                            label="Comet: Maximum Number of PTMs" help="The maximum number of ptms per peptide" />    
+                    </when>
+                </conditional>
+                <!-- Fragment Ions Related parameters -->
+                <conditional name="comet_fragment_ions">
                     <param name="comet_fragment_ions_selector" type="select" label="Comet: Fragment Ions Related">
                         <option value="yes">Set Fragment Ions Parameters</option>
                         <option value="no" selected="True">Keep Default Fragment Ions Parameters</option>
                     </param>
                     <when value="no" />
                     <when value="yes">
-                    	<param name="comet_frag_bin_offset"  type="float" value="0.4"
-                    		label="Comet: Fragment Bin Offset" help="Controls how each fragment bin is defined in terms of where each bin starts" />
-                    	<param name="comet_sparse_matrix" type="boolean" truevalue="1" falsevalue="0" checked="true" 
-                    		label="Comet: Fragment Sparse Matrix" help="Controls whether or not internal sparse matrix data representation is used to lower memory usage" />
-                    	<param name="comet_theoretical_fragment_ions"  type="integer" value="0"
-                    		label="Comet: Theoretical Fragment Ions" help="Specifies how theoretical fragment ion peaks are represented (0 or 1 values are allowed)" />		                    	
-					</when>
-        		</conditional>
-   			                   		
+                        <param name="comet_frag_bin_offset"  type="float" value="0.4"
+                            label="Comet: Fragment Bin Offset" help="Controls how each fragment bin is defined in terms of where each bin starts" />
+                        <param name="comet_sparse_matrix" type="boolean" truevalue="1" falsevalue="0" checked="true" 
+                            label="Comet: Fragment Sparse Matrix" help="Controls whether or not internal sparse matrix data representation is used to lower memory usage" />
+                        <param name="comet_theoretical_fragment_ions"  type="integer" value="0"
+                            label="Comet: Theoretical Fragment Ions" help="Specifies how theoretical fragment ion peaks are represented (0 or 1 values are allowed)" />                                
+                    </when>
+                </conditional>
             </when>
-        </conditional>          	
+        </conditional>
     </inputs>
     <outputs>
-        <data name="searchgui_results" format="searchgui_zip" from_work_dir="searchgui_out.zip" label="${tool.name} on ${on_string}" />
+        <data name="searchgui_results" format="searchgui_archive" from_work_dir="searchgui_out.zip" label="${tool.name} on ${on_string}" />
     </outputs>
     <tests>
         <test>
@@ -902,9 +896,8 @@
 **What it does**
 
 Runs multiple search engines on any number of MGF peak lists using the SearchGUI.
-Default: 	X! Tandem, OMSSA and MS-GF+ are executed.
-Optional: 	MyriMatch, MS-Amanda, Comet and Tide can be executed.
-
+Default:     X! Tandem, OMSSA and MS-GF+ are executed.
+Optional:     MyriMatch, MS-Amanda, Comet and Tide can be executed.
 
     </help>
     <expand macro="citations" />
Binary file test-data/tiny_searchgui_result1.zip has changed