comparison deseq2.xml @ 43:621ddf5967d2 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/deseq2 commit 469558ddf5bc6249874fe5826637fd6ee81588cf
author iuc
date Tue, 18 Jul 2023 14:58:28 +0000
parents 6ef2cba4e35a
children
comparison
equal deleted inserted replaced
42:6ef2cba4e35a 43:621ddf5967d2
1 <tool id="deseq2" name="DESeq2" version="@TOOL_VERSION@+galaxy@SUFFIX_VERSION@"> 1 <tool id="deseq2" name="DESeq2" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>Determines differentially expressed features from count tables</description> 2 <description>Determines differentially expressed features from count tables</description>
3 <macros> 3 <macros>
4 <import>deseq2_macros.xml</import> 4 <import>macros.xml</import>
5 </macros> 5 </macros>
6 <expand macro='edam_ontology'/>
7 <expand macro='xrefs'/>
6 <expand macro='requirements'/> 8 <expand macro='requirements'/>
7 <expand macro='edam_ontology' />
8 <expand macro='xrefs'/>
9 <stdio> 9 <stdio>
10 <regex match="Execution halted" 10 <regex match="Execution halted"
11 source="both" 11 source="both"
12 level="fatal" 12 level="fatal"
13 description="Execution halted." /> 13 description="Execution halted."/>
14 <regex match="Error in" 14 <regex match="Error in"
15 source="both" 15 source="both"
16 level="fatal" 16 level="fatal"
17 description="An undefined error occurred, please check your input carefully and contact your administrator." /> 17 description="An undefined error occurred, please check your input carefully and contact your administrator."/>
18 <regex match="Fatal error" 18 <regex match="Fatal error"
19 source="both" 19 source="both"
20 level="fatal" 20 level="fatal"
21 description="An undefined error occurred, please check your input carefully and contact your administrator." /> 21 description="An undefined error occurred, please check your input carefully and contact your administrator."/>
22 </stdio> 22 </stdio>
23 <version_command><![CDATA[ 23 <version_command><![CDATA[
24 echo $(R --version | grep version | grep -v GNU)", DESeq2 version" $(R --vanilla --slave -e "library(DESeq2); cat(sessionInfo()\$otherPkgs\$DESeq2\$Version)" 2> /dev/null | grep -v -i "WARNING: ") 24 echo $(R --version | grep version | grep -v GNU)", DESeq2 version" $(R --vanilla --slave -e "library(DESeq2); cat(sessionInfo()\$otherPkgs\$DESeq2\$Version)" 2> /dev/null | grep -v -i "WARNING: ")
25 ]]></version_command> 25 ]]></version_command>
26 <command><![CDATA[ 26 <command><![CDATA[
83 83
84 $header 84 $header
85 85
86 -f '#echo json.dumps(temp_factor_names)#' 86 -f '#echo json.dumps(temp_factor_names)#'
87 -l '#echo json.dumps(filename_to_element_identifiers)#' 87 -l '#echo json.dumps(filename_to_element_identifiers)#'
88 #if $advanced_options.esf: 88 #if $advanced_options.esf_cond.esf:
89 -e $advanced_options.esf 89 #if $advanced_options.esf_cond.esf == "user":
90 -e $advanced_options.esf_cond.size_factor_input
91 #else:
92 -e $advanced_options.esf_cond.esf
93 #end if
90 #end if 94 #end if
91 -t $advanced_options.fit_type 95 -t $advanced_options.fit_type
92 #if $batch_factors: 96 #if $batch_factors:
93 --batch_factors '$batch_factors' 97 --batch_factors '$batch_factors'
94 #end if 98 #end if
95 #if $advanced_options.prefilter_conditional.prefilter: 99 #if $advanced_options.prefilter_conditional.prefilter:
96 $advanced_options.prefilter_conditional.prefilter 100 $advanced_options.prefilter_conditional.prefilter
97 -V $advanced_options.prefilter_conditional.prefilter_value 101 -V $advanced_options.prefilter_conditional.prefilter_value
98 #end if 102 #end if
99 #if $advanced_options.outlier_replace_off: 103
100 -a 104 $advanced_options.outlier_replace_off
101 #end if 105 $advanced_options.outlier_filter_off
102 #if $advanced_options.outlier_filter_off: 106 $advanced_options.auto_mean_filter_off
103 -b 107 $advanced_options.use_beta_priors
104 #end if 108
105 #if $advanced_options.auto_mean_filter_off:
106 -c
107 #end if
108 #if 'many_contrasts' in $output_options.output_selector 109 #if 'many_contrasts' in $output_options.output_selector
109 -m 110 -m
110 #end if 111 #end if
111 #if $tximport.tximport_selector == 'tximport': 112 #if $tximport.tximport_selector == 'tximport':
112 -i 113 -i
114 #if $tximport.mapping_format.mapping_format_selector == 'gtf': 115 #if $tximport.mapping_format.mapping_format_selector == 'gtf':
115 -x mapping.gff 116 -x mapping.gff
116 #else: 117 #else:
117 -x mapping.txt 118 -x mapping.txt
118 #end if 119 #end if
119
120 #end if 120 #end if
121 ]]></command> 121 ]]></command>
122 <inputs> 122 <inputs>
123 <conditional name="select_data"> 123 <conditional name="select_data">
124 <param name="how" type="select"> 124 <param name="how" type="select">
137 </expand> 137 </expand>
138 </when> 138 </when>
139 </conditional> 139 </conditional>
140 140
141 <param name="batch_factors" type="data" format="tabular" optional="true" label="(Optional) provide a tabular file with additional batch factors to include in the model." help="You can produce this file using RUVSeq or svaseq."/> 141 <param name="batch_factors" type="data" format="tabular" optional="true" label="(Optional) provide a tabular file with additional batch factors to include in the model." help="You can produce this file using RUVSeq or svaseq."/>
142 <param name="header" type="boolean" truevalue="-H" falsevalue="" checked="true" label="Files have header?" help="If this option is set to Yes, the tool will assume that the count files have column headers in the first row. Default: Yes" /> 142 <param name="header" type="boolean" truevalue="-H" falsevalue="" checked="true" label="Files have header?" help="If this option is set to Yes, the tool will assume that the count files have column headers in the first row. Default: Yes"/>
143 143
144 <conditional name="tximport"> 144 <conditional name="tximport">
145 <param name="tximport_selector" type="select" label="Choice of Input data"> 145 <param name="tximport_selector" type="select" label="Choice of Input data">
146 <option value="count" selected="True">Count data (e.g. from HTSeq-count, featureCounts or StringTie)</option> 146 <option value="count" selected="True">Count data (e.g. from HTSeq-count, featureCounts or StringTie)</option>
147 <option value="tximport">TPM values (e.g. from kallisto, sailfish or salmon)</option> 147 <option value="tximport">TPM values (e.g. from kallisto, sailfish or salmon)</option>
163 <when value="tabular"> 163 <when value="tabular">
164 <param name="tabular_file" type="data" format="tabular" label="Tabular file with Transcript-ID to Gene-ID mapping"/> 164 <param name="tabular_file" type="data" format="tabular" label="Tabular file with Transcript-ID to Gene-ID mapping"/>
165 </when> 165 </when>
166 </conditional> 166 </conditional>
167 </when> 167 </when>
168 <when value="count" /> 168 <when value="count"/>
169 </conditional> 169 </conditional>
170 <section name="advanced_options" title="Advanced options"> 170 <section name="advanced_options" title="Advanced options">
171 <param name="esf" type="select" label="Method for estimateSizeFactors" 171 <conditional name="esf_cond">
172 help="Method for estimation: either 'ratio', 'poscounts', or 'iterate'. 'ratio' uses the standard median ratio method introduced in DESeq. 172 <param name="esf" type="select" label="Method for estimateSizeFactors"
173 The size factor is the median ratio of the sample over a 'pseudosample': for each gene, the geometric mean of all samples. 173 help="Method for estimation: either 'ratio', 'poscounts', or 'iterate'. 'ratio' uses the standard median ratio method introduced in DESeq.
174 'poscounts' and 'iterate' offer alternative estimators, which can be used even when all genes contain a sample with a zero (a problem 174 The size factor is the median ratio of the sample over a 'pseudosample': for each gene, the geometric mean of all samples.
175 for the default method, as the geometric mean becomes zero, and the ratio undefined). The 'poscounts' estimator deals with a gene with 175 'poscounts' and 'iterate' offer alternative estimators, which can be used even when all genes contain a sample with a zero (a problem
176 some zeros, by calculating a modified geometric mean by taking the n-th root of the product of the non-zero counts. This evolved out of 176 for the default method, as the geometric mean becomes zero, and the ratio undefined). The 'poscounts' estimator deals with a gene with
177 use cases with Paul McMurdie's phyloseq package for metagenomic samples. The 'iterate' estimator iterates between estimating the dispersion 177 some zeros, by calculating a modified geometric mean by taking the n-th root of the product of the non-zero counts. This evolved out of
178 with a design of ~1, and finding a size factor vector by numerically optimizing the likelihood of the ~1 model."> 178 use cases with Paul McMurdie's phyloseq package for metagenomic samples. The 'iterate' estimator iterates between estimating the dispersion
179 <option value="" selected="true">No Selection (use default)</option> 179 with a design of ~1, and finding a size factor vector by numerically optimizing the likelihood of the ~1 model.">
180 <option value="ratio">ratio</option> 180 <option value="" selected="true">No Selection (use default)</option>
181 <option value="poscounts">poscounts</option> 181 <option value="ratio">ratio</option>
182 <option value="iterate">iterate</option> 182 <option value="poscounts">poscounts</option>
183 </param> 183 <option value="iterate">iterate</option>
184 <option value="user">User-provided</option>
185 </param>
186 <when value=""/>
187 <when value="ratio"/>
188 <when value="poscounts"/>
189 <when value="iterate"/>
190 <when value="user">
191 <param name="size_factor_input" type="data" format="tabular" label="File with custom size factors" help="The input must be a 2-column file: col1 should have the input file names. Col2 should contain your custom size factors."/>
192 </when>
193 </conditional>
184 <param name="fit_type" type="select" label="Fit type"> 194 <param name="fit_type" type="select" label="Fit type">
185 <option value="1" selected="true">parametric</option> 195 <option value="1" selected="true">parametric</option>
186 <option value="2">local</option> 196 <option value="2">local</option>
187 <option value="3">mean</option> 197 <option value="3">mean</option>
188 </param> 198 </param>
189 <param name="outlier_replace_off" type="boolean" truevalue="1" falsevalue="0" checked="false" 199 <param name="outlier_replace_off" type="boolean" truevalue="-a" falsevalue="" checked="false"
190 label="Turn off outliers replacement (only affects with >6 replicates)" 200 label="Turn off outliers replacement (only affects with >6 replicates)"
191 help="When there are more than 6 replicates for a given sample, the DESeq2 will automatically replace 201 help="When there are more than 6 replicates for a given sample, the DESeq2 will automatically replace
192 counts with large Cook’s distance with the trimmed mean over all samples, scaled up by the size factor 202 counts with large Cook’s distance with the trimmed mean over all samples, scaled up by the size factor
193 or normalization factor for that sample" /> 203 or normalization factor for that sample"/>
194 <param name="outlier_filter_off" type="boolean" truevalue="1" falsevalue="0" checked="false" 204 <param name="outlier_filter_off" type="boolean" truevalue="-b" falsevalue="" checked="false"
195 label="Turn off outliers filtering (only affects with >2 replicates)" 205 label="Turn off outliers filtering (only affects with >2 replicates)"
196 help="When there are more than 2 replicates for a given sample, the DESeq2 will automatically 206 help="When there are more than 2 replicates for a given sample, the DESeq2 will automatically
197 filter genes which contain a Cook’s distance above a cutoff" /> 207 filter genes which contain a Cook’s distance above a cutoff"/>
198 <param name="auto_mean_filter_off" type="boolean" truevalue="1" falsevalue="0" checked="false" 208 <param name="auto_mean_filter_off" type="boolean" truevalue="-c" falsevalue="" checked="false"
199 label="Turn off independent filtering" 209 label="Turn off independent filtering"
200 help=" DESeq2 performs independent filtering by default using the mean of normalized counts as a filter statistic" /> 210 help=" DESeq2 performs independent filtering by default using the mean of normalized counts as a filter statistic"/>
201 <conditional name="prefilter_conditional"> 211 <conditional name="prefilter_conditional">
202 <param name="prefilter" type="select" label="Perform pre-filtering" help="While it is not necessary to pre-filter 212 <param name="prefilter" type="select" label="Perform pre-filtering" help="While it is not necessary to pre-filter
203 low count genes before running the DESeq2 functions, there are two reasons which make pre-filtering useful: 213 low count genes before running the DESeq2 functions, there are two reasons which make pre-filtering useful:
204 by removing rows in which there are very few reads, we reduce the required memory, and we increase the speed. 214 by removing rows in which there are very few reads, we reduce the required memory, and we increase the speed.
205 It can also improve visualizations, as features with no information for differential expression are not plotted."> 215 It can also improve visualizations, as features with no information for differential expression are not plotted.">
206 <option value="-P">Enabled</option> 216 <option value="-P">Enabled</option>
207 <option value="" selected="true">Disabled</option> 217 <option value="" selected="true">Disabled</option>
208 </param> 218 </param>
209 <when value="-P"> 219 <when value="-P">
210 <param name="prefilter_value" type="integer" min="0" value="10" label="Pre-filter value" help="Keep only rows that have at least N reads total." /> 220 <param name="prefilter_value" type="integer" min="0" value="10" label="Pre-filter value" help="Keep only rows that have at least N reads total."/>
211 </when> 221 </when>
212 <when value=""/> 222 <when value=""/>
213 </conditional> 223 </conditional>
224 <param name="use_beta_priors" type="boolean" truevalue="-d" falsevalue="" checked="false"
225 label="Use beta priors"
226 help="Whether or not to put a zero-mean normal prior on the non-intercept coefficients"/>
214 </section> 227 </section>
215 <section name="output_options" title="Output options"> 228 <section name="output_options" title="Output options">
216 <param name="output_selector" type="select" multiple="True" optional="true" display="checkboxes" label="Output selector"> 229 <param name="output_selector" type="select" multiple="True" optional="true" display="checkboxes" label="Output selector">
217 <option value="pdf" selected="True">Generate plots for visualizing the analysis results</option> 230 <option value="pdf" selected="True">Generate plots for visualizing the analysis results</option>
218 <option value="sizefactors" >Output sample size factors</option> 231 <option value="sizefactors">Output sample size factors</option>
219 <option value="normCounts">Output normalised counts</option> 232 <option value="normCounts">Output normalised counts</option>
220 <option value="normVST">Output VST normalized table</option> 233 <option value="normVST">Output VST normalized table</option>
221 <option value="normRLog">Output rLog normalized table</option> 234 <option value="normRLog">Output rLog normalized table</option>
222 <option value="many_contrasts">Output all levels vs all levels of primary factor (use when you have >2 levels for primary factor)</option> 235 <option value="many_contrasts">Output all levels vs all levels of primary factor (use when you have >2 levels for primary factor)</option>
223 </param> 236 </param>
224 <param name="alpha_ma" type="float" min="0" max="0.5" value="0.1" label="Alpha value for MA-plot" help="Default value is 0.1. This option is only meaninful when plots are generated" /> 237 <param name="alpha_ma" type="float" min="0" max="0.5" value="0.1" label="Alpha value for MA-plot" help="Default value is 0.1. This option is only meaninful when plots are generated"/>
225 </section> 238 </section>
226 </inputs> 239 </inputs>
227 <outputs> 240 <outputs>
228 <data name="deseq_out" format="tabular" label="DESeq2 result file on ${on_string}"> 241 <data name="deseq_out" format="tabular" label="DESeq2 result file on ${on_string}">
229 <filter>'many_contrasts' not in output_options['output_selector']</filter> 242 <filter>'many_contrasts' not in output_options['output_selector']</filter>
230 <actions> 243 <actions>
231 <action name="column_names" type="metadata" default="GeneID,Base mean,log2(FC),StdErr,Wald-Stats,P-value,P-adj" /> 244 <action name="column_names" type="metadata" default="GeneID,Base mean,log2(FC),StdErr,Wald-Stats,P-value,P-adj"/>
232 </actions> 245 </actions>
233 </data> 246 </data>
234 <collection name="split_output" type="list" label="DESeq2 result files on ${on_string}"> 247 <collection name="split_output" type="list" label="DESeq2 result files on ${on_string}">
235 <filter>output_options['output_selector'] and 'many_contrasts' in output_options['output_selector']</filter> 248 <filter>output_options['output_selector'] and 'many_contrasts' in output_options['output_selector']</filter>
236 <discover_datasets pattern="(?P&lt;designation&gt;.+_vs_.+)" format="tabular" directory="." visible="false"/> 249 <discover_datasets pattern="(?P&lt;designation&gt;.+_vs_.+)" format="tabular" directory="." visible="false"/>
263 <repeat name="rep_factorLevel"> 276 <repeat name="rep_factorLevel">
264 <param name="factorLevel" value="Untreated"/> 277 <param name="factorLevel" value="Untreated"/>
265 <param name="countsFile" value="GSM461176_untreat_single.counts,GSM461177_untreat_paired.counts,GSM461178_untreat_paired.counts,GSM461182_untreat_single.counts"/> 278 <param name="countsFile" value="GSM461176_untreat_single.counts,GSM461177_untreat_paired.counts,GSM461178_untreat_paired.counts,GSM461182_untreat_single.counts"/>
266 </repeat> 279 </repeat>
267 </repeat> 280 </repeat>
281 <section name="advanced_options">
282 <param name="use_beta_priors" value="1"/>
283 </section>
268 <section name="output_options"> 284 <section name="output_options">
269 <param name="output_selector" value="normCounts,normRLog,normVST"/> 285 <param name="output_selector" value="normCounts,normRLog,normVST"/>
270 </section> 286 </section>
271 <output name="counts_out"> 287 <output name="counts_out">
272 <assert_contents> 288 <assert_contents>
273 <has_text_matching expression="GSM461176_untreat_single.counts\tGSM461177_untreat_paired.counts\tGSM461178_untreat_paired.counts\tGSM461182_untreat_single.counts\tGSM461179_treat_single.counts\tGSM461180_treat_paired.counts\tGSM461181_treat_paired.counts" /> 289 <has_text_matching expression="GSM461176_untreat_single.counts\tGSM461177_untreat_paired.counts\tGSM461178_untreat_paired.counts\tGSM461182_untreat_single.counts\tGSM461179_treat_single.counts\tGSM461180_treat_paired.counts\tGSM461181_treat_paired.counts"/>
274 <has_text_matching expression="FBgn0000003\t0\t0\t0\t0\t0\t0\t0" /> 290 <has_text_matching expression="FBgn0000003\t0\t0\t0\t0\t0\t0\t0"/>
275 </assert_contents> 291 </assert_contents>
276 </output> 292 </output>
277 <output name="rlog_out"> 293 <output name="rlog_out">
278 <assert_contents> 294 <assert_contents>
279 <has_text_matching expression="GSM461176_untreat_single.counts\tGSM461177_untreat_paired.counts\tGSM461178_untreat_paired.counts\tGSM461182_untreat_single.counts\tGSM461179_treat_single.counts\tGSM461180_treat_paired.counts\tGSM461181_treat_paired.counts" /> 295 <has_text_matching expression="GSM461176_untreat_single.counts\tGSM461177_untreat_paired.counts\tGSM461178_untreat_paired.counts\tGSM461182_untreat_single.counts\tGSM461179_treat_single.counts\tGSM461180_treat_paired.counts\tGSM461181_treat_paired.counts"/>
280 <has_text_matching expression="FBgn0000003\t0\t0\t0\t0\t0\t0\t0" /> 296 <has_text_matching expression="FBgn0000003\t0\t0\t0\t0\t0\t0\t0"/>
281 </assert_contents> 297 </assert_contents>
282 </output> 298 </output>
283 <output name="vst_out"> 299 <output name="vst_out">
284 <assert_contents> 300 <assert_contents>
285 <has_text_matching expression="GSM461176_untreat_single.counts\tGSM461177_untreat_paired.counts\tGSM461178_untreat_paired.counts\tGSM461182_untreat_single.counts\tGSM461179_treat_single.counts\tGSM461180_treat_paired.counts\tGSM461181_treat_paired.counts" /> 301 <has_text_matching expression="GSM461176_untreat_single.counts\tGSM461177_untreat_paired.counts\tGSM461178_untreat_paired.counts\tGSM461182_untreat_single.counts\tGSM461179_treat_single.counts\tGSM461180_treat_paired.counts\tGSM461181_treat_paired.counts"/>
286 <has_text_matching expression="FBgn0000003\t5.*\t5.*\t5.*\t5.*\t5.*\t5.*\t5.*" /> 302 <has_text_matching expression="FBgn0000003\t5.*\t5.*\t5.*\t5.*\t5.*\t5.*\t5.*"/>
287 </assert_contents> 303 </assert_contents>
288 </output> 304 </output>
289 <output name="deseq_out" > 305 <output name="deseq_out" >
290 <assert_contents> 306 <assert_contents>
291 <has_text_matching expression="FBgn0003360\t1933\.9504.*\t-2\.8399.*\t0\.1309.*\t-21\.68.*\t.*e-104\t.*e-101" /> 307 <has_text_matching expression="FBgn0003360\t1933\.9504.*\t-2\.8399.*\t0\.1309.*\t-21\.68.*\t.*e-104\t.*e-101"/>
292 <has_n_lines n="3999"/> 308 <has_n_lines n="3999"/>
293 </assert_contents> 309 </assert_contents>
294 </output> 310 </output>
295 </test> 311 </test>
296 <!--Ensure additional batch factor correction works --> 312 <!--Ensure additional batch factor correction works -->
305 <param name="factorLevel" value="Untreated"/> 321 <param name="factorLevel" value="Untreated"/>
306 <param name="countsFile" value="GSM461176_untreat_single.counts,GSM461177_untreat_paired.counts,GSM461178_untreat_paired.counts,GSM461182_untreat_single.counts"/> 322 <param name="countsFile" value="GSM461176_untreat_single.counts,GSM461177_untreat_paired.counts,GSM461178_untreat_paired.counts,GSM461182_untreat_single.counts"/>
307 </repeat> 323 </repeat>
308 </repeat> 324 </repeat>
309 <param name="batch_factors" value="batch_factors.tab"/> 325 <param name="batch_factors" value="batch_factors.tab"/>
326 <section name="advanced_options">
327 <param name="use_beta_priors" value="1"/>
328 </section>
310 <section name="output_options"> 329 <section name="output_options">
311 <param name="output_selector" value="normCounts"/> 330 <param name="output_selector" value="normCounts"/>
312 </section> 331 </section>
313 <output name="deseq_out"> 332 <output name="deseq_out">
314 <assert_contents> 333 <assert_contents>
315 <has_text_matching expression="FBgn0003360\t1933.*\t-2.9.*\t0.1.*\t-26.*\t1.*-152\t4.*-149" /> 334 <has_text_matching expression="FBgn0003360\t1933.*\t-2.9.*\t0.1.*\t-26.*\t1.*-152\t4.*-149"/>
335 </assert_contents>
336 </output>
337 </test>
338 <!-- Same as above, but without beta priors -->
339 <test expect_num_outputs="2">
340 <repeat name="rep_factorName">
341 <param name="factorName" value="Treatment"/>
342 <repeat name="rep_factorLevel">
343 <param name="factorLevel" value="Treated"/>
344 <param name="countsFile" value="GSM461179_treat_single.counts,GSM461180_treat_paired.counts,GSM461181_treat_paired.counts"/>
345 </repeat>
346 <repeat name="rep_factorLevel">
347 <param name="factorLevel" value="Untreated"/>
348 <param name="countsFile" value="GSM461176_untreat_single.counts,GSM461177_untreat_paired.counts,GSM461178_untreat_paired.counts,GSM461182_untreat_single.counts"/>
349 </repeat>
350 </repeat>
351 <param name="batch_factors" value="batch_factors.tab"/>
352 <section name="advanced_options">
353 <param name="use_beta_priors" value="0"/>
354 </section>
355 <section name="output_options">
356 <param name="output_selector" value="normCounts"/>
357 </section>
358 <output name="deseq_out">
359 <assert_contents>
360 <has_text_matching expression="FBgn0003360\t1933.*\t-3.*\t0.1.*\t-26.*\t6.*-151\t1.*-147"/>
316 </assert_contents> 361 </assert_contents>
317 </output> 362 </output>
318 </test> 363 </test>
319 <!--Ensure counts files without header works --> 364 <!--Ensure counts files without header works -->
320 <test expect_num_outputs="4"> 365 <test expect_num_outputs="4">
328 <param name="factorLevel" value="Untreated"/> 373 <param name="factorLevel" value="Untreated"/>
329 <param name="countsFile" value="GSM461176_untreat_single.counts.noheader,GSM461177_untreat_paired.counts.noheader,GSM461178_untreat_paired.counts.noheader,GSM461182_untreat_single.counts.noheader"/> 374 <param name="countsFile" value="GSM461176_untreat_single.counts.noheader,GSM461177_untreat_paired.counts.noheader,GSM461178_untreat_paired.counts.noheader,GSM461182_untreat_single.counts.noheader"/>
330 </repeat> 375 </repeat>
331 </repeat> 376 </repeat>
332 <param name="header" value="False"/> 377 <param name="header" value="False"/>
378 <section name="advanced_options">
379 <param name="use_beta_priors" value="1"/>
380 </section>
333 <section name="output_options"> 381 <section name="output_options">
334 <param name="output_selector" value="normCounts,normRLog,normVST"/> 382 <param name="output_selector" value="normCounts,normRLog,normVST"/>
335 </section> 383 </section>
336 <output name="counts_out"> 384 <output name="counts_out">
337 <assert_contents> 385 <assert_contents>
338 <has_text_matching expression="GSM461176_untreat_single.counts.noheader\tGSM461177_untreat_paired.counts.noheader\tGSM461178_untreat_paired.counts.noheader\tGSM461182_untreat_single.counts.noheader\tGSM461179_treat_single.counts.noheader\tGSM461180_treat_paired.counts.noheader\tGSM461181_treat_paired.counts.noheader" /> 386 <has_text_matching expression="GSM461176_untreat_single.counts.noheader\tGSM461177_untreat_paired.counts.noheader\tGSM461178_untreat_paired.counts.noheader\tGSM461182_untreat_single.counts.noheader\tGSM461179_treat_single.counts.noheader\tGSM461180_treat_paired.counts.noheader\tGSM461181_treat_paired.counts.noheader"/>
339 <has_text_matching expression="FBgn0000003\t0\t0\t0\t0\t0\t0\t0" /> 387 <has_text_matching expression="FBgn0000003\t0\t0\t0\t0\t0\t0\t0"/>
340 </assert_contents> 388 </assert_contents>
341 </output> 389 </output>
342 <output name="rlog_out"> 390 <output name="rlog_out">
343 <assert_contents> 391 <assert_contents>
344 <has_text_matching expression="GSM461176_untreat_single.counts.noheader\tGSM461177_untreat_paired.counts.noheader\tGSM461178_untreat_paired.counts.noheader\tGSM461182_untreat_single.counts.noheader\tGSM461179_treat_single.counts.noheader\tGSM461180_treat_paired.counts.noheader\tGSM461181_treat_paired.counts.noheader" /> 392 <has_text_matching expression="GSM461176_untreat_single.counts.noheader\tGSM461177_untreat_paired.counts.noheader\tGSM461178_untreat_paired.counts.noheader\tGSM461182_untreat_single.counts.noheader\tGSM461179_treat_single.counts.noheader\tGSM461180_treat_paired.counts.noheader\tGSM461181_treat_paired.counts.noheader"/>
345 <has_text_matching expression="FBgn0000003\t0\t0\t0\t0\t0\t0\t0" /> 393 <has_text_matching expression="FBgn0000003\t0\t0\t0\t0\t0\t0\t0"/>
346 </assert_contents> 394 </assert_contents>
347 </output> 395 </output>
348 <output name="vst_out"> 396 <output name="vst_out">
349 <assert_contents> 397 <assert_contents>
350 <has_text_matching expression="GSM461176_untreat_single.counts.noheader\tGSM461177_untreat_paired.counts.noheader\tGSM461178_untreat_paired.counts.noheader\tGSM461182_untreat_single.counts.noheader\tGSM461179_treat_single.counts.noheader\tGSM461180_treat_paired.counts.noheader\tGSM461181_treat_paired.counts.noheader" /> 398 <has_text_matching expression="GSM461176_untreat_single.counts.noheader\tGSM461177_untreat_paired.counts.noheader\tGSM461178_untreat_paired.counts.noheader\tGSM461182_untreat_single.counts.noheader\tGSM461179_treat_single.counts.noheader\tGSM461180_treat_paired.counts.noheader\tGSM461181_treat_paired.counts.noheader"/>
351 <has_text_matching expression="FBgn0000003\t5.*\t5.*\t5.*\t5.*\t5.*\t5.*\t5.*" /> 399 <has_text_matching expression="FBgn0000003\t5.*\t5.*\t5.*\t5.*\t5.*\t5.*\t5.*"/>
352 </assert_contents> 400 </assert_contents>
353 </output> 401 </output>
354 <output name="deseq_out" > 402 <output name="deseq_out" >
355 <assert_contents> 403 <assert_contents>
356 <has_text_matching expression="FBgn0003360\t1933\.9504.*\t-2\.8399.*\t0\.1309.*\t-21\.68.*\t.*e-104\t.*e-101" /> 404 <has_text_matching expression="FBgn0003360\t1933\.9504.*\t-2\.8399.*\t0\.1309.*\t-21\.68.*\t.*e-104\t.*e-101"/>
357 </assert_contents> 405 </assert_contents>
358 </output> 406 </output>
359 </test> 407 </test>
360 <!--Ensure Sailfish/Salmon input with tx2gene table works--> 408 <!--Ensure Sailfish/Salmon input with tx2gene table works-->
361 <test expect_num_outputs="1"> 409 <test expect_num_outputs="1">
368 <repeat name="rep_factorLevel"> 416 <repeat name="rep_factorLevel">
369 <param name="factorLevel" value="Untreated"/> 417 <param name="factorLevel" value="Untreated"/>
370 <param name="countsFile" value="sailfish/sailfish_quant.sf4.tab,sailfish/sailfish_quant.sf5.tab,sailfish/sailfish_quant.sf6.tab"/> 418 <param name="countsFile" value="sailfish/sailfish_quant.sf4.tab,sailfish/sailfish_quant.sf5.tab,sailfish/sailfish_quant.sf6.tab"/>
371 </repeat> 419 </repeat>
372 </repeat> 420 </repeat>
421 <section name="advanced_options">
422 <param name="use_beta_priors" value="1"/>
423 </section>
373 <section name="output_options"> 424 <section name="output_options">
374 <param name="output_selector" value=""/> 425 <param name="output_selector" value=""/>
375 </section> 426 </section>
376 <param name="tximport_selector" value="tximport"/> 427 <param name="tximport_selector" value="tximport"/>
377 <param name="txtype" value="sailfish"/> 428 <param name="txtype" value="sailfish"/>
378 <param name="mapping_format_selector" value="tabular"/> 429 <param name="mapping_format_selector" value="tabular"/>
379 <param name="tabular_file" value="tx2gene.tab"/> 430 <param name="tabular_file" value="tx2gene.tab"/>
380 <output name="deseq_out" > 431 <output name="deseq_out" >
381 <assert_contents> 432 <assert_contents>
382 <has_text_matching expression="UGT3A2\t1.8841.*\t-0.1329.*\t0.6936.*\t-0.1917.*\t0.8479.*\t0.9999.*" /> 433 <has_text_matching expression="UGT3A2\t1.8841.*\t-0.1329.*\t0.6936.*\t-0.1917.*\t0.8479.*\t0.9999.*"/>
383 </assert_contents> 434 </assert_contents>
384 </output> 435 </output>
385 </test> 436 </test>
386 <!--Ensure Sailfish/Salmon input with GFF3 annotation from NCBI works--> 437 <!--Ensure Sailfish/Salmon input with GFF3 annotation from NCBI works-->
387 <test expect_num_outputs="1"> 438 <test expect_num_outputs="1">
394 <repeat name="rep_factorLevel"> 445 <repeat name="rep_factorLevel">
395 <param name="factorLevel" value="Untreated"/> 446 <param name="factorLevel" value="Untreated"/>
396 <param name="countsFile" value="sailfish/sailfish_quant.sf4.tab,sailfish/sailfish_quant.sf5.tab,sailfish/sailfish_quant.sf6.tab"/> 447 <param name="countsFile" value="sailfish/sailfish_quant.sf4.tab,sailfish/sailfish_quant.sf5.tab,sailfish/sailfish_quant.sf6.tab"/>
397 </repeat> 448 </repeat>
398 </repeat> 449 </repeat>
450 <section name="advanced_options">
451 <param name="use_beta_priors" value="1"/>
452 </section>
399 <section name="output_options"> 453 <section name="output_options">
400 <param name="output_selector" value=""/> 454 <param name="output_selector" value=""/>
401 </section> 455 </section>
402 <param name="tximport_selector" value="tximport"/> 456 <param name="tximport_selector" value="tximport"/>
403 <param name="txtype" value="sailfish"/> 457 <param name="txtype" value="sailfish"/>
404 <param name="mapping_format_selector" value="gtf"/> 458 <param name="mapping_format_selector" value="gtf"/>
405 <param name="gtf_file" value="GRCh38_latest_genomic.gff"/> 459 <param name="gtf_file" value="GRCh38_latest_genomic.gff"/>
406 <output name="deseq_out" > 460 <output name="deseq_out" >
407 <assert_contents> 461 <assert_contents>
408 <has_text_matching expression="UGT3A2\t1.8841.*\t-0.1329.*\t0.6936.*\t-0.1917.*\t0.8479.*\t0.9999.*" /> 462 <has_text_matching expression="UGT3A2\t1.8841.*\t-0.1329.*\t0.6936.*\t-0.1917.*\t0.8479.*\t0.9999.*"/>
409 </assert_contents> 463 </assert_contents>
410 </output> 464 </output>
411 </test> 465 </test>
412 <!--Ensure Sailfish/Salmon input with GTF annotation from Ensembl works--> 466 <!--Ensure Sailfish/Salmon input with GTF annotation from Ensembl works-->
413 <test expect_num_outputs="1"> 467 <test expect_num_outputs="1">
420 <repeat name="rep_factorLevel"> 474 <repeat name="rep_factorLevel">
421 <param name="factorLevel" value="Untreated"/> 475 <param name="factorLevel" value="Untreated"/>
422 <param name="countsFile" value="sailfish_ensembl/sailfish_quant.sf4.tab,sailfish_ensembl/sailfish_quant.sf5.tab,sailfish_ensembl/sailfish_quant.sf6.tab"/> 476 <param name="countsFile" value="sailfish_ensembl/sailfish_quant.sf4.tab,sailfish_ensembl/sailfish_quant.sf5.tab,sailfish_ensembl/sailfish_quant.sf6.tab"/>
423 </repeat> 477 </repeat>
424 </repeat> 478 </repeat>
479 <section name="advanced_options">
480 <param name="use_beta_priors" value="1"/>
481 </section>
425 <section name="output_options"> 482 <section name="output_options">
426 <param name="output_selector" value=""/> 483 <param name="output_selector" value=""/>
427 </section> 484 </section>
428 <param name="tximport_selector" value="tximport"/> 485 <param name="tximport_selector" value="tximport"/>
429 <param name="txtype" value="sailfish"/> 486 <param name="txtype" value="sailfish"/>
430 <param name="mapping_format_selector" value="gtf"/> 487 <param name="mapping_format_selector" value="gtf"/>
431 <param name="gtf_file" value="Homo_sapiens.GRCh38.94.gtf" ftype="gtf"/> 488 <param name="gtf_file" value="Homo_sapiens.GRCh38.94.gtf" ftype="gtf"/>
432 <output name="deseq_out" > 489 <output name="deseq_out" >
433 <assert_contents> 490 <assert_contents>
434 <has_text_matching expression="ENSG00000168671\t1.8841.*\t-0.1180.*\t0.7429.*\t-0.1589.*\t0.8737.*\t0.9999.*" /> 491 <has_text_matching expression="ENSG00000168671\t1.8841.*\t-0.1180.*\t0.7429.*\t-0.1589.*\t0.8737.*\t0.9999.*"/>
435 </assert_contents> 492 </assert_contents>
436 </output> 493 </output>
437 </test> 494 </test>
438 <!--Ensure group tags can be used to select factor levels --> 495 <!--Ensure group tags can be used to select factor levels -->
439 <test expect_num_outputs="1"> 496 <test expect_num_outputs="1">
457 <repeat name="rep_factorLevel"> 514 <repeat name="rep_factorLevel">
458 <param name="factorLevel" value="Untreated"/> 515 <param name="factorLevel" value="Untreated"/>
459 <param name="groups" value="primary:untreated"/> 516 <param name="groups" value="primary:untreated"/>
460 </repeat> 517 </repeat>
461 </repeat> 518 </repeat>
519 <section name="advanced_options">
520 <param name="use_beta_priors" value="1"/>
521 </section>
462 <section name="output_options"> 522 <section name="output_options">
463 <param name="output_selector" value=""/> 523 <param name="output_selector" value=""/>
464 </section> 524 </section>
465 <param name="tximport_selector" value="tximport"/> 525 <param name="tximport_selector" value="tximport"/>
466 <param name="txtype" value="sailfish"/> 526 <param name="txtype" value="sailfish"/>
494 <repeat name="rep_factorLevel"> 554 <repeat name="rep_factorLevel">
495 <param name="factorLevel" value="Untreated"/> 555 <param name="factorLevel" value="Untreated"/>
496 <param name="groups" value="primary:untreated"/> 556 <param name="groups" value="primary:untreated"/>
497 </repeat> 557 </repeat>
498 </repeat> 558 </repeat>
559 <section name="advanced_options">
560 <param name="use_beta_priors" value="1"/>
561 </section>
499 <section name="output_options"> 562 <section name="output_options">
500 <param name="output_selector" value="many_contrasts"/> 563 <param name="output_selector" value="many_contrasts"/>
501 </section> 564 </section>
502 <param name="tximport_selector" value="tximport"/> 565 <param name="tximport_selector" value="tximport"/>
503 <param name="txtype" value="sailfish"/> 566 <param name="txtype" value="sailfish"/>
522 <repeat name="rep_factorLevel"> 585 <repeat name="rep_factorLevel">
523 <param name="factorLevel" value="Untreated"/> 586 <param name="factorLevel" value="Untreated"/>
524 <param name="countsFile" value="sailfish_ensembl/sailfish_quant.sf4.tab,sailfish_ensembl/sailfish_quant.sf5.tab,sailfish_ensembl/sailfish_quant.sf6.tab"/> 587 <param name="countsFile" value="sailfish_ensembl/sailfish_quant.sf4.tab,sailfish_ensembl/sailfish_quant.sf5.tab,sailfish_ensembl/sailfish_quant.sf6.tab"/>
525 </repeat> 588 </repeat>
526 </repeat> 589 </repeat>
590 <section name="advanced_options">
591 <param name="use_beta_priors" value="1"/>
592 </section>
527 <section name="output_options"> 593 <section name="output_options">
528 <param name="output_selector" value=""/> 594 <param name="output_selector" value=""/>
529 <param name="alpha_ma" value="0.05"/> 595 <param name="alpha_ma" value="0.05"/>
530 </section> 596 </section>
531 <param name="tximport_selector" value="tximport"/> 597 <param name="tximport_selector" value="tximport"/>
532 <param name="txtype" value="sailfish"/> 598 <param name="txtype" value="sailfish"/>
533 <param name="mapping_format_selector" value="gtf"/> 599 <param name="mapping_format_selector" value="gtf"/>
534 <param name="gtf_file" value="Homo_sapiens.GRCh38.94.gtf" ftype="gtf"/> 600 <param name="gtf_file" value="Homo_sapiens.GRCh38.94.gtf" ftype="gtf"/>
535 <output name="deseq_out" > 601 <output name="deseq_out" >
536 <assert_contents> 602 <assert_contents>
537 <has_text_matching expression="ENSG00000168671\t1.8841.*\t-0.1180.*\t0.7429.*\t-0.1589.*\t0.8737.*\t0.9999.*" /> 603 <has_text_matching expression="ENSG00000168671\t1.8841.*\t-0.1180.*\t0.7429.*\t-0.1589.*\t0.8737.*\t0.9999.*"/>
538 </assert_contents> 604 </assert_contents>
539 </output> 605 </output>
540 </test> 606 </test>
541 <!-- Same as above alpha_ma test, but with size factors --> 607 <!-- Same as above alpha_ma test, but with size factors -->
542 <test expect_num_outputs="2"> 608 <test expect_num_outputs="2">
559 <param name="txtype" value="sailfish"/> 625 <param name="txtype" value="sailfish"/>
560 <param name="mapping_format_selector" value="gtf"/> 626 <param name="mapping_format_selector" value="gtf"/>
561 <param name="gtf_file" value="Homo_sapiens.GRCh38.94.gtf" ftype="gtf"/> 627 <param name="gtf_file" value="Homo_sapiens.GRCh38.94.gtf" ftype="gtf"/>
562 <output name="sizefactors_out"> 628 <output name="sizefactors_out">
563 <assert_contents> 629 <assert_contents>
564 <has_text_matching expression="sailfish_quant\.sf4\.tab\t0\.8\d+" /> 630 <has_text_matching expression="sailfish_quant\.sf4\.tab\t0\.8\d+"/>
565 <has_text_matching expression="sailfish_quant\.sf3\.tab\t1\.0\d+" /> 631 <has_text_matching expression="sailfish_quant\.sf3\.tab\t1\.0\d+"/>
632 </assert_contents>
633 </output>
634 </test>
635 <!--Test alpha_ma option, but with user-provided size factors -->
636 <test expect_num_outputs="1">
637 <repeat name="rep_factorName">
638 <param name="factorName" value="Treatment"/>
639 <repeat name="rep_factorLevel">
640 <param name="factorLevel" value="Treated"/>
641 <param name="countsFile" value="sailfish_ensembl/sailfish_quant.sf1.tab,sailfish_ensembl/sailfish_quant.sf2.tab,sailfish_ensembl/sailfish_quant.sf3.tab"/>
642 </repeat>
643 <repeat name="rep_factorLevel">
644 <param name="factorLevel" value="Untreated"/>
645 <param name="countsFile" value="sailfish_ensembl/sailfish_quant.sf4.tab,sailfish_ensembl/sailfish_quant.sf5.tab,sailfish_ensembl/sailfish_quant.sf6.tab"/>
646 </repeat>
647 </repeat>
648 <section name="advanced_options">
649 <param name="use_beta_priors" value="1"/>
650 <conditional name="esf_cond">
651 <param name="esf" value="user"/>
652 <param name="size_factor_input" value="size_factors_out.tsv"/>
653 </conditional>
654 </section>
655 <section name="output_options">
656 <param name="output_selector" value=""/>
657 <param name="alpha_ma" value="0.05"/>
658 </section>
659 <param name="tximport_selector" value="tximport"/>
660 <param name="txtype" value="sailfish"/>
661 <param name="mapping_format_selector" value="gtf"/>
662 <param name="gtf_file" value="Homo_sapiens.GRCh38.94.gtf" ftype="gtf"/>
663 <output name="deseq_out">
664 <assert_contents>
665 <has_text_matching expression="ENSG00000168671\t1.90.*\t-0.05.*\t0.75.*\t-0.07.*\t0.94.*\t0.95.*"/>
566 </assert_contents> 666 </assert_contents>
567 </output> 667 </output>
568 </test> 668 </test>
569 <!-- Same as above alpha_ma size factor test, but with a non-default estimator--> 669 <!-- Same as above alpha_ma size factor test, but with a non-default estimator-->
570 <test expect_num_outputs="2"> 670 <test expect_num_outputs="2">
578 <param name="factorLevel" value="Untreated"/> 678 <param name="factorLevel" value="Untreated"/>
579 <param name="countsFile" value="sailfish_ensembl/sailfish_quant.sf4.tab,sailfish_ensembl/sailfish_quant.sf5.tab,sailfish_ensembl/sailfish_quant.sf6.tab"/> 679 <param name="countsFile" value="sailfish_ensembl/sailfish_quant.sf4.tab,sailfish_ensembl/sailfish_quant.sf5.tab,sailfish_ensembl/sailfish_quant.sf6.tab"/>
580 </repeat> 680 </repeat>
581 </repeat> 681 </repeat>
582 <section name="advanced_options"> 682 <section name="advanced_options">
583 <param name="esf" value="poscounts" /> 683 <param name="esf" value="poscounts"/>
584 </section> 684 </section>
585 <section name="output_options"> 685 <section name="output_options">
586 <param name="output_selector" value="sizefactors"/> 686 <param name="output_selector" value="sizefactors"/>
587 <param name="alpha_ma" value="0.05"/> 687 <param name="alpha_ma" value="0.05"/>
588 </section> 688 </section>
590 <param name="txtype" value="sailfish"/> 690 <param name="txtype" value="sailfish"/>
591 <param name="mapping_format_selector" value="gtf"/> 691 <param name="mapping_format_selector" value="gtf"/>
592 <param name="gtf_file" value="Homo_sapiens.GRCh38.94.gtf" ftype="gtf"/> 692 <param name="gtf_file" value="Homo_sapiens.GRCh38.94.gtf" ftype="gtf"/>
593 <output name="sizefactors_out" > 693 <output name="sizefactors_out" >
594 <assert_contents> 694 <assert_contents>
595 <has_text_matching expression="sailfish_quant\.sf4\.tab\t0\.8\d+" /> 695 <has_text_matching expression="sailfish_quant\.sf4\.tab\t0\.8\d+"/>
596 <has_text_matching expression="sailfish_quant\.sf3\.tab\t1\.0\d+" /> 696 <has_text_matching expression="sailfish_quant\.sf3\.tab\t1\.0\d+"/>
597 </assert_contents> 697 </assert_contents>
598 </output> 698 </output>
599 </test> 699 </test>
600 <!--Test prefilter parameter --> 700 <!--Test prefilter parameter -->
601 <test expect_num_outputs="2"> 701 <test expect_num_outputs="2">
634 <help><![CDATA[ 734 <help><![CDATA[
635 .. class:: infomark 735 .. class:: infomark
636 736
637 **What it does** 737 **What it does**
638 738
639 Estimate variance-mean dependence in count data from high-throughput sequencing assays and test for differential expression based on a model using the negative binomial distribution 739 Uses DESeq2 version @DESEQ2_VERSION@ to estimate variance-mean dependence in count data from high-throughput sequencing assays and test for differential expression based on a model using the negative binomial distribution.
640 740
641 ----- 741 -----
642 742
643 **Inputs** 743 **Inputs**
644 744
730 be output as a tabular file. 830 be output as a tabular file.
731 831
732 .. _DESeq2: http://master.bioconductor.org/packages/release/bioc/html/DESeq2.html 832 .. _DESeq2: http://master.bioconductor.org/packages/release/bioc/html/DESeq2.html
733 .. _tximport: https://bioconductor.org/packages/devel/bioc/vignettes/tximport/inst/doc/tximport.html 833 .. _tximport: https://bioconductor.org/packages/devel/bioc/vignettes/tximport/inst/doc/tximport.html
734 ]]></help> 834 ]]></help>
735 <expand macro="citations" /> 835 <expand macro="citations"/>
736 </tool> 836 </tool>