view msconvert_raw.xml @ 4:158a71ee5733 draft

planemo upload commit b4871f9659a924a68430aed3a93f4f9bad733fd6
author galaxyp
date Wed, 07 Dec 2016 17:43:19 -0500
parents 8e2e7ff2b6bd
children 637e309295cf
line wrap: on
line source

<tool id="msconvert_raw" name="msconvert RAW" version="0.3.0">
  <!-- BEGIN_VERSION_RAW -->
  <description>Convert and filter a Thermo Finnigan RAW file</description>
  <!-- END_VERSION_RAW -->
  <requirements>
<!--
    <requirement type="package" version="3_0_4388">proteowizard</requirement>
-->
    <!-- BEGIN_VERSION_RAW -->
    <requirement type="platform">windows</requirement>
    <!-- END_VERSION_RAW -->
  </requirements>
  <command interpreter="python">
    #set $ext = $input.ext
    msconvert_wrapper.py
    --input=${input}
    #if hasattr($input, 'display_name')
    --input_name='${input.display_name}'
    #end if
    --output=${output}

    ## BEGIN_VERSION_RAW
    --fromextension=RAW
    ## END_VERSION_RAW

    --toextension=${output_type}

    #if $settings.settingsType == "full"
    --binaryencoding=${settings.binary_encoding}
    --mzencoding=${settings.mz_encoding}
    --intensityencoding=${settings.intensity_encoding}
    --zlib=${settings.zlib}
    #end if

    #if $filtering.filtering_use

    #if $filtering.precursor_recalculation.value
    --filter "precursorRecalculation"
    #end if

    #if $filtering.peak_picking.pick_peaks
    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
    #end if

    #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

    #for threshold_entry in $filtering.threshold_repeat
    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
    #end for

    $filtering.strip_it
    $filtering.metadataFixer
    $filtering.sortByScanTime

    #if $filtering.filter_mz_windows.do_filter
    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
    #end if

    #if $filtering.filter_chargeStatePredictor.do_filter
        --filter "chargeStatePredictor $filtering.filter_chargeStatePredictor.overrideExistingCharge $filtering.filter_chargeStatePredictor.maxMultipleCharge $filtering.filter_chargeStatePredictor.minMultipleCharge $filtering.filter_chargeStatePredictor.singleChargeFractionTIC $filtering.filter_chargeStatePredictor.algorithmMakeMS2"
    #end if


    #if $filtering.filter_ms_levels.do_filter
    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
    #end if

    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
    --filter "ETDFilter"
    #end if

    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
    #end if

    ## BEGIN_VERSION_3

    #if $filtering.precursor_refine.value
    --filter "precursorRefine"
    #end if

    #if $filtering.ms2denoise.denoise
    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"
    #end if

    #if str($filtering.ms2deisotope) == "true"
    --filter "MS2Deisotope"
    #end if

    #if str($filtering.polarity) != "false"
    --filter "polarity $filtering.polarity"
    #end if

    #if str($filtering.analyzer) != "false"
    --filter "analyzer $filtering.analyzer"
    #end if

    ## END_VERSION_3

    #end if

  </command>

  <inputs>
    <!-- BEGIN_VERSION_RAW -->
    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input" help="select input file in RAW format"/>
    <!-- END_VERSION_RAW -->

    <param name="output_type" type="select" label="Output Type">
      <option value="mzML">mzML (indexed)</option>
      <option value="unindexed_mzML">mzML (unindexed)</option>
      <option value="mzXML">mzXML (indexed)</option>
      <option value="unindexed_mzXML">mzXML (unindexed)</option>
      <option value="mgf">mgf</option>
      <option value="ms2">ms2</option>
    </param>
    <conditional name="filtering">
      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />
      <when value="false" />
      <when value="true">
        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
        <!-- BEGIN_VERSION_3 -->
        <param type="boolean" name="precursor_refine" label="Refine Precursor?" />
        <!-- END_VERSION_3 -->


        <conditional name="peak_picking">
          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
          <when value="false" />
          <when value="true">
            <param name="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-">All Levels (1-)</option>
            </param>
            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
          </when>
        </conditional>

        <repeat name="threshold_repeat" title="Filter by Threshold">
          <conditional name="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><!-- TODO: absolute what? m/z -->
              <option value="bpi-relative">Percent of base peak intensity</option>
              <option value="tic-relative">Percent of total ion current</option>
              <option value="tic-fraction">Aggregate percent of total ion current</option>
            </param>
            <when value="count">
              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
            </when>
            <when value="count-after-ties">
              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
            </when>
            <when value="absolute">
              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
            </when>
            <when value="bpi-relative">
              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
              />
            </when>
            <when value="tic-relative">
              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
              />
            </when>
            <when value="tic-fraction">
              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
            </when>
          </conditional>
          <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>

        <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>
          <!-- BEGIN_VERSION_3 -->
          <option>BIRD</option>
          <option>ECD</option>
          <option>IRMPD</option>
          <option>PD</option>
          <option>PSD</option>
          <option>PQD</option>
          <option>SID</option>
          <option>SORI</option>
          <!-- END_VERSION_3 -->
        </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>

        <conditional name="filter_mz_windows">
          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
          <when value="false" />
          <when value="true">
            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
          </when>
        </conditional>

        <param name="strip_it" type="boolean"
            truevalue="--filter 'stripIT'" falsevalue=""
            label="Strip Ion Trap MS1 Scans" />
        <param name="metadataFixer" type="boolean" truevalue="--filter 'metadataFixer'" falsevalue=""
            label="This filter is used to add or replace a spectra's TIC/BPI metadata"
            help="It is usually used after peakPicking where the change from profile to centroided data may make the TIC and BPI values inconsistent with the revised scan data." />
        <param name="sortByScanTime" type="boolean"
            truevalue="--filter 'sortByScanTime'" falsevalue=""
            label=" This filter reorders spectra, sorting them by ascending scan start time." />

        <conditional name="filter_chargeStatePredictor">
            <param name="do_filter" type="boolean"
                label=" Predicts MSn spectrum precursors to be singly or multiply charged depending on the ratio of intensity above and below the precursor m/z"
                help="or optionally using the 'makeMS2' algorithm" />
            <when value="false" />
            <when value="true">
                <param name="overrideExistingCharge" type="boolean" checked="True" truevalue="true" falsevalue="false"
                    label="always override existing charge information"/>
                <param name="minMultipleCharge" type="integer" value="2" optional="true"
                    label="Minimum of the range of values to add to the spectrum's existing 'MS_possible_charge_state' values."
                    help="If these are the same values, the spectrum's MS_possible_charge_state values are removed and replaced with this single."/>
                <param name="maxMultipleCharge" type="integer" value="3" optional="false"
                    label="Maximum of the range of values to add to the spectrum's existing 'MS_possible_charge_state' values." />

                <param name="singleChargeFractionTIC" type="float" min="0.0" max="1.0" value="0.9"
                    help="Is a percentage expressed as a value between 0 and 1"
                    label="This is the value used as the previously mentioned ratio of intensity above and below the precursor m/z." />

                <param name="algorithmMakeMS2" type="boolean" checked="False" truevalue="true" falsevalue="false"
                    label="Use 'makeMS2' algorithm instead of the one described above"/>

          </when>
          <when value="false"/>
        </conditional>

        <conditional name="filter_ms_levels">
          <param name="do_filter" type="boolean" label="Filter MS Levels" />
          <when value="false" />
          <when value="true">
            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
          </when>
        </conditional>

        <conditional name="etd_filtering">
          <param name="do_etd_filtering" type="select" label="ETD Filtering">
            <option value="none" selected="true">none</option>
            <option value="default">yes (with default options)</option>
            <option value="advanced">yes (show advanced options) </option>
          </param>
          <when value="none" />
          <when value="default" />
          <when value="advanced">
            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
            </param>
            <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>
            <param name="remove_precursor" type="select" label="ETD Remove 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">
              <option value="true" selected="true">yes</option>
              <option value="false">no</option>
            </param>
            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
              <option value="true" selected="true">yes</option>
              <option value="false">no</option>
            </param>
            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
              <option value="true" selected="true">yes</option>
              <option value="false">no</option>
            </param>
          </when>
        </conditional>


        <!-- BEGIN_VERSION_3 -->
        <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" />

        <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">quad</option>
          <option value="orbi">orbi</option>
          <option value="FT">FT</option>
          <option value="IT">IT</option>
          <option value="TOF">TOF</option>
        </param>
        <!-- END_VERSION_3 -->
      </when>
    </conditional>

    <conditional name="settings">
      <param name="settingsType" type="select" label="Advanced Settings" help="">
        <option value="default">Use Defaults</option>
        <option value="full">Full Parameter List</option>
      </param>
      <when value="default" />
      <when value="full">
        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
          <option value="64" selected="true">64</option>
          <option value="32">32</option>
        </param>
        <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" value="32">
          <option value="64">64</option>
          <option value="32" selected="true">32</option>
        </param>
        <param type="boolean" name="zlib" label="Use zlib">
        </param>
      </when>
    </conditional>


  </inputs>
  <outputs>
    <data format="mzml" name="output" label="${input.name.rsplit('.',1)[0]}.${output_type}" >
      <change_format>
        <when input="output_type" value="mzXML" format="mzxml" />
        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
        <when input="output_type" value="ms2" format="ms2" />
        <when input="output_type" value="mgf" format="mgf" />
      </change_format>
    </data>
  </outputs>
  <help>
**What it does**

Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.

You can view the original documentation here_.

.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html

------

**Citation**

For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`

If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/msconvert

  </help>
</tool>