comparison metams_lcms_annotate.xml @ 0:dffc38727496

initial commit
author pieter.lukasse@wur.nl
date Sat, 07 Feb 2015 22:02:00 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:dffc38727496
1 <tool id="metams_lcms_annotate" name="METAMS-LC/MS Annotate" version="0.0.4">
2 <description> Runs metaMS process for LC/MS feature annotation</description>
3 <requirements>
4 <requirement type="package" version="3.1.1">R_bioc_metams</requirement>
5 </requirements>
6 <command interpreter="Rscript">
7 metaMS_cmd_annotate.r
8 $constructed_db
9 $xsetData
10 $customMetaMSsettings
11 $outputFile
12 #if $mzTol.mzTolType == "fixed"
13 0
14 #else
15 "$mzTol.mass_error_function"
16 #end if
17 $htmlReportFile
18 $htmlReportFile.files_path
19 $outputLog
20 </command>
21 <inputs>
22 <param name="constructed_db" type="select" label="Constructed DB" help="Reference annotation database generated from matching measurements of a mixture of chemical standards
23 against a manually validated reference table which contains the key analytical information for each standard."
24 dynamic_options='get_directory_files("tool-data/shared/PRIMS-metabolomics/metaMS")'/>
25
26 <param name="xsetData" type="data" format="rdata" label="xcmsSet data file (xset RDATA)" help="E.g. output data file resulting from METAMS 'feature picking, aligning and grouping' run"/>
27
28 <param name="protocolName" type="text" size="30" label="protocolName" value="e.g. Synapt.QTOF.RP"
29 help="Choose a name to give for the specific settings in the parameters below"/>
30
31 <param name="rtdiff" type="float" size="10" value="1.5" label="rtdiff" help="(Annotation) Allowed rt difference (in minutes)"/>
32
33 <conditional name="mzTol">
34 <param name="mzTolType" type="select" size="30" label="(Annotation) m/z tolerance type">
35 <option value="fixed" selected="true">Fixed tolerance</option>
36 <option value="adaptive" >Adaptive tolerance</option>
37 </param>
38 <when value="fixed">
39 <param name="mzdiff" type="float" size="10" value="0.005" label="mzdiff" help="(Annotation) Fixed mass tolerance" />
40 </when>
41 <when value="adaptive">
42 <param name="ppm" type="float" size="10" value="5.0" label="ppm" help="(Annotation) Tolerance in ppm" />
43 <param name="mass_error_function" type="text" area="true" size="3x70" label="(Annotation) Mass error function"/>
44 </when>
45 </conditional>
46
47 <param name="rtval" type="float" size="10" value="0.1" label="(max)rtval" help="(Validation) Group items are clustered once more with hierarchical clustering ('complete' method)
48 based on their rt distances. Here one can specify the rt threshold for removing the items that have too diverging rt (the ones with rt difference
49 larger than rtval). " />
50 <param name="minfeat" type="integer" size="10" value="2" label="minfeat"
51 help="(Validation) Threshold for the minimum number of features a
52 cluster/group should have (after rtval filtering above). Other clusters/groups are filtered out." />
53
54 </inputs>
55 <configfiles>
56
57 <configfile name="customMetaMSsettings">## start comment
58 ## metaMS process settings
59 customMetaMSsettings &lt;- metaMSsettings(protocolName = "${protocolName}",
60 chrom = "LC")
61 metaSetting(customMetaMSsettings, "match2DB") &lt;- list(
62 rtdiff = ${rtdiff},
63 rtval = ${rtval},
64 #if $mzTol.mzTolType == "fixed"
65 mzdiff = ${mzTol.mzdiff},
66 #else
67 ppm = ${mzTol.ppm},
68 #end if
69 minfeat = ${minfeat})</configfile>
70
71 </configfiles>
72
73 <outputs>
74 <data name="outputFile" format="tabular" label="${tool.name} on ${on_string} - metaMS annotated file (TSV)"/>
75 <data name="outputLog" format="txt" label="${tool.name} on ${on_string} - metaMS LOG" hidden="True"/>
76 <data name="htmlReportFile" format="html" label="${tool.name} on ${on_string} - metaMS report (HTML)"/>
77 </outputs>
78 <tests>
79 <test>
80 </test>
81 </tests>
82 <code file="match_library.py" /> <!-- file containing get_directory_files function used above-->
83 <help>
84
85 .. class:: infomark
86
87 Runs metaMS process for LC/MS feature annotation based on matching to an existing 'standards' DB.
88 The figure below shows the main parts of this metaMS process.
89
90 .. image:: $PATH_TO_IMAGES/metaMS_annotate.png
91
92
93 .. class:: infomark
94
95 The implemented annotation strategy can be broken down in the following steps:
96
97 1. *Feature wise Annotation:* Each feature detected by runLC is matched against the database. If
98 the mass error function is provided, the appropriate m/z tolerance is calculated, otherwise a fixed
99 tolerance is used (mzdiff). The retention time tolerance is fixed and should be selected on the
100 bases of the characteristics of each chromatographic method (rtdiff). Multiple annotations - i.e.
101 features which are associated to more than one compound - are possible. This outcome does not
102 indicate a problem per se, but is an inherent drawback of co-elution.
103
104 2. *Annotation Validation:* The annotated features are organized in 'pseudospectra' collecting all
105 the experimental features which are assigned to a specific compound. A specific annotation is
106 confirmed only if more than minfeat features which differ in retention time less than rtval are
107 present in a pseudospectrum. As a general rule rtval should be narrower than rtdiff. The
108 latter, indeed, accounts for shifts in retention time between the injection of the standards and the
109 metabolomics experiment under investigation. This time can be rather long, considering that the
110 standards are not commonly re-analyzed each time. On the other hand, rtval represents the shift
111 between the ions of the same compound within the same batch of injections and therefore it has
112 only to account for the smaller shifts occurring during peak picking and alignment.
113
114
115 </help>
116 <citations>
117 <citation type="doi">10.1016/j.jchromb.2014.02.051</citation> <!-- example
118 see also https://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax#A.3Ccitations.3E_tag_set
119 -->
120 </citations>
121 </tool>