diff 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 diff
--- a/ms2pf_it.xml	Fri Mar 03 14:10:24 2023 +0000
+++ b/ms2pf_it.xml	Wed Aug 30 14:21:18 2023 +0000
@@ -1,44 +1,148 @@
 <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="@VERSION_SUFFIX@">0</token>
-        <import>macros.xml</import>
-    </macros>
-    <requirements>
-        <requirement type="package" version="3.10">python</requirement>
-        <requirement type="package">pyyaml</requirement>
-    </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>
+  <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>
-@MS2PF_COMMON_CMD@
-    </command>
-    <inputs>
-        <expand macro="ms2pf_inputs" />
-    </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>
+  </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
@@ -136,9 +240,11 @@
 Changelog/News
 --------------
 
+1.2.0
+  | Version from images hosted on quay.io.
 1.0.0
   | First version, published on the toolshed.
 
 ]]>
-    </help>
+  </help>
 </tool>