11---
22name : galaxy-workflow4metabolomics-reproducible-processing
3- description : Use when running an LC-MS or GC-MS preprocessing and statistics workflow
4- on the Galaxy Workflow4Metabolomics instance, or when a collaborator needs to re-execute
5- an analysis without installing the toolchain locally.
3+ description : Use when running an LC-MS or GC-MS preprocessing and statistics pipeline
4+ on a Galaxy Workflow4Metabolomics instance, or when a collaborator must re-execute
5+ the analysis without installing the toolchain — the stage order is fixed by the
6+ wrappers' own datatypes, not by convention.
67license : CC-BY-4.0
78status : hold
89metadata :
@@ -13,65 +14,118 @@ metadata:
1314 - LC-MS
1415 - GC-MS
1516 repo_url : https://github.com/workflow4metabolomics/tools-metabolomics
16- related_skills : []
17+ related_skills :
18+ - w4m-three-table-format-conformance
1719 license_tier : open
1820 provenance_tier : repository
1921 tool_license :
2022 tier : open
2123 requires_ack : false
2224 ref : GPL-3.0
23- url : https://github.com/workflow4metabolomics/tools-metabolomics/blob/main/LICENSE
25+ url : https://github.com/workflow4metabolomics/tools-metabolomics/blob/master/LICENSE.txt
26+ verified_against :
27+ repo_ref : master
28+ observed : ' 2026-08-21'
2429schema_version : 0.2.0
2530---
2631
2732# galaxy-workflow4metabolomics-reproducible-processing
2833
29- Run a metabolomics workflow on a shared Galaxy instance so that the analysis can
30- be re-executed by someone who has neither the software nor the compute.
34+ Run a metabolomics workflow on a shared Galaxy instance so the analysis can be
35+ re-executed by someone who has neither the software nor the compute.
3136
3237## When this applies
3338
3439The barrier to reproducing a metabolomics analysis is rarely the method; it is
35- the environment. Workflow4Metabolomics packages the common LC-MS and GC-MS
36- pipeline — preprocessing, normalisation, annotation , univariate and multivariate
37- statistics — as Galaxy tools on a public instance , so a workflow can be shared as
38- a document that others execute rather than as instructions they reimplement.
40+ the environment. Workflow4Metabolomics packages the LC-MS, GC-MS and NMR
41+ pipelines — preprocessing, annotation, normalisation , univariate and
42+ multivariate statistics — as Galaxy tools, so a workflow is shared as a document
43+ others execute rather than as instructions they reimplement.
3944
40- Reach for it when the analysis must outlive the machine it was written on, when a
41- collaborator cannot install the toolchain, or when a submission requires an
45+ Reach for it when the analysis must outlive the machine it was written on, when
46+ a collaborator cannot install the toolchain, or when a submission requires an
4247executable record of what was run.
4348
49+ ## The stage order is enforced, not conventional
50+
51+ The LC-MS wrappers declare intermediate Galaxy datatypes, and each stage accepts
52+ only the datatype the previous one emits. The chain is therefore readable off
53+ the tool definitions:
54+
55+ ```
56+ mzML / mzXML / netCDF / mzData
57+ → MSnbase readMSData → rdata.msnbase.raw
58+ → xcms findChromPeaks → rdata.xcms.findchrompeaks
59+ → xcms refineChromPeaks → rdata.xcms.findchrompeaks (optional)
60+ → xcms findChromPeaks Merger → rdata.xcms.findchrompeaks (multi-sample)
61+ → xcms groupChromPeaks → rdata.xcms.group
62+ → xcms adjustRtime → rdata.xcms.retcor
63+ → xcms groupChromPeaks → rdata.xcms.group (second pass)
64+ → xcms fillChromPeaks → rdata.xcms.fillpeaks
65+ → CAMERA annotate → rdata.camera.* + the three tables
66+ ```
67+
68+ Two consequences follow from the datatypes themselves. ` adjustRtime ` consumes a
69+ grouped object, so correspondence precedes alignment and is then repeated
70+ against the corrected retention times — the second grouping pass is required,
71+ not a refinement. And ` fillChromPeaks ` accepts only ` rdata.xcms.group ` , so gap
72+ filling cannot be moved after annotation.
73+
74+ Parameter optimisation sits beside the chain rather than in it: `IPO for
75+ xcmsSet` reads raw files and ` IPO for group and retcor` reads the xcms objects,
76+ and both emit parameter tables you feed back into the corresponding step.
77+
78+ Downstream of CAMERA the pipeline works on the three-table format, and
79+ ` Check Format ` is the entry point to it. Polarity modes are processed separately
80+ and joined with ` CAMERA combinexsAnnos ` . ` Mz(X)ML Shaper ` reshapes open formats
81+ into XCMS-readable mz(X)ML — it accepts mzML, mzXML and netCDF only, so vendor
82+ conversion still happens before upload and outside the platform.
83+
4484## Procedure
4585
46- 1 . ** Upload the raw data in an open format.** Convert vendor files to mzML first.
86+ 1 . ** Upload raw data in an open format.** Convert vendor files to mzML first.
4787 Uploading vendor formats defers the conversion problem to whoever reruns the
4888 workflow, which defeats the purpose.
49- 2 . ** Build the sample metadata table before processing** , with one row per file
50- and explicit columns for class, batch and injection order. Most downstream
51- failures in this pipeline are metadata failures, and they surface late.
52- 3 . ** Assemble the workflow from the instance's tool set** , keeping preprocessing,
53- normalisation and statistics as separate steps rather than one composite. A
54- step you cannot inspect is a step you cannot defend.
55- 4 . ** Record every non-default parameter.** The workflow document stores them, but
56- a reader needs to know which ones were chosen deliberately and why.
57- 5 . ** Export the workflow and the invocation** , not only the results. The workflow
58- is the method; the invocation ties it to this dataset and these parameters.
89+
90+ 2 . ** Build the sample metadata table before processing** , one row per file, with
91+ explicit columns for class, batch and injection order. Most downstream
92+ failures in this pipeline are metadata failures and they surface late. The
93+ ` xcms get a sampleMetadata file ` tool emits the skeleton to fill in.
94+
95+ 3 . ** Keep the stages separate.** Preprocessing, annotation, normalisation and
96+ statistics stay distinct steps rather than one composite. A step you cannot
97+ inspect is a step you cannot defend, and the datatypes above give you the
98+ inspection points for free.
99+
100+ 4 . ** Record every non-default parameter.** The workflow document stores them,
101+ but a reader needs to know which were chosen deliberately and why. Where a
102+ parameter came from IPO, say so and keep the IPO output.
103+
104+ 5 . ** Export the workflow and the invocation** , not only the results. The
105+ workflow is the method; the invocation ties it to this dataset, these
106+ parameters and the tool versions that actually ran.
59107
60108## Verification
61109
110+ - ` xcms process history ` summarises what ran; read it rather than trusting the
111+ workflow diagram, which shows what was requested.
62112- The exported workflow re-runs on the same inputs and yields the same feature
63113 count. A difference means a parameter was not captured or a tool version moved.
64114- The sample metadata row count matches the uploaded file count.
65- - The feature table's sample columns match the metadata's sample identifiers
66- exactly — a silent mismatch here produces statistics on mislabelled groups .
115+ - The three tables agree on identifiers and order before any statistics step.
116+ - Both polarities, if processed, were combined once and not double-counted .
67117
68118## Limitations
69119
70- - Public instances impose quotas on storage and runtime; a large study may need a
71- local or institutional Galaxy rather than the shared one.
72- - Tool versions on the instance change over time. A workflow exported today may
73- resolve to different tool versions later, so the invocation record — which pins
74- versions — matters more than the workflow alone.
120+ - Public instances impose quotas on storage and runtime; a large study may need
121+ an institutional Galaxy rather than the shared one.
122+ - Tool versions on the instance change over time, and most wrappers version
123+ themselves against the underlying R package. A workflow exported today may
124+ resolve to different versions later, so the invocation record matters more
125+ than the workflow alone.
75126- The available tools bound the method. A step the instance does not provide
76127 cannot be inserted without deploying a tool, which is an administrative task
77128 rather than an analytical one.
129+ - The datatype chain above is the LC-MS line. The NMR tools and the
130+ isotope-labelling and flux tools in the same repository form separate chains
131+ that share only the three-table format.
0 commit comments