diff frag4feature.xml @ 0:cdf48fd76e98 draft

planemo upload for repository https://github.com/computational-metabolomics/mspurity-galaxy commit 2948ce35fa7fffe5a64711cb30be971031e79019-dirty
author tomnl
date Fri, 24 May 2019 09:04:36 -0400
parents
children 8adaadc37c25
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/frag4feature.xml	Fri May 24 09:04:36 2019 -0400
@@ -0,0 +1,175 @@
+<tool id="mspurity_frag4feature" name="msPurity.frag4feature" version="0.2.0">
+    <description>
+        Assign fragmentation spectra to XCMS features using msPurity
+    </description>
+
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+
+    <expand macro="requirements">
+    </expand>
+ <stdio>
+        <exit_code range="1:" />
+    </stdio>
+    <command interpreter="Rscript"><![CDATA[
+        frag4feature.R
+            --out_dir=.
+            --xset=$xset
+            --pa=$pa
+            --cores=\${GALAXY_SLOTS:-4}
+            #if $file_load_conditional.file_load_select=="yes"
+                --mzML_files='
+                #for $i in $file_load_conditional.input
+                    $i,
+                #end for
+                '
+                --galaxy_names='
+                #for $i in $file_load_conditional.input
+                    $i.name,
+                #end for
+                '
+            #end if
+            #if $useGroup
+                --useGroup
+            #end if
+
+            --ppm=$ppm
+            --plim=$plim
+            #if $intense
+                --intense
+            #end if
+            #if $convert2RawRT
+                --convert2RawRT
+            #end if
+
+
+    ]]></command>
+    <inputs>
+
+        <param type="data" name="xset" label="xcmsSet object" argument="--xset"
+               help="grouped xcmsSet object saved as 'xset' in an RData file"
+               format="rdata.xcms.raw,rdata.xcms.group,rdata.xcms.retcor,rdata.xcms.fillpeaks,rdata.camera.quick,rdata.camera.positive,rdata.camera.negative,rdata"/>
+        <param type="data" name="pa" label="purityA object" format="rdata" argument="--pa"
+               help="purityA object generated from msPurity_purityA.
+               Contains details of fragmentation spectra and precursor ion purity results
+               (output from purityA tool)"/>
+        <param name="ppm" type="float" argument="--ppm" value="10"
+               label="ppm error tolerance between precursor mz and XCMS feature mz"
+               help="Fragmentation will be ignored if the precursor mz value is not within
+               the ppm error tolerance to the XCMS feature mz"/>
+        <param name="plim" type="float" label="Precursor ion purity threshold"
+               value="0" max="1" min="0" argument="--plim"
+               help="Fragmentation will be ignore if the precursor ion purity is less than the
+               threshold (further filtering on the precursor ion purity can be done at the averaging
+               stage if required)."/>
+        <param name="intense" type="boolean" checked="true"  argument="--intense"
+               label="Should the most intense precursor be used within the isolation window?"
+               help="If TRUE the most intense precursor will be used. If FALSE the precursor
+               closest to the center of the isolation window will be used"/>
+        <param name="convert2RawRT" type="boolean" checked="false"  argument="--convert2RawRT"
+               label="Was retention time correction used?"
+               help="If retention time correction has been used in XCMS set this to yes"/>
+        <param name="useGroup" type="boolean" checked="false"  argument="--useGroup"
+              label="For matching fragmentation to a feature, use the grouped feature range"
+              help="If the MS1 and MS2 are in different files this is option has to be set to
+              true"  />
+
+        <expand macro="fileload" />
+
+    </inputs>
+    <outputs>
+        <data name="frag4feature_output_tsv" format="tsv" label="${tool.name} on ${on_string}: tsv"
+              from_work_dir="frag4feature_output.tsv" />
+        <data name="frag4feature_output_rdata" format="rdata" label="${tool.name} on ${on_string}: RData"
+              from_work_dir="frag4feature_output.RData" />
+    </outputs>
+    <tests>
+        <test>
+            <conditional name="file_load_conditional">
+                <param name="file_load_select" value="yes"/>
+                <param name="input" >
+                    <collection type="list">
+                        <element name="LCMSMS_2.mzML" value="LCMSMS_2.mzML"/>
+                        <element name="LCMSMS_1.mzML" value="LCMSMS_1.mzML"/>
+                        <element name="LCMS_2.mzML" value="LCMS_2.mzML"/>
+                        <element name="LCMS_1.mzML" value="LCMS_1.mzML"/>
+                    </collection>
+                </param>
+            </conditional>
+            <param name="xset" value="xset_group_LCMS_1_LCMS_2_LCMSMS_1_LCMSMS_2.RData"/>
+            <param name="pa" value="purityA_output.RData"/>
+            <output name="frag4feature_output_tsv" value="frag4feature_output.tsv"/>
+            <output name="frag4feature_output_rdata" value="frag4feature_output.RData" ftype="rdata" compare="sim_size"/>
+        </test>
+    </tests>
+
+    <help><![CDATA[
+=============================================================
+Link fragmentation spectra to XCMS features
+=============================================================
+-----------
+Description
+-----------
+
+**General**
+
+Tool to Assign fragmentation spectra (MS/MS) stored within a purityA class object to grouped features within an XCMS xset object.
+
+Please note that the xcmsSet object needs to have been grouped.
+
+The data inputs are:
+
+* A purityA object (generated from purityA) saved in an rdata file.
+* A xcmsSet grouped object (generated from xcms_group) saved in an rdata file
+* [optional] a dataset collection of the mzML files to resubmit
+
+XCMS calculates individual chromatographic peaks for each mzML file (saved in xset@peaks), these are then grouped together
+(using xcms.group). Ideally the mzML files that contain the MS/MS spectra also contain sufficient MS1 scans for XCMS to detect
+MS1 chromatographic features. If this is the case, to determine if a MS2 spectra is to be linked to an XCMS grouped feature,
+the associated acquisition time of the MS/MS event has to be within the retention time window defined for the individual peaks
+associated for each file. The precursor m/z value also has to be within the user ppm tolerance to XCMS feature.
+
+See below for representation of the linking (the \*------\* represent a many-to-many relationship) e.g. 1 or more MS/MS events can be
+linked to 1 or more individual feature and an individual XCMS feature can be linked to 1 or more grouped XCMS features
+
+* \[grouped XCMS feature - across files\] \*------\*  \[individual XCMS feature - per file\] \*------\*  \[MS/MS spectra\]
+
+Alternatively, if the "useGroup" argument is set to TRUE, the full width of the grouped peak (determined as the minimum rtmin
+and maximum rtmax of the all associated individual peaks) will be used. This option should be used if the mzML file with
+MS/MS has very limited MS1 data and so individual chromatographic peaks might not be detected with the mzML files containing the
+MS/MS data. However, it should be noted this may lead to potential inaccurate linking.
+
+* \[grouped XCMS peaks\] \*------\* \[MS/MS spectra\]
+
+**Example LC-MS/MS processing workflow**
+
+
+* Purity assessments
+    +  (mzML files) -> purityA -> (pa)
+* XCMS processing
+    +  (mzML files) -> xcms.xcmsSet -> xcms.merge -> xcms.group -> xcms.retcor -> xcms.group -> (xset)
+* Fragmentation processing
+    + (xset, pa) -> **frag4feature** -> filterFragSpectra -> averageAllFragSpectra -> createDatabase -> spectralMatching -> (sqlite spectral database)
+
+**Additional notes**
+
+* If using only a single file, then grouping still needs to be performed within XCMS before frag4feature can be used.
+* Fragmentation spectra below a certain precursor ion purity can be be removed (see plim argument).
+* A SQLite database can be created directly here but the functionality has been deprecated and the createDatabase function should now be used
+* Can experience some problems when using XCMS version < 3 and obiwarp retention time correction.
+
+See Bioconductor documentation for more details, function msPurity::frag4feature()
+
+-----------
+Outputs
+-----------
+* frag4feature_rdata: An updated purityA object saved as rdata file with fragmentation-feature links added
+* frag4feature_grouped_msms: A flat file of all the XCMS peaks for each grouped feature and the corresponding fragmentation scans
+* frag4feature_sqlite: An SQLite database of the data (including fragmentation scans)
+
+    ]]></help>
+
+<expand macro="citations" />
+
+</tool>