view MS2snoop.xml @ 1:df2672c37732 draft

planemo upload commit 42359ca78388ce5221bc88905a78c996c758aa43
author workflow4metabolomics
date Tue, 24 May 2022 18:14:49 +0000
parents 91a3242fd67f
children a35fde23940e
line wrap: on
line source

<tool id="ms2snoop" name="MS2 Snoop" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
    <macros>
        <token name="@TOOL_VERSION@">1.0.1</token>
        <token name="@VERSION_SUFFIX@">0</token>
    </macros>
    <description>
        MS1/MS2 spectra and associated adducts extraction and cleaning
    </description>
    <edam_topics>
        <edam_topic>topic_0091</edam_topic>
        <edam_topic>topic_3370</edam_topic>
    </edam_topics>
    <edam_operations>
        <edam_operation>operation_3803</edam_operation>
        <edam_operation>operation_3860</edam_operation>
    </edam_operations>
    <requirements>
        <requirement type="package" version="4.1.3">r-base</requirement>
        <requirement type="package" version="1.7.1">r-optparse</requirement>
    </requirements>
    <stdio>
        <exit_code range="1" level="fatal" description="Missing parameter error" />
        <exit_code range="2" level="fatal" description="Bad parameter's value" />
        <exit_code range="3" level="fatal" description="Missing input file" />
        <exit_code range="4:254" level="fatal" description="Unknown error" />
        <exit_code range="255" level="fatal" description="No any result to output" />
        <regex match="Error in\s+.*:\s+.*" />
    </stdio>
    <version_command>
        Rscript '$__tool_directory__/MS2snoop.R' --version | head -n 1
    </version_command>
    <command>
        <![CDATA[
Rscript '$__tool_directory__/MS2snoop.R'
    --output '$frag_result_txt'
    --compounds '$compound_txt'
    --fragments '$peaklist_frag_tsv'
    --precursors '$peaklist_preco_tsv'
    --tolmz '$tolmz'
    --tolrt '$tolrt'
    --seuil_ra '$seuil_ra'
    --mzdecimal '$mzdecimal'
    --r_threshold '$r_threshold'
    --min_number_scan '$min_number_scan'
    $advenced.debug
    $advenced.verbose
        ]]>
    </command>
    <inputs>
        <param
            type="data"
            format="tabular,csv"
            argument="--compound_txt"
            label="list of compounds : col1=Name of molecule, col2=m/z, col3=retention time"
        />
        <param
            type="data"
            format="tabular,csv"
            argument="--peaklist_frag_tsv"
            label="MSpurity fragments file"
        />
        <param
            type="data"
            format="tabular,csv"
            argument="--peaklist_preco_tsv"
            label="MSpurity precursors file"
        />
        <param
            type="float"
            min="0.0001"
            max="10"
            value="0.01"
            label="MZ Tolerence"
            argument="--tolmz"
        />
        <param
            type="integer"
            min="0"
            max="30"
            value="20"
            label="RT Tolerence"
            argument="--tolrt"
        />
        <param
            type="float"
            min="0"
            max="1"
            value="0.05"
            label="r pearson correlation threshold between precursor and fragment absolute intensity"
            argument="--seuil_ra"
        />
        <param
            type="integer"
            min="0"
            max="5"
            value="0"
            label="nb decimal for mz"
            argument="--mzdecimal"
        />
        <param
            type="float"
            min="0"
            value="0.85"
            label="fragment absolute intensity"
            argument="--r_threshold"
        />
        <param
            type="integer"
            min="0"
            max="25"
            value="8"
            label="Present in at least X scan"
            argument="--min_number_scan"
            help="fragments are kept if they are found in a minimum number of scans"
        />
        <section title="Advenced Options" name="advenced">
            <param
                type="boolean"
                value=""
                label="Verbose logs"
                argument="--verbose"
                truevalue="--verbose"
                falsevalue=""
                help="The tool will print more logs"
                optional="true"
            />
            <param
                type="boolean"
                value=""
                label="Debug statements"
                argument="--debug"
                truevalue="--debug"
                falsevalue=""
                help="The tool will print debug statements"
                optional="true"
            />
        </section>
    </inputs>
    <outputs>
        <data
            name="frag_result_txt"
            format="tabular"
            label="compound_fragments_result.txt"
        />
    </outputs>
    <tests>
        <test>
            <param name="compound_txt" value="compounds_pos.txt" />
            <param name="peaklist_frag_tsv" value="peaklist_fragments.tsv" />
            <param name="peaklist_preco_tsv" value="peaklist_precursors.tsv" />
            <output name="frag_result_txt" file="compound_fragments_result.txt" />
        </test>
    </tests>
    <help><![CDATA[
.. class:: infomark

**Authors** Jean-Francois Martin (jean-francois.martin@inrae.fr), Lain Pavot (lain.pavot@inrae.fr), Kevin Wagner (kevin.wagner@inrae.fr) 

.. class:: infomark

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


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

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

MS2snoop use results of msPurity to find spectra of standards listed in a compounds file.
Check the fragments and precursor using correlation of among the different scans of fragments 

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

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

+-------------------------+-----------------+--------+------------+
| Name                    |  output file    | format |  parameter |
+=========================+=================+========+============+
| msPurity.purityA        |       NA        |   TSV  |    NA      |
+-------------------------+-----------------+--------+------------+
| msPurity.frag4feature   |       NA        |   TSV  |    NA      |
+-------------------------+-----------------+--------+------------+

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

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


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

+----------------------------------------------+------------+
| Parameter : num + label                      |   Format   |
+===========================+==================+============+
| Input from msPurity Precursor                |   TSV      |
+----------------------------------------------+------------+
| Input from msPurity fragment                 |   TSV      |
| Input compounds file to search in precursor  |            |
+----------------------------------------------+------------+
| and fragment (Name + m/z + ret Time)         |   TSV      |
+----------------------------------------------+------------+


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

msPurity.purityA
  | output TSV file

msPurity.frag4feature
  | output TSV file

Compounds file
  | A TSV TXT file with a list of compounds with at least 3 columns : 
  |   col1=Name of molecule, col2=m/z, col3=retention time

tolerance for mz(dalton) rt(seconds) to match the standard in the compounds file with the precursor MSpurity files
  |   tolmz <- 0.01
  |   tolrt <- 20

relative intensity threshold
  |   seuil_ra = 0.05

nb decimal for mz
  |   mzdecimal <- 0

r pearson correlation threshold between precursor and fragment absolute intensity
  |   r_threshold <- 0.85

fragments are kept if there are found in a minimum number of scans
  |   minNumberScan <- 8

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

compound_fragments_result.tsv
  | tabular output
  | Array with p rows (corresponding to the fragments for the different compounds of the compounds file)
  | Last column "corvalid" is a boolean for validated fragments 

processing_file.pdf
  | pdf output 
  | For each compound of the compounds file, Graph of the all fragments with parents (or most intense peak if parent is not detected in the fragments. At the end the pdf file a graph of the spectra with validated fragments.
   ]]></help>
</tool>