view ms2pf_it.xml @ 1:7e3085fc60c1 draft default tip

master branch Updating
author lain
date Wed, 30 Aug 2023 14:21:18 +0000
parents b58b229c4cbf
children
line wrap: on
line source

<tool id="ms_to_peakforest_it" name="MS To PeakForest IT" tool_type="interactive" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09">
  <description>
    adds you MS spectrum to peakforest.
  </description>
  <macros>
    <token name="@TOOL_VERSION@">1.2.1</token>
    <token name="@VERSION_SUFFIX@">0</token>
  </macros>
  <requirements>
    <container type="docker">quay.io/pfem/ms2peakforest:@TOOL_VERSION@</container>
  </requirements>
  <entry_points>
    <entry_point name="MS to PeakForest, with ${','.join(str(i.name) for i in $input)}" requires_domain="True">
      <port>8000</port>
      <url>/</url>
    </entry_point>
  </entry_points>
  <version_command>
<![CDATA[
python3 '$__tool_directory__/server.py' --version | head -n 1
]]>
  </version_command>
  <command><![CDATA[
cd /ms2pf
&& python3 '$__tool_directory__/server.py'
    --input '${','.join(map(str, $input))}'
    --raw-metadata '${advanced.raw_metadata_sep.join(str(i.name) for i in $input)}'
    --raw-metadata-sep '$advanced.raw_metadata_sep'
    --method '$method'
    --peakforest-url '$peakforest_url'
    --peakforest-token '$peakforest_token'
    --spectrum-type '$spectrum_type'
    --sample-type '$sample_type'
    --sample-type '$sample_type'
    #if $advanced.rt_min != 0.0 and $advanced.rt_max != 0.0
    --rt-min '$advanced.rt_min'
    --rt-max '$advanced.rt_max'
    #else
    --rt-min ''
    --rt-max ''
    #end if
    --polarity '$polarity'
    --name '$advanced.name'
    #if $advanced.do_output_json:
    --output-json '$json_output'
    #end if
    $advanced.verbose
    $advanced.debug
]]>
  </command>
  <inputs>
    <param argument="--input" type="data" multiple="true" format="tabular,csv,tsv"
        label="list of files to process"
        help="A data collection from fragnot or a single file from ms2snoop."
    />
    <param argument="--peakforest-url" type="select"
        label="PeakForest instance"
        help="Determines on which pf instance we push data"
        refresh_on_change="true"
    >
        <option value="https://alpha.peakforest.org">alpha</option>
        <option value="https://nightly.peakforest.org">nightly</option>
        <option value="https://metabohub.peakforest.org">metabohub</option>
    </param>
    <param argument="--peakforest-token" type="text"
        label="PeakForest token"
        help="Please provide you api token for this instance"
    />
    <param argument="--spectrum-type" type="select"
        label="Spectrum Type"
        help="Spectrum Type"
        refresh_on_change="true"
    >
        <option value="LC_MS">LC-MS</option>
        <option value="LC_MSMS">LC-MSMS</option>
        <option value="GC_MS">GC-MS</option>
    </param>

    <param argument="--method" type="select"
        label="Chromatography Method"
        dynamic_options="[list(x.values())+[False] for x in __import__('json').loads(__import__('urllib').request.urlopen(peakforest_url+'/webapp/resources/json/list-'+ ('lc' if spectrum_type == 'LC_MS' else 'lc-msms') +'-methods.json?token='+peakforest_token).read())['methods']]"
    >
    </param>

    <param argument="--sample-type" type="select"
      label="Sample Type"
      help="Sample Type"
    >
      <option value="compound-ref">Compound Ref</option>
      <option value="compound-mix">Compound Mix</option>
    </param>
    <param argument="--polarity" type="select"
      label="polarity"
      help="polarity"
    >
      <option value="positive">positive</option>
      <option value="negative">negative</option>
      <option value="neutral">neutral</option>
    </param>
    <section name="advanced">
      <param argument="--name" type="text"
        label="name"
        help="name, or names separated by commas"
      />
      <param argument="--rt-min" type="float" value="0.0"
        label="Min RT"
        help="The default min RT to set"
      />
      <param argument="--rt-max" type="float" value="0.0"
        label="Max RT"
        help="The default max RT to set"
      />
      <param argument="--raw-metadata-sep" type="text" value="XXX"
        label="Files names separator"
        help="Select a/some character·s that are not in any file name."
      />
      <param name="do_output_json" type="boolean"
        label="Produce JSON"
        help="
            Select this option to output a json file of the
            resulting processing.
        "
      />
      <param argument="--debug" type="boolean" truevalue="--debug" falsevalue=""
        label="Activate debug logs"
        help="Select to produce more detailed logs."
      />
      <param argument="--verbose" type="boolean" truevalue="--verbose" falsevalue=""
        label="Activate verbose logs"
        help="Select to produce more logs."
      />
    </section>
  </inputs>
  <outputs>
    <data name="ms2pfout" format="txt"
      label="${tool.name} on ${','.join(i.name for i in $input)}"
    />
    <data name="json_output" format="json"
      label="JSON ${tool.name} on ${','.join(i.name for i in $input)}.json"
    >
      <filter>do_output_json</filter>
    </data>
  </outputs>
  <tests>
  </tests>
    <help>
<![CDATA[
.. class:: infomark

**Authors** Lain Pavot (lain.pavot@inrae.fr)

.. class:: infomark

---------------------------------------------------

==============
MS2 validation
==============

-----------
Description
-----------


-----------------
Workflow position
-----------------

--------------
Upstream tools
--------------

+-------------------------+-----------------+--------+------------+
| Name                    |  output file    | format |  parameter |
+=========================+=================+========+============+
| ms2snoop                |       tsv       |   TSV  |    NA      |
+-------------------------+-----------------+--------+------------+
| abinitfragnot           |       tsv       |   TSV  |    NA      |
+-------------------------+-----------------+--------+------------+

----------------
Downstream tools
----------------

+-------------------------+-----------------+--------+------------+
| Name                    |  output file    | format |  parameter |
+=========================+=================+========+============+
| NA                      |       NA        |   NA   |    NA      |
+-------------------------+-----------------+--------+------------+


-----------
Input files
-----------

+----------------------------------------------+------------+
| Parameter : num + label                      |   Format   |
+===========================+==================+============+
| Output from ms2snoop or fragnot              |   TSV,CSV  |
+----------------------------------------------+------------+

----------
Parameters
----------

input
  | The file to process. Should contain spectra with mz, intensities and
  annotations

method
  | The method parameter tells which method was used. The value will
    be the default value in the peakforest form.

peakforest-url
  | The peakforest-url parameter tells which instance of peakforest to
    interact with

scan_type
  | The scan_type parameter which kind of scan was used. The value will
    be the default value in the peakforest form.

polarity
  | The polarity parameter which polarity was used. The value will
    be the default value in the peakforest form.

name
  | The name parameter provides names each spectra.


------------
Output files
------------

There is not output file. When you run this tool, keep waiting until the
« click here to display » link appears.

Click on the link to display peakforest form.

--------------
Changelog/News
--------------

1.2.0
  | Version from images hosted on quay.io.
1.0.0
  | First version, published on the toolshed.

]]>
  </help>
</tool>