comparison FCSflowAI.xml @ 1:34397a84faf1 draft

"planemo upload for repository https://github.com/ImmPortDB/immport-galaxy-tools/tree/master/flowtools/flowai commit 83ef47729f2d2cdae84171761a6795df9fb63389"
author azomics
date Tue, 23 Jun 2020 18:34:02 -0400
parents
children fab7c5deeb65
comparison
equal deleted inserted replaced
0:60aa5e56531a 1:34397a84faf1
1 <tool id="flowAI" name="flowAI" version="1.0+galaxy0">
2 <description> automatic quality control</description>
3 <requirements>
4 <requirement type="package" version="1.42.0">bioconductor-flowcore</requirement>
5 <requirement type="package" version="1.2.9">bioconductor-flowai</requirement>
6 </requirements>
7 <stdio>
8 <exit_code range="2:" level="fatal" description="See stderr for more details." />
9 </stdio>
10 <command><![CDATA[
11 Rscript $__tool_directory__/FCSflowAI.R '${input}' '${remove}' $alphaFR $chremFS $outFS $penFS '${sideFM}' '${full_rep}' $highfcs $lowfcs $qcfcs
12 ]]>
13 </command>
14 <inputs>
15 <param format="fcs" name="input" type="data" label="FCS file"/>
16 <param name="remove" type="select" label="Remove low quality cells from:">
17 <option value="all">Flow rate, Signal acquisition and Dynamic range</option>
18 <option value="FR_FS">Flow rate and Signal acquisition</option>
19 <option value="FR_FM">Flow rate and Dynamic range</option>
20 <option value="FS_FM">Signal acquisition and Dynamic range</option>
21 <option value="FR">Flow rate</option>
22 <option value="FS">Signal acquisition</option>
23 <option value="FM">Dynamic range</option>
24 </param>
25 <param name="alphaFR" type="float" label="Significance threshold for flow rate check:" value="0.01"/>
26 <param name="chremFS" type="boolean" checked="true" truevalue="TRUE" falsevalue="FALSE" label="Do you want to exclude the FSC and SSC parameters from the signal acquisition check?" help="The FSC and SSC parameters will not be taken into account for analysis but will not be removed."/>
27 <param name="outFS" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="Do you want to remove outliers before the signal acquisition check?"/>
28 <param name="penFS" type="integer" label="Stringency of signal acquisition check (higher tolerance with higher values):" value="200"/>
29 <param name="sideFM" type="select" label="Include in dynamic range check:">
30 <option value="both">Both limits</option>
31 <option value="upper">Upper limit only</option>
32 <option value="lower">Lower limit only</option>
33 </param>
34 <param name="highQ_FCS" type="boolean" checked="true" truevalue="TRUE" falsevalue="FALSE" label="Create FCS file with only high quality events?"/>
35 <param name="lowQ_FCS" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="Create FCS file with only low quality events?"/>
36 <param name="QC_FCS" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="Create FCS file with an additional parameter where low quality events have values higher than 10,000?"/>
37 </inputs>
38 <outputs>
39 <data format="html" name="full_rep" label="QC of ${input.name}">
40 </data>
41 <data format="fcs" name="highfcs" label="High quality events only from ${input.name}">
42 <filter>(highQ_FCS)</filter>
43 </data>
44 <data format="fcs" name="lowfcs" label="Low quality events only from ${input.name}">
45 <filter>(lowQ_FCS)</filter>
46 </data>
47 <data format="fcs" name="qcfcs" label="All events (low quality event marked up) from ${input.name}">
48 <filter>(QC_FCS)</filter>
49 </data>
50 </outputs>
51 <tests>
52 <test>
53 <param name="input" value="input.fcs"/>
54 <param name="remove" value="all"/>
55 <param name="alphaFR" value="0.01"/>
56 <param name="chremFS" value="TRUE"/>
57 <param name="outFS" value="FALSE"/>
58 <param name="penFS" value="200"/>
59 <param name="sideFM" value="both"/>
60 <param name="highQ_FCS" value="TRUE"/>
61 <param name="lowQ_FCS" value="FALSE"/>
62 <param name="QC_FCS" value="FALSE"/>
63 <output name="full_rep" file="std/QCreport.html" compare="sim_size"/>
64 <output name="highfcs" file="std/hqdata.fcs" compare="sim_size"/>
65 </test>
66 <test>
67 <param name="input" value="input.fcs"/>
68 <param name="remove" value="all"/>
69 <param name="alphaFR" value="0.01"/>
70 <param name="chremFS" value="TRUE"/>
71 <param name="outFS" value="FALSE"/>
72 <param name="penFS" value="200"/>
73 <param name="sideFM" value="both"/>
74 <param name="highQ_FCS" value="TRUE"/>
75 <param name="lowQ_FCS" value="TRUE"/>
76 <param name="QC_FCS" value="TRUE"/>
77 <output name="full_rep" file="std/QCreport.html" compare="sim_size"/>
78 <output name="highfcs" file="std/hqdata.fcs" compare="sim_size"/>
79 <output name="lowfcs" file="std/lqdata.fcs" compare="sim_size"/>
80 <output name="qcfcs" file="std/alldata.fcs" compare="sim_size"/>
81 </test>
82 <test>
83 <param name="input" value="input.fcs"/>
84 <param name="remove" value="all"/>
85 <param name="alphaFR" value="0.01"/>
86 <param name="chremFS" value="TRUE"/>
87 <param name="outFS" value="TRUE"/>
88 <param name="penFS" value="200"/>
89 <param name="sideFM" value="both"/>
90 <param name="highQ_FCS" value="TRUE"/>
91 <param name="lowQ_FCS" value="FALSE"/>
92 <param name="QC_FCS" value="FALSE"/>
93 <output name="full_rep" file="nooutliers/QCreport_nooutliers.html" compare="sim_size"/>
94 <output name="highfcs" file="nooutliers/hqdata_nooutliers.fcs" compare="sim_size"/>
95 </test>
96 <test>
97 <param name="input" value="input.fcs"/>
98 <param name="remove" value="all"/>
99 <param name="alphaFR" value="0.01"/>
100 <param name="chremFS" value="FALSE"/>
101 <param name="outFS" value="FALSE"/>
102 <param name="penFS" value="200"/>
103 <param name="sideFM" value="both"/>
104 <param name="highQ_FCS" value="TRUE"/>
105 <param name="lowQ_FCS" value="FALSE"/>
106 <param name="QC_FCS" value="FALSE"/>
107 <output name="full_rep" file="withsfsc/QCreport_sfsc.html" compare="sim_size"/>
108 <output name="highfcs" file="withsfsc/hqdata_sfsc.fcs" compare="sim_size"/>
109 </test>
110 </tests>
111 <help><![CDATA[
112 This tool automatically performs quality control of flow cytometry data.
113
114 -----
115
116 **Input files**
117
118 • One or more FCS files.
119
120 **Output files**
121
122 • full HTML report
123 • new FCS file containing only high quality events (default)
124 • new FCS file containing only low quality events (optional)
125 • original FCS file containing an additional parameter where the low quality events have a value higher than 10,000 (optional)
126
127
128 The files generated will be FCS 3.0.
129
130 ----
131
132 Description of the approach
133 '''''''''''''''''''''''''''
134 This tool identifies anomalies from three fundamental properties of flow cytometry data:
135
136 - *Flow rate*. Surges and substantial shifts of the rate of the cells passing through the capillary tube are detected.
137
138 - *Signal acquisition*. Instability in the signal acquired for each channel are detected. In most cases it corresponds to flow rate surges and shifts.
139
140 - *Dynamic range*. Values recorded in the upper limit (margin events) and negative outliers are removed.
141
142 .. class:: infomark
143
144 An HTML report with informative plots is generated. Users are advised to review the report and also::
145
146 1. Eventually adjust the quality control parameters
147 2. Discard the entire FCS file because of an unacceptable number of anomalies
148 3. Program a flow cytometry maintenance because of recurrent issues
149
150
151 Parameters
152 ''''''''''
153 Default settings work well in the majority of cases. Setting customization may be needed to address properties of unique datasets. For example, high-dimensional FCS files may perform best with more tolerant setttings for signal acquisition checks.
154
155 Example
156 '''''''
157 This section provides an example of a flowAI quality control html report with plots:
158
159
160 Flow rate check: anomalies are flagged with a green circle. In this instance a surge was detected and discarded as well as a shift from the median value later in the experiment.
161
162 .. image:: ./static/images/flowtools/autoflowrate.png
163
164 Signal acquistion check: Orange background (or yellow depending on the user's computer) highlights the stable region. Signal acquistion shifts are identified on a per channel basis and the largest region containing no anomalies is retained.
165
166 .. image:: ./static/images/flowtools/autosignal.png
167
168 Dynamic range check: red and blue lines reflect the detected number of events over time. The x-axis corresponds to that of the signal acquisition plot.
169
170 .. image:: ./static/images/flowtools/margins.png
171
172 ]]>
173 </help>
174 <citations>
175 <citation type="doi">10.1093/bioinformatics/btw191</citation>
176 </citations>
177 </tool>