Mercurial > repos > galaxyp > msconvert
diff msconvert_macros.xml @ 0:ab59b1826345 draft
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tools/msconvert commit 815179cfd9754d3859239258fa30c331d5daaa41-dirty
author | galaxyp |
---|---|
date | Thu, 22 Oct 2015 14:00:58 -0400 |
parents | |
children | 987d73278bf9 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/msconvert_macros.xml Thu Oct 22 14:00:58 2015 -0400 @@ -0,0 +1,390 @@ +<macros> + <xml name="msconvertCommand"> + <command> +<![CDATA[ + #import re + #set $output_type_str = str($output_type) + #set $input_name = $input.display_name + #set $output_name = $input_name.split(".")[0] + "." + $output_type_str + ln -s '$input' '${input_name}' && + + #if $data_processing.precursor_refinement.use_mzrefinement + #set $input_ident_name = $data_processing.precursor_refinement.input_ident.display_name + ln -s '${data_processing.precursor_refinement.input_ident}' '${input_ident_name}' && + #end if + + mkdir outdir && + msconvert ${input_name} --$output_type_str -o outdir --outfile '$output_name' + + ## DATA PROCESSING FILTERS (NOTE: FOR VENDOR METHOD TO WORK, PEAK PICKING MUST BE THE FIRST FILTER!) + #if $data_processing.peak_picking.pick_peaks + --filter "peakPicking $data_processing.peak_picking.pick_peaks_algorithm msLevel=$data_processing.peak_picking.pick_peaks_ms_levels" + #end if + + #if $data_processing.precursor_refinement.use_mzrefinement + --filter "mzRefiner $input_ident_name + msLevels=$data_processing.precursor_refinement.precursor_refinement_ms_levels + thresholdScore=$data_processing.precursor_refinement.thresholdScore + thresholdValue=$data_processing.precursor_refinement.thresholdValue + thresholdStep=$data_processing.precursor_refinement.thresholdStep + maxSteps=$data_processing.precursor_refinement.thresholdMaxSteps" + #end if + + #if str($data_processing.charge_state_calculation.charge_state_calculation_method) == "predictor" + --filter "chargeStatePredictor + overrideExistingCharge=$data_processing.charge_state_calculation.predictor_overrideExistingCharge + minMultipleCharge=$data_processing.charge_state_calculation.minMultipleCharge + maxMultipleCharge=$data_processing.charge_state_calculation.maxMultipleCharge + singleChargeFractionTIC=$data_processing.charge_state_calculation.singleChargeFractionTIC + maxKnownCharge=$data_processing.charge_state_calculation.maxKnownCharge" + #else if str($data_processing.charge_state_calculation.charge_state_calculation_method) == "turbocharger" + --filter "turbocharger + minCharge=$data_processing.charge_state_calculation.minCharge + maxCharge=$data_processing.charge_state_calculation.maxCharge + precursorsBefore=$data_processing.charge_state_calculation.precursorsBefore + precursorsAfter=$data_processing.charge_state_calculation.precursorsAfter + halfIsoWidth=$data_processing.charge_state_calculation.halfIsoWidth + defaultMinCharge=$data_processing.charge_state_calculation.defaultMinCharge + defaultMaxCharge=$data_processing.charge_state_calculation.defaultMaxCharge" + #end if + + #for threshold_entry in $data_processing.thresholds + --filter "threshold $threshold_entry.threshold_type $threshold_entry.value $threshold_entry.orientation" + #end for + + #if $data_processing.filter_mz_windows.do_mzwindow_filter + --filter "mzWindow [$data_processing.filter_mz_windows.mz_window_from,$data_processing.filter_mz_windows.mz_window_to]" + #end if + + #if $data_processing.etd_filtering.do_etd_filtering + --filter "ETDFilter $data_processing.etd_filtering.remove_precursor + $data_processing.etd_filtering.remove_charge_reduced + $data_processing.etd_filtering.remove_neutral_loss + $data_processing.etd_filtering.blanket_removal + $data_processing.etd_filtering.matching_tolerance $data_processing.etd_filtering.matching_tolerance_units" + #end if + + #if $data_processing.ms2denoise.denoise + --filter "MS2Denoise $data_processing.ms2denoise.num_peaks $data_processing.ms2denoise.window_width $data_processing.ms2denoise.relax" + #end if + + #if str($data_processing.ms2deisotope) == "true" + --filter "MS2Deisotope" + #end if + + + ## SCAN INCLUSION/EXCLUSION FILTERS + #if str($filtering.activation) != "false" + --filter "activation $filtering.activation" + #end if + + #if len($filtering.indices) > 0 + --filter "index + #for $index in $filtering.indices + [${index.from},${index.to}] + #end for + " + #end if + + #if len($filtering.scan_numbers) > 0 + --filter "scanNumber + #for $scan_number in $filtering.scan_numbers + [${scan_number.from},${scan_number.to}] + #end for + " + #end if + + #if $filtering.strip_it.value + --filter "stripIT" + #end if + + #if $filtering.filter_ms_levels.do_ms_level_filter + --filter "msLevel [$filtering.filter_ms_levels.ms_level_from, $filtering.filter_ms_levels.ms_level_to]" + #end if + + #if str($filtering.polarity) != "false" + --filter "polarity $filtering.polarity" + #end if + + #if str($filtering.analyzer) != "false" + --filter "analyzer $filtering.analyzer" + #end if + + ## OUTPUT ENCODING + #set $mz_encoding = str($settings.mz_encoding) + #set $intensity_encoding = str($settings.intensity_encoding) + #if $mz_encoding == $intensity_encoding + #if $mz_encoding == "64" + --64 + #else + --32 + #end if + #else + --mz${mz_encoding} + --inten${intensity_encoding} + #end if + + #set binary_compression = str($settings.binary_compression) + #if $binary_compression == "zlib" + --zlib + #else if $binary_compression == "numpressLinearPic" + --numpressLinear --numpressPic + #else if $binary_compression == "numpressLinearSlof" + --numpressLinear --numpressSlof + #else if $binary_compression == "numpressLinear" + --numpressLinear + #else if $binary_compression == "numpressPic" + --numpressPic + #else if $binary_compression == "numpressSlof" + --numpressSlof + #end if + + #if $settings.gzip_compression + --gzip + #end if + + && + + #if $data_processing.precursor_refinement.use_mzrefinement + mv '${input.name.rsplit('.',1)[0]}.mzRefinement.tsv' output.refinement && + #end if + + mv 'outdir/$output_name' output && + rmdir outdir +]]> + </command> + </xml> + + <xml name="msconvertInputParameters"> + <param name="output_type" type="select" label="Output Type"> + <option value="mz5" selected="true">mz5</option> + <option value="mzML">mzML</option> + <option value="mzXML">mzXML</option> + <option value="mgf">mgf</option> + <option value="ms2">ms2</option> + </param> + + <section name="data_processing" title="Data Processing Filters"> + + <conditional name="peak_picking"> + <param type="boolean" name="pick_peaks" label="Apply peak picking?" truevalue="true" falsevalue="false" /> + <when value="false" /> + <when value="true"> + <param name="pick_peaks_ms_levels" type="select" label="Peak Peaking - Apply to MS Levels"> + <option value="1">MS1 Only (1)</option> + <option value="2">MS2 Only (2)</option> + <option value="2-">MS2 and on (2-)</option> + <option value="1-" selected="true">All Levels (1-)</option> + </param> + <param type="select" name="pick_peaks_algorithm" label="Peak Picking - Algorithm" help="The vendor method only works on Agilent, Bruker, Sciex, Thermo data, and only on Windows (although some vendors work on Wine)"> + <option value="vendor" selected="true">Prefer vendor algorithm, fallback to local-maximum</option> + <option value="cwt">CantWaiT - continuous wavelet transform</option> + </param> + </when> + </conditional> + + <conditional name="precursor_refinement" title="MZRefinery Precursor Refinement" expanded="true"> + <param type="boolean" name="use_mzrefinement" label="Apply m/z refinement with identification data?" truevalue="true" falsevalue="false" checked="False" /> + <when value="false"></when> + <when value="true"> + <param name="input_ident" type="data" format="pepxml,mzid" label="MZRefinery - Input identification data" /> + <param name="thresholdScore" type="text" value="mvh" label="MZRefinery - Threshold Score Name" help="E.g. 'mvh' for MyriMatch, 'xcorr' for Sequest, 'specevalue' for MS-GF+" /> + <param name="thresholdValue" type="text" value="50-" label="MZRefinery - Threshold Score Value" help="MZRefinery uses peptide-spectrum-matches with scores from this range to build its model. '100-' means score equal to or greater than 100. '-1e-10' means less than or equal to 1e-10." /> + <param name="thresholdStep" type="float" value="0" label="MZRefinery - Threshold Score Step" help="If there are not enough quality hits at the given score threshold value, the threshold can be increased by this step (until maxSteps is reached)." /> + <param name="thresholdMaxSteps" type="integer" value="0" label="MZRefinery - At most, how many steps to widen the threshold?" /> + <param name="precursor_refinement_ms_levels" type="select" label="MZRefinery - Apply to MS Levels"> + <option value="1">MS1 Only (1)</option> + <option value="2">MS2 Only (2)</option> + <option value="2-">MS2 and on (2-)</option> + <option value="1-" selected="true">All Levels (1-)</option> + </param> + </when> + </conditional> + + <conditional name="charge_state_calculation"> + <param name="charge_state_calculation_method" type="select" label="(Re-)calculate charge states?"> + <option value="false">no</option> + <option value="predictor">Based on how much intensity is above vs. below the precursor m/z in the MS/MS scan</option> + <option value="turbocharger">Based on isotopic distribution of the precursor in nearby survey scans</option> + </param> + <when value="false" /> + <when value="predictor"> + <param name="predictor_overrideExistingCharge" type="boolean" label="Always override existing charge?" value="false" /> + <param name="minMultipleCharge" type="integer" label="Minimum multiple charge state" value="2" /> + <param name="maxMultipleCharge" type="integer" label="Maximum multiple charge state" value="3" /> + <param name="singleChargeFractionTIC" type="float" label="Fraction of intensity below the precursor to be considered singly charged" max="1" min="0" value="0.9" /> + <param name="maxKnownCharge" type="integer" label="Maximum charge allowed for "known" charges" help="This is applied even when not overriding existing charges (i.e. it overrides only obviously bogus charge states)" value="0" /> + </when> + <when value="turbocharger"> + <param name="minCharge" type="integer" label="Minimum possible charge state" value="1" min="1" help="Charge states lower than this will not be considered." /> + <param name="maxCharge" type="integer" label="Maximum possible charge state" value="8" min="2" help="Charge states greater than this will not be considered." /> + <param name="precursorsBefore" type="integer" label="Number of preceding survey scans to check for precursor isotopes" value="2" min="1" /> + <param name="precursorsAfter" type="integer" label="Number of succeeding survey scans to check for precursor isotopes" value="0" min="0" /> + <param name="halfIsoWidth" type="float" label="Half-width of isolation window" min="0.0001" value="1.25" /> + <param name="defaultMinCharge" type="integer" label="Minimum possible charge state to apply if no isotope is found" value="0" /> + <param name="defaultMaxCharge" type="integer" label="Maximum possible charge state to apply if no isotope is found" value="0" /> + </when> + </conditional> + + <repeat name="thresholds" title="Filter by Threshold"> + <param type="select" label="Specify threshold on" name="threshold_type" help=""> + <option value="count">Peak count</option> + <option value="count-after-ties">Peak count (after ties)</option> + <option value="absolute">Peak absolute intensity</option> + <option value="bpi-relative">Fraction of base peak intensity</option> + <option value="tic-relative">Fraction of total ion current</option> + <option value="tic-fraction">Aggregate fraction of total ion current</option> + </param> + <param type="float" name="value" label="Threshold" value="1" help="For count methods, this is the number of peaks to keep. For the absolute method, this is the raw intensity above/below which peak will be accepted. For the "Aggregated fraction" method, peaks are accepted until this fraction of the TIC is accounted for." /> + <param type="select" label="Keep" name="orientation"> + <option value="most-intense">Most intense peaks</option> + <option value="least-intense">Least intense peaks</option> + </param> + </repeat> + + <conditional name="filter_mz_windows"> + <param name="do_mzwindow_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" /> + <when value="false" /> + <when value="true"> + <param name="mz_window_from" type="float" label="Filter m/z From" value="0.0" optional="false" /> + <param name="mz_window_to" type="float" label="Filter m/z To" value="0.0" optional="true" /> + </when> + </conditional> + + <conditional name="etd_filtering"> + <param type="boolean" name="do_etd_filtering" label="Filter out ETD precursor peaks?" truevalue="true" falsevalue="false" /> + <when value="false" /> + <when value="true"> + <param name="remove_precursor" type="select" label="ETD Remove Unreacted Precursor"> + <option value="true" selected="true">yes</option> + <option value="false">no</option> + </param> + <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced Precursors"> + <option value="true" selected="true">yes</option> + <option value="false">no</option> + </param> + <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Losses" help="Remove neutral loss species from nominal and charge reduced precursors"> + <option value="true" selected="true">yes</option> + <option value="false">no</option> + </param> + <param name="blanket_removal" type="select" label="ETD Blanket Removal of Neutral Losses" help="Remove neutral losses in a charge-scaled 60 Da swath (rather than only around known loss species)"> + <option value="true" selected="true">yes</option> + <option value="false">no</option> + </param> + <param name="matching_tolerance" type="float" label="ETD Matching Tolerance" value="3.1" /> + <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance"> + <option value="MZ" selected="true">mz</option> + <option value="PPM">ppm</option> + </param> + </when> + </conditional> + + <conditional name="ms2denoise"> + <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter" /> + <when value="true"> + <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" /> + <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" /> + <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" /> + </when> + <when value="false" /> + </conditional> + + <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" /> + + </section> + + + <section name="filtering" title="Scan Inclusion/Exclusion Filters"> + + <param name="activation" type="select" label="Filter by Activation"> + <option value="false" selected="true">no</option> + <option value="ETD">ETD</option> + <option value="CID">CID</option> + <option value="SA">SA</option> + <option value="HCD">HCD</option> + <option>BIRD</option> + <option>ECD</option> + <option>IRMPD</option> + <option>PD</option> + <option>PSD</option> + <option>PQD</option> + <option>SID</option> + <option>SORI</option> + </param> + + <repeat name="indices" title="Filter Scan Indices"> + <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" /> + <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" /> + </repeat> + + <repeat name="scan_numbers" title="Filter Scan Numbers"> + <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" /> + <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" /> + </repeat> + + <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" /> + + <conditional name="filter_ms_levels"> + <param name="do_ms_level_filter" type="boolean" label="Filter MS Levels" /> + <when value="false" /> + <when value="true"> + <param name="ms_level_from" type="integer" label="Filter MS Level From" value="0" optional="false" /> + <param name="ms_level_to" type="integer" label="Filter MS Level To" value="0" optional="true" /> + </when> + </conditional> + + <param name="polarity" type="select" label="Filter by Polarity"> + <option value="false" selected="true">no</option> + <option value="positive">positive</option> + <option value="negative">negative</option> + </param> + + <param name="analyzer" type="select" label="Filter by Analyzer"> + <option value="false" selected="true">no</option> + <option value="quad">Quadrupole</option> + <option value="orbi">Orbitrap</option> + <option value="FT">Fourier-transform</option> + <option value="IT">Ion trap</option> + <option value="TOF">Time of flight</option> + </param> + </section> + + + <section name="settings" title="Output Encoding Settings"> + <param type="select" name="mz_encoding" label="m/z Encoding Precision"> + <option value="64" selected="true">64</option> + <option value="32">32</option> + </param> + <param type="select" name="intensity_encoding" label="Intensity Encoding Precision"> + <option value="64">64</option> + <option value="32" selected="true">32</option> + </param> + <param type="select" name="binary_compression" label="Binary data compression"> + <option value="false">None</option> + <option value="zlib" selected="true">zlib</option> + <option value="numpressLinearPic">numpressLinear/numpressPic</option> + <option value="numpressLinearSlof">numpressLinear/numpressSlof</option> + <option value="numpressLinear">numpressLinear only</option> + <option value="numpressPic">numpressPic only</option> + <option value="numpressSlof">numpressSlof only</option> + </param> + <param type="boolean" name="gzip_compression" label="Compress output file with gzip" truevalue="true" falsevalue="false" /> + </section> + </xml> + + <xml name="msconvertOutput"> + <outputs> + <data format="mzml" name="output" from_work_dir="output" label="${input.name.rsplit('.',1)[0]}.${output_type}" > + <change_format> + <when input="output_type" value="mz5" format="mz5" /> + <when input="output_type" value="mzXML" format="mzxml" /> + <when input="output_type" value="ms2" format="ms2" /> + <when input="output_type" value="mgf" format="mgf" /> + </change_format> + </data> + <data format="csv" name="output.refinement" from_work_dir="output.refinement" label="${input.name.rsplit('.',1)[0]}.mzRefinement.tsv"> + + </data> + </outputs> + </xml> +</macros> \ No newline at end of file