comparison vkmz.xml @ 7:b0ce669ce794 draft

planemo upload for repository https://github.com/HegemanLab/VKMZ commit 722cd42705f87f2dc11aa6984ae0836ad4ca41a6-dirty
author eslerm
date Thu, 20 Dec 2018 00:36:04 -0500
parents 35b984684450
children a6744d496f03
comparison
equal deleted inserted replaced
6:35b984684450 7:b0ce669ce794
1 <tool id="VKMZ" name="VKMZ" version="1.2.0"> 1 <tool id="vkmz" name="vkmz" version="1.4dev1">
2 2
3 <description>metabolomics formula prediction and van Krevelen diagram generation</description> 3 <description>Metabolomics formula prediction and van Krevelen diagram generation</description>
4 4
5 <requirements> 5 <requirements>
6 <requirement type="package" version="2.7">python</requirement> 6 <requirement type="package" version="3.6">python</requirement>
7 <requirement type="package" version="v1.4dev1">vkmz</requirement>
7 </requirements> 8 </requirements>
8 9
9 <stdio> 10 <stdio>
10 <exit_code range="1:" level="fatal" /> 11 <exit_code range="1:" level="fatal" />
11 </stdio> 12 </stdio>
12 13
13 <command detect_errors="aggressive"><![CDATA[ 14 <command detect_errors="aggressive"><![CDATA[
14 python $__tool_directory__/vkmz.py 15 vkmz
15 #if str( $mode.mode_selector ) == "xcms": 16 #if str( $mode.mode_selector ) == "w4m":
16 xcms 17 xcms
17 --data-matrix $mode.datamatrix 18 --data-matrix $mode.datamatrix
18 --sample-metadata $mode.samplemetadata 19 --sample-metadata $mode.samplemetadata
19 --variable-metadata $mode.variablemetadata 20 --variable-metadata $mode.variablemetadata
20 #elif str( $mode.mode_selector ) == "tsv": 21 #elif str( $mode.mode_selector ) == "tabular":
21 tsv 22 tabular
22 --input $mode.input 23 --input $mode.input
23 #end if 24 #end if
24 #if $advanced_input.polarity=="negative": 25 --error $prediction.error
26 --database $prediction.database_type.database
27 --output vkmz
28 #if $advanced_input.polarity == "negative":
25 --polarity negative 29 --polarity negative
26 #else if $advanced_input.polarity=="positive": 30 #else if $advanced_input.polarity == "positive":
27 --polarity positive 31 --polarity positive
28 #end if 32 #end if
29 #if $advanced_input.no_adjustment=="True": 33 #if $advanced_input.impute_charge == "True":
30 --no-adjustment 34 --impute_charge
31 #end if 35 #end if
32 --output vkmz 36 #if $advanced_input.neutral == "True":
33 --error $prediction.error 37 --neutral
34 --database $prediction.database_type.database
35 #if $prediction.unique=="True":
36 --unique
37 #end if 38 #end if
38 --directory $__tool_directory__/ 39 #if $advanced_input.alternate == "True":
40 --alternate
41 #end if
42 #if $advanced_output.json == "True":
43 --json
44 #end if
45 #if $advanced_output.sql == "True":
46 --sql
47 #end if
39 ]]></command> 48 ]]></command>
40 49
41 <inputs> 50 <inputs>
42 <conditional name="mode"> 51 <conditional name="mode">
43 <param name="mode_selector" type="select" label="Input Data"> 52 <param name="mode_selector" type="select" label="Input Data">
44 <option value="xcms">xcms</option> 53 <option value="w4m">w4m</option>
45 <option value="tsv">tsv</option> 54 <option value="tabular">tabular</option>
46 </param> 55 </param>
47 <when value="xcms"> 56 <when value="w4m">
48 <param name="datamatrix" label="XCMS Data Matrix" type="data" format="tabular" help="Select XCMS data matrix" /> 57 <param name="datamatrix" label="W4M-XCMS Data Matrix" type="data" format="tabular" help="Select W4M-XCMS data matrix" />
49 <param name="samplemetadata" label="XCMS Sample Metadata" type="data" format="tabular" help="Select XCMS sample metadata" /> 58 <param name="samplemetadata" label="W4M-XCMS Sample Metadata" type="data" format="tabular" help="Select W4M-XCMS sample metadata" />
50 <param name="variablemetadata" label="XCMS Variable Metadata" type="data" format="tabular" help="Select XCMS variable metadata" /> 59 <param name="variablemetadata" label="W4M-XCMS Variable Metadata" type="data" format="tabular" help="Select W4M-XCMS variable metadata" />
51 </when> 60 </when>
52 <when value="tsv"> 61 <when value="tabular">
53 <param name="input" label="Tabular input" type="data" format="tabular" help="Select tabular data" /> 62 <param name="input" label="Tabular input" type="data" format="tabular" help="Select tabular data" />
54 </when> 63 </when>
55 </conditional> 64 </conditional>
56 <section name="advanced_input" title="Advanced Input Options" expanded="false"> 65 <section name="advanced_input" title="Advanced Input Options" expanded="false">
57 <param name="polarity" label="Override polarity" type="select" help="Force the polarity of all samples"> 66 <param name="polarity" label="Override polarity" type="select" help="Force the polarity of all samples">
58 <option value="NA">No override</option> 67 <option value="NA">No override</option>
59 <option value="negative">Negative</option> 68 <option value="negative">Negative</option>
60 <option value="positive">Positive</option> 69 <option value="positive">Positive</option>
61 </param> 70 </param>
62 <param name="no_adjustment" label="Disable polarity based mass adjustment" type="boolean" truevalue="True" help="Use this option if data contains neutral masses." /> 71 <param name="neutral" label="Disable polarity based mass adjustment" type="boolean" truevalue="True" help="Use this option if data contains neutral masses." />
72 <param name="alternate" label="Keep feature's with more than one prediction" type="boolean" truevalue="False" help="Keeping features with multiple predictions raises the false discovery rate." />
73 <param name="impute_charge" label="Impute Charge" type="boolean" truevalue="True" help="If impute data in annotated with charge information, features with no (null) charge valeus are removed. Setting Impute Charge to True imputes a charge for all of these features instead." />
63 </section> 74 </section>
64 <section name="prediction" title="Prediction Options" expanded="true"> 75 <section name="prediction" title="Prediction Options" expanded="true">
65 <param name="error" label="Mass Error (PPM)" type="float" value="10.0" min="0" help="Set according to expected mass error in parts-per-million" /> 76 <param name="error" label="Mass Error (PPM)" type="float" value="10.0" min="0" help="Set according to expected mass error in parts-per-million" />
66 <conditional name="database_type"> 77 <conditional name="database_type">
67 <param name="database_type_selector" type="select" label="Database Type"> 78 <param name="database_type_selector" type="select" label="Database Type">
78 </when> 89 </when>
79 <when value="custom"> 90 <when value="custom">
80 <param name="database" label="Database" type="data" format="tabular" help="Select a custom tabular database" /> 91 <param name="database" label="Database" type="data" format="tabular" help="Select a custom tabular database" />
81 </when> 92 </when>
82 </conditional> 93 </conditional>
83 <param name="unique" label="Unique matches" type="boolean" truevalue="True" help="Only output features with a single prediction" /> 94 </section>
95 <section name="advanced_output" title="Advanced Output Options" expanded="false">
96 <param name="json" label="JSON" type="boolean" truevalue="False" help="Save results to JSON." />
97 <param name="sql" label="SQL" type="boolean" truevalue="False" help="Save results to sqlite." />
84 </section> 98 </section>
85 </inputs> 99 </inputs>
86 <outputs> 100 <outputs>
87 <data format="tabular" name="output" from_work_dir="vkmz.tsv" label="${tool.name}_${mode.mode_selector}_tabular" /> 101 <data format="tabular" name="output_tabular" from_work_dir="vkmz.tabular" label="${tool.name}_${mode.mode_selector}_tabular" />
88 <data format="html" name="output_html" from_work_dir="vkmz.html" label="${tool.name}_${mode.mode_selector}_html" /> 102 <data format="html" name="output_html" from_work_dir="vkmz.html" label="${tool.name}_${mode.mode_selector}_html" />
103 <data format="json" name="output_json" from_work_dir="vkmz.json" label="${tool.name}_${mode.mode_selector}_json" />
104 <data format="sqlite" name="output_sqlite" from_work_dir="vkmz.db" label="${tool.name}_${mode.mode_selector}_sqlite" />
89 </outputs> 105 </outputs>
90 106
91 <tests> 107 <tests>
92 <test> 108 <test>
93 <conditional name="mode"> 109 <conditional name="mode">
94 <param name="mode_selector" value="xcms" /> 110 <param name="mode_selector" value="w4m" />
95 <param name="datamatrix" value="datamatrix.tabular" /> 111 <param name="datamatrix" value="datamatrix.tabular" />
96 <param name="samplemetadata" value="sampleMetadata.tabular" /> 112 <param name="samplemetadata" value="sampleMetadata.tabular" />
97 <param name="variablemetadata" value="variableMetadata.tabular" /> 113 <param name="variablemetadata" value="variableMetadata.tabular" />
98 </conditional> 114 </conditional>
99 <param name="error" value="10" /> 115 <param name="error" value="10" />
100 <param name="database" value="databases/bmrb-light.tsv" /> 116 <param name="database" value="databases/bmrb-light.tsv" />
101 <output name="output"> 117 <output name="output_tabular">
102 <assert_contents> 118 <assert_contents>
103 <has_text text="0.00016357" /> 119 <has_text text="C6H7NO2" />
104 </assert_contents> 120 </assert_contents>
105 </output> 121 </output>
106 </test> 122 </test>
107 <test>
108 <conditional name="mode">
109 <param name="mode_selector" value="tsv" />
110 <param name="input" value="tabular.tabular" />
111 </conditional>
112 <param name="error" value="10" />
113 <conditional name="database_type">
114 <param name="database" value="databases/bmrb-light.tsv" />
115 </conditional>
116 <output name="output">
117 <assert_contents>
118 <has_text text="0.00016357" />
119 </assert_contents>
120 </output>
121 </test>
122
123 </tests> 123 </tests>
124 124
125 <help><![CDATA[ 125 <help><![CDATA[
126 ========== 126 ============
127 VKMZ 1.2.0 127 VKMZ 1.4dev1
128 ========== 128 ============
129 129
130 VKMZ is a metabolomics prediction and vizualization tool which creates van Krevelen diagrams from mass spectrometry data. A van Krevelen diagram (VKD) plots a molecule on a scatterplot by the molecules oxygen to carbon ratio (O:C) against it's hydrogen to carbon ratio (H:C). Classes of metabolites cluster together on a VKD [0]. Plotting a complex mixture of metabolites on a VKD briefly conveys untargeted metabolomics data. 130 VKMZ is a metabolomics prediction and vizualization tool which creates van Krevelen diagrams from mass spectrometry data. A van Krevelen diagram (VKD) plots a molecule on a scatterplot by the molecules oxygen to carbon ratio (O:C) against it's hydrogen to carbon ratio (H:C). Classes of metabolites cluster together on a VKD [0]. Plotting a complex mixture of metabolites on a VKD briefly conveys untargeted metabolomics data.
131 131
132 ============= 132 =============
133 Documentation 133 Documentation
134 ============= 134 =============
135 135
136 **Input Data** 136 **Input Data**
137 137
138 VKMZ is designed to use XCMS [1] or tabular data as input. 138 VKMZ is designed to use W4M-XCMS [1] or tabular data as input.
139 139
140 *XCMS* mode requires three files which XCMS generates: the data matrix, sample metadata, and variable metadata files. 140 *W4M* mode requires three files which W4M's XCMS wrapper generates: the data matrix, sample metadata, and variable metadata files.
141 141
142 *Tabular* mode requires a tab delimited file with the first five columns being: sample_id, polarity, mz, retention_time, and intensity. 142 *Tabular* mode requires a tab delimited file with the first five columns being: sample_id, polarity, mz, retention_time, and intensity.
143 143
144 **Advanced Input Options** 144 **Advanced Input Options**
145 145
146 *Override polarity* allows users to set the polarity of all features to either *Positive* or *Negative*. Set this if input does not contain the correct polarity information. This option should not be used if data contains both positive and negative polarity. 146 *Override polarity* allows users to set the polarity of all features to either *Positive* or *Negative*. Set this if input does not contain the correct polarity information. This option should not be used if data contains both positive and negative polarity.
147 147
148 *Disable mass adjustment* prevents converting charged masses to neutral masses. 148 *Neutral* disable mass adjustment of features in case nominal exact mass information is present instead of m/z.
149 149
150 **Prediction Options** 150 **Prediction Options**
151 151
152 For each feature VKMZ attempts to predict a molecular formula by comparing the feature's uncharged mass to a database of known formula masses. A prediction is made when a known mass is within a mass error of observed, uncharged, mass. VKMZ finds all predictions for an observed mass within a specified mass error. The prediction with the lowest delta (absolute difference between observed and known mass) is plotted. Features without predictions are discarded. Using low resolution data may result in finding too many predictions per feature to be useful, especially for large mass metabolites. 152 For each feature VKMZ attempts to predict a molecular formula by comparing the feature's uncharged mass to a database of known formula masses. A prediction is made when a known mass is within a mass error of observed, uncharged, mass. VKMZ finds all predictions for an observed mass within a specified mass error. The prediction with the lowest delta (absolute difference between observed and known mass) is plotted. Features without predictions are discarded. Using low resolution data may result in finding too many predictions per feature to be useful, especially for large mass metabolites.
153 153
154 *Mass error* sets the mass error in parts per million. Mass error will be specific to your mass spectrometer, calibration and other methods. Mass error can be approximated by running similar methods with targeted standards with a range in mass. 154 *Mass error* sets the mass error in parts per million. Mass error will be specific to your mass spectrometer, calibration and other methods. Mass error can be approximated by running similar methods with targeted standards with a range in mass.
155 155
156 *Database* can be set to the provided heuristically generated databases for unlabeled and labeled molecules [2] or to a custom database. 156 *Database* can be set to the provided heuristically generated databases for unlabeled and labeled molecules [2] or to a custom database.
157
158 *Unique matches* removes features from the output which have multiple predictions. High mass molecules are affected by this filter more than low mass molecules. This is due to the increased number of possible elemental combinations at a higher mass.
159 157
160 **Tabular Output** 158 **Tabular Output**
161 159
162 Tabular output contians the columns: sample_id, polarity, mz, rt (retentnion time), intensity, predictions (list of list-elements which contains: predicted mz, predicted formula, and predicted delta), hc (hydrogen to carbon ratio), oc, nc. 160 Tabular output contians the columns: sample_id, polarity, mz, rt (retentnion time), intensity, predictions (list of list-elements which contains: predicted mz, predicted formula, and predicted delta), hc (hydrogen to carbon ratio), oc, nc.
163 161
193 <citation type="doi">10.1021/ac051437y</citation> 191 <citation type="doi">10.1021/ac051437y</citation>
194 <citation type="doi">10.1021/ac070346t</citation> 192 <citation type="doi">10.1021/ac070346t</citation>
195 </citations> 193 </citations>
196 194
197 </tool> 195 </tool>
196