Mercurial > repos > immport-devteam > flowai
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> |