annotate flowai/FCSflowAI.xml @ 0:60aa5e56531a draft

Uploaded
author immport-devteam
date Mon, 27 Feb 2017 12:55:30 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
1 <tool id="flowAI" name="flowAI" version="1.0">
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
2 <description> automatic quality control </description>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
3 <requirements>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
4 <requirement type="package" version="3.3.0">r</requirement>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
5 <requirement type="package" version="1.38.2">bioconductor-flowcore</requirement>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
6 <requirement type="package" version="1.2.9">bioconductor-flowai</requirement>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
7 </requirements>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
8 <stdio>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
9 <exit_code range="2:" level="fatal" description="See stderr for more details." />
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
10 </stdio>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
11 <command><![CDATA[
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
12 Rscript --slave --vanilla $GALAXY_ROOT_DIR/tools/flowtools/FCSflowAI.R --args "${input}" "${remove}" $alphaFR $chremFS $outFS $penFS "${sideFM}" "${full_rep}" $highfcs $lowfcs $qcfcs
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
13 ]]>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
14 </command>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
15 <inputs>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
16 <param format="fcs" name="input" type="data" label="FCS file"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
17 <param name="remove" type="select" label="Remove low quality cells from:">
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
18 <option value="all">Flow rate, Signal acquisition and Dynamic range</option>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
19 <option value="FR_FS">Flow rate and Signal acquisition</option>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
20 <option value="FR_FM">Flow rate and Dynamic range</option>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
21 <option value="FS_FM">Signal acquisition and Dynamic range</option>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
22 <option value="FR">Flow rate</option>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
23 <option value="FS">Signal acquisition</option>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
24 <option value="FM">Dynamic range</option>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
25 </param>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
26 <param name="alphaFR" type="float" label="Significance threshold for flow rate check:" value="0.01"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
27 <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."/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
28 <param name="outFS" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="Do you want to remove outliers before the signal acquisition check?"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
29 <param name="penFS" type="integer" label="Stringency of signal acquisition check (higher tolerance with higher values):" value="200"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
30 <param name="sideFM" type="select" label="Include in dynamic range check:">
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
31 <option value="both">Both limits</option>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
32 <option value="upper">Upper limit only</option>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
33 <option value="lower">Lower limit only</option>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
34 </param>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
35 <param name="highQ_FCS" type="boolean" checked="true" truevalue="TRUE" falsevalue="FALSE" label="Create FCS file with only high quality events?"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
36 <param name="lowQ_FCS" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="Create FCS file with only low quality events?"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
37 <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?"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
38 </inputs>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
39 <outputs>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
40 <data format="html" name="full_rep" label="QC of ${input.name}">
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
41 </data>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
42 <data format="fcs" name="highfcs" label="High quality events only from ${input.name}">
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
43 <filter>(highQ_FCS)</filter>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
44 </data>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
45 <data format="fcs" name="lowfcs" label="Low quality events only from ${input.name}">
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
46 <filter>(lowQ_FCS)</filter>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
47 </data>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
48 <data format="fcs" name="qcfcs" label="All events (low quality event marked up) from ${input.name}">
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
49 <filter>(QC_FCS)</filter>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
50 </data>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
51 </outputs>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
52 <tests>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
53 <test>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
54 <param name="input" value="input.fcs"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
55 <param name="remove" value="all"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
56 <param name="alphaFR" value="0.01"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
57 <param name="chremFS" value="TRUE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
58 <param name="outFS" value="FALSE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
59 <param name="penFS" value="200"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
60 <param name="sideFM" value="both"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
61 <param name="highQ_FCS" value="TRUE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
62 <param name="lowQ_FCS" value="FALSE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
63 <param name="QC_FCS" value="FALSE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
64 <output name="full_rep" file="std/QCreport.html" lines_diff="2"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
65 <output name="highfcs" file="std/hqdata.fcs" compare="sim_size"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
66 </test>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
67 <test>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
68 <param name="input" value="input.fcs"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
69 <param name="remove" value="all"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
70 <param name="alphaFR" value="0.01"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
71 <param name="chremFS" value="TRUE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
72 <param name="outFS" value="FALSE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
73 <param name="penFS" value="200"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
74 <param name="sideFM" value="both"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
75 <param name="highQ_FCS" value="TRUE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
76 <param name="lowQ_FCS" value="TRUE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
77 <param name="QC_FCS" value="TRUE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
78 <output name="full_rep" file="std/QCreport.html" lines_diff="2"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
79 <output name="highfcs" file="std/hqdata.fcs" compare="sim_size"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
80 <output name="lowfcs" file="std/lqdata.fcs" compare="sim_size"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
81 <output name="qcfcs" file="std/alldata.fcs" compare="sim_size"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
82 </test>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
83 <test>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
84 <param name="input" value="input.fcs"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
85 <param name="remove" value="all"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
86 <param name="alphaFR" value="0.01"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
87 <param name="chremFS" value="TRUE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
88 <param name="outFS" value="TRUE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
89 <param name="penFS" value="200"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
90 <param name="sideFM" value="both"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
91 <param name="highQ_FCS" value="TRUE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
92 <param name="lowQ_FCS" value="FALSE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
93 <param name="QC_FCS" value="FALSE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
94 <output name="full_rep" file="nooutliers/QCreport_nooutliers.html" lines_diff="2"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
95 <output name="highfcs" file="nooutliers/hqdata_nooutliers.fcs" compare="sim_size"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
96 </test>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
97 <test>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
98 <param name="input" value="input.fcs"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
99 <param name="remove" value="all"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
100 <param name="alphaFR" value="0.01"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
101 <param name="chremFS" value="FALSE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
102 <param name="outFS" value="FALSE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
103 <param name="penFS" value="200"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
104 <param name="sideFM" value="both"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
105 <param name="highQ_FCS" value="TRUE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
106 <param name="lowQ_FCS" value="FALSE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
107 <param name="QC_FCS" value="FALSE"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
108 <output name="full_rep" file="withsfsc/QCreport_sfsc.html" lines_diff="2"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
109 <output name="highfcs" file="withsfsc/hqdata_sfsc.fcs" compare="sim_size"/>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
110 </test>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
111 </tests>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
112 <help><![CDATA[
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
113 This tool automatically performs quality control of flow cytometry data.
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
114
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
115 -----
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
116
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
117 **Input files**
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
118
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
119 • One or more FCS files.
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
120
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
121 **Output files**
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
122
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
123 • full HTML report
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
124 • new FCS file containing only high quality events (default)
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
125 • new FCS file containing only low quality events (optional)
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
126 • original FCS file containing an additional parameter where the low quality events have a value higher than 10,000 (optional)
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
127
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
128
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
129 The files generated will be FCS 3.0.
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
130
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
131 ----
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
132
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
133 Description of the approach
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
134 '''''''''''''''''''''''''''
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
135 This tool identifies anomalies from three fundamental properties of flow cytometry data:
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
136
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
137 - *Flow rate*. Surges and substantial shifts of the rate of the cells passing through the capillary tube are detected.
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
138
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
139 - *Signal acquisition*. Instability in the signal acquired for each channel are detected. In most cases it corresponds to flow rate surges and shifts.
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
140
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
141 - *Dynamic range*. Values recorded in the upper limit (margin events) and negative outliers are removed.
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
142
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
143 .. class:: infomark
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
144
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
145 An HTML report with informative plots is generated. Users are advised to review the report and also::
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
146
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
147 1. Eventually adjust the quality control parameters
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
148 2. Discard the entire FCS file because of an unacceptable number of anomalies
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
149 3. Program a flow cytometry maintenance because of recurrent issues
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
150
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
151
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
152 Parameters
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
153 ''''''''''
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
154 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.
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
155
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
156 Example
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
157 '''''''
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
158 This section provides an example of a flowAI quality control html report with plots:
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
159
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
160
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
161 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.
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
162
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
163 .. image:: static/images/autoflowrate.png
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
164
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
165 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.
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
166
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
167 .. image:: static/images/autosignal.png
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
168
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
169 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.
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
170
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
171 .. image:: static/images/margins.png
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
172
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
173 ]]>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
174 </help>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
175 <citations>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
176 <citation type="doi">10.1093/bioinformatics/btw191</citation>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
177 </citations>
60aa5e56531a Uploaded
immport-devteam
parents:
diff changeset
178 </tool>