diff frag4feature.xml @ 0:ab65999a5430 draft

"planemo upload for repository https://github.com/computational-metabolomics/mspurity-galaxy commit cb903cd93f9378cfb5eeb68512a54178dcea7bbc-dirty"
author computational-metabolomics
date Wed, 27 Nov 2019 14:23:10 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/frag4feature.xml	Wed Nov 27 14:23:10 2019 -0500
@@ -0,0 +1,168 @@
+<tool id="mspurity_frag4feature" name="msPurity.frag4feature" version="@TOOL_VERSION@+galaxy@GALAXY_TOOL_VERSION@">
+    <description>
+        Assign fragmentation spectra to XCMS features using msPurity
+    </description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro="requirements"/>
+    <command detect_errors="exit_code"><![CDATA[
+        Rscript '$__tool_directory__/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 argument="--xset" type="data"  label="xcmsSet object" 
+               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 argument="--pa" type="data" label="purityA object" format="rdata"
+               help="purityA object generated from msPurity_purityA.
+               Contains details of fragmentation spectra and precursor ion purity results
+               (output from purityA tool)"/>
+        <param argument="--ppm" type="float" 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 argument="--plim" type="float" label="Precursor ion purity threshold"
+               value="0" max="1" min="0" 
+               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 argument="--intense" type="boolean" checked="true"  
+               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  argument="--convert2RawRT" type="boolean" checked="false" 
+               label="Was retention time correction used?"
+               help="If retention time correction has been used in XCMS set this to yes"/>
+        <param argument="--useGroup" type="boolean" checked="false"  
+              label="For matching fragmentation to a feature, use the grouped feature range"
+              help="For special cases where the MS2 files have no MS1 data or if the MS1 data in the MS2 file is unreliable"  />
+
+        <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>