Mercurial > repos > iuc > deseq2
comparison deseq2.xml @ 11:25204a860b79 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/deseq2 commit 0a56599c36b4968095ec5a3cb589f94fb139466c
author | iuc |
---|---|
date | Sun, 28 Jan 2018 04:04:12 -0500 |
parents | 24a09ca67621 |
children | bd06df00180a |
comparison
equal
deleted
inserted
replaced
10:24a09ca67621 | 11:25204a860b79 |
---|---|
1 <tool id="deseq2" name="DESeq2" version="2.11.39"> | 1 <tool id="deseq2" name="DESeq2" version="2.11.40"> |
2 <description>Determines differentially expressed features from count tables</description> | 2 <description>Determines differentially expressed features from count tables</description> |
3 <requirements> | 3 <requirements> |
4 <requirement type="package" version="1.14.1">bioconductor-deseq2</requirement> | 4 <requirement type="package" version="1.18.1">bioconductor-deseq2</requirement> |
5 <requirement type="package" version="1.20.0">r-getopt</requirement> | 5 <requirement type="package" version="1.6.0">bioconductor-tximport</requirement> |
6 </requirements> | 6 </requirements> |
7 <stdio> | 7 <stdio> |
8 <regex match="Execution halted" | 8 <regex match="Execution halted" |
9 source="both" | 9 source="both" |
10 level="fatal" | 10 level="fatal" |
16 <regex match="Fatal error" | 16 <regex match="Fatal error" |
17 source="both" | 17 source="both" |
18 level="fatal" | 18 level="fatal" |
19 description="An undefined error occurred, please check your input carefully and contact your administrator." /> | 19 description="An undefined error occurred, please check your input carefully and contact your administrator." /> |
20 </stdio> | 20 </stdio> |
21 <version_command> | 21 <version_command><![CDATA[ |
22 <![CDATA[ | 22 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: ") |
23 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: ") | 23 ]]></version_command> |
24 ]]> | 24 <command><![CDATA[ |
25 </version_command> | 25 #if $tximport.tximport_selector == 'tximport': |
26 <command> | 26 #if $tximport.mapping_format.mapping_format_selector == 'gtf': |
27 <![CDATA[ | 27 ln -s '$tximport.mapping_format.gtf_file' mapping.gtf && |
28 #if $tximport.tximport_selector == 'tximport': | 28 #else: |
29 #if $tximport.mapping_format.mapping_format_selector == 'gtf': | 29 ln -s '$tximport.mapping_format.tabular_file' mapping.txt && |
30 ln -s '$tximport.mapping_format.gtf_file' mapping.gtf && | 30 #end if |
31 #else: | 31 #end if |
32 ln -s '$tximport.mapping_format.tabular_file' mapping.txt && | 32 |
33 #end if | 33 #import json |
34 Rscript '${__tool_directory__}/deseq2.R' | |
35 -o '$deseq_out' | |
36 #if $pdf: | |
37 -p '$plots' | |
38 #end if | |
39 #if $normCounts: | |
40 -n '$counts_out' | |
41 #end if | |
42 #set $temp_factor_names = list() | |
43 #for $factor in $rep_factorName: | |
44 #set $temp_factor = list() | |
45 #for $level in $factor.rep_factorLevel: | |
46 #set $count_files = list() | |
47 #for $file in $level.countsFile: | |
48 $count_files.append(str($file)) | |
49 #end for | |
50 $temp_factor.append( {str($level.factorLevel): $count_files} ) | |
51 #end for | |
52 $temp_factor.reverse() | |
53 $temp_factor_names.append([str($factor.factorName), $temp_factor]) | |
54 #end for | |
55 -f '#echo json.dumps(temp_factor_names)#' | |
56 -t $fit_type | |
57 #if $outlier_replace_off: | |
58 -a | |
59 #end if | |
60 #if $outlier_filter_off: | |
61 -b | |
62 #end if | |
63 #if $auto_mean_filter_off: | |
64 -c | |
65 #end if | |
66 #if $many_contrasts: | |
67 -m | |
68 #end if | |
69 #if $tximport.tximport_selector == 'tximport': | |
70 -i | |
71 -y $tximport.txtype | |
72 #if $tximport.mapping_format.mapping_format_selector == 'gtf': | |
73 -x mapping.gtf | |
74 #else: | |
75 -x mapping.txt | |
34 #end if | 76 #end if |
35 | 77 |
36 #import json | 78 #end if |
37 Rscript '${__tool_directory__}/deseq2.R' | 79 ]]></command> |
38 -o '$deseq_out' | |
39 #if $pdf: | |
40 -p '$plots' | |
41 #end if | |
42 #if $normCounts: | |
43 -n '$counts_out' | |
44 #end if | |
45 #set $temp_factor_names = list() | |
46 #for $factor in $rep_factorName: | |
47 #set $temp_factor = list() | |
48 #for $level in $factor.rep_factorLevel: | |
49 #set $count_files = list() | |
50 #for $file in $level.countsFile: | |
51 $count_files.append(str($file)) | |
52 #end for | |
53 $temp_factor.append( {str($level.factorLevel): $count_files} ) | |
54 #end for | |
55 $temp_factor.reverse() | |
56 $temp_factor_names.append([str($factor.factorName), $temp_factor]) | |
57 #end for | |
58 -f '#echo json.dumps(temp_factor_names)#' | |
59 -t '$fit_type' | |
60 #if $outlier_replace_off: | |
61 -a | |
62 #end if | |
63 #if $outlier_filter_off: | |
64 -b | |
65 #end if | |
66 #if $auto_mean_filter_off: | |
67 -c | |
68 #end if | |
69 #if $many_contrasts: | |
70 -m | |
71 #end if | |
72 #if $tximport.tximport_selector == 'tximport': | |
73 -i | |
74 #if $tximport.mapping_format.mapping_format_selector == 'gtf': | |
75 -x mapping.gtf | |
76 #else: | |
77 -x mapping.txt | |
78 #end if | |
79 | |
80 #end if | |
81 ]]> | |
82 </command> | |
83 <inputs> | 80 <inputs> |
84 <repeat name="rep_factorName" title="Factor" min="1"> | 81 <repeat name="rep_factorName" title="Factor" min="1"> |
85 <param name="factorName" type="text" value="FactorName" label="Specify a factor name, e.g. effects_drug_x or cancer_markers" | 82 <param name="factorName" type="text" value="FactorName" label="Specify a factor name, e.g. effects_drug_x or cancer_markers" |
86 help="Only letters, numbers and underscores will be retained in this field"> | 83 help="Only letters, numbers and underscores will be retained in this field"> |
87 <sanitizer> | 84 <sanitizer> |
99 </repeat> | 96 </repeat> |
100 </repeat> | 97 </repeat> |
101 | 98 |
102 <conditional name="tximport"> | 99 <conditional name="tximport"> |
103 <param name="tximport_selector" type="select" label="Choice of Input data"> | 100 <param name="tximport_selector" type="select" label="Choice of Input data"> |
104 <option value="count" selected="True">Count data (e.g. from htseq-count or feature-count)</option> | 101 <option value="count" selected="True">Count data (e.g. from HTSeq-count or featureCounts)</option> |
105 <option value="tximport">TPM values (e.g. from sailfish or salmon)</option> | 102 <option value="tximport">TPM values (e.g. from kallisto, sailfish or salmon)</option> |
106 </param> | 103 </param> |
107 <when value="tximport"> | 104 <when value="tximport"> |
105 <param name="txtype" type="select" label="Program used to generate TPMs"> | |
106 <option value="kallisto">kallisto</option> | |
107 <option value="sailfish">Sailfish</option> | |
108 <option value="salmon">Salmon</option> | |
109 </param> | |
108 <conditional name="mapping_format"> | 110 <conditional name="mapping_format"> |
109 <param name="mapping_format_selector" type="select" label="Gene mapping format"> | 111 <param name="mapping_format_selector" type="select" label="Gene mapping format"> |
110 <option value="gtf" selected="True">GTF</option> | 112 <option value="gtf" selected="True">GTF</option> |
111 <option value="tabular">Transcript-ID and Gene-ID mapping file</option> | 113 <option value="tabular">Transcript-ID and Gene-ID mapping file</option> |
112 </param> | 114 </param> |
113 <when value="gtf"> | 115 <when value="gtf"> |
114 <param name="gtf_file" type="data" format="gtf" label="GTF file with Transcript - Gene mapping"/> | 116 <param name="gtf_file" type="data" format="gtf,gff3" label="GTF/GFF3 file with Transcript - Gene mapping"/> |
115 </when> | 117 </when> |
116 <when value="tabular"> | 118 <when value="tabular"> |
117 <param name="tabular_file" type="data" format="tabular" label="Tabular file with Transcript - Gene mapping"/> | 119 <param name="tabular_file" type="data" format="tabular" label="Tabular file with Transcript - Gene mapping"/> |
118 </when> | 120 </when> |
119 </conditional> | 121 </conditional> |
163 <data format="tabular" name="counts_out" label="Normalized counts file on ${on_string}"> | 165 <data format="tabular" name="counts_out" label="Normalized counts file on ${on_string}"> |
164 <filter>normCounts == True</filter> | 166 <filter>normCounts == True</filter> |
165 </data> | 167 </data> |
166 </outputs> | 168 </outputs> |
167 <tests> | 169 <tests> |
168 <test> | 170 <!--Ensure tables output works--> |
171 <test expect_num_outputs="2"> | |
169 <repeat name="rep_factorName"> | 172 <repeat name="rep_factorName"> |
170 <param name="factorName" value="Treatment"/> | 173 <param name="factorName" value="Treatment"/> |
171 <repeat name="rep_factorLevel"> | 174 <repeat name="rep_factorLevel"> |
172 <param name="factorLevel" value="Treated"/> | 175 <param name="factorLevel" value="Treated"/> |
173 <param name="countsFile" value="GSM461179_treat_single.counts,GSM461180_treat_paired.counts,GSM461181_treat_paired.counts"/> | 176 <param name="countsFile" value="GSM461179_treat_single.counts,GSM461180_treat_paired.counts,GSM461181_treat_paired.counts"/> |
180 <param name="pdf" value="False"/> | 183 <param name="pdf" value="False"/> |
181 <param name="normCounts" value="True"/> | 184 <param name="normCounts" value="True"/> |
182 <output name="counts_out" file="normalized_readcounts.tab"/> | 185 <output name="counts_out" file="normalized_readcounts.tab"/> |
183 <output name="deseq_out" file="deseq2_out.tab"/> | 186 <output name="deseq_out" file="deseq2_out.tab"/> |
184 </test> | 187 </test> |
185 <test> | 188 <!--Ensure Sailfish/Salmon input with tx2gene table works--> |
189 <test expect_num_outputs="1"> | |
186 <repeat name="rep_factorName"> | 190 <repeat name="rep_factorName"> |
187 <param name="factorName" value="Treatment"/> | 191 <param name="factorName" value="Treatment"/> |
188 <repeat name="rep_factorLevel"> | 192 <repeat name="rep_factorLevel"> |
189 <param name="factorLevel" value="Treated"/> | 193 <param name="factorLevel" value="Treated"/> |
190 <param name="countsFile" value="sailfish_quant_result1.tab,sailfish_quant_result2.tab"/> | 194 <param name="countsFile" value="sailfish/sailfish_quant.sf1.tab,sailfish/sailfish_quant.sf2.tab,sailfish/sailfish_quant.sf3.tab"/> |
191 </repeat> | 195 </repeat> |
192 <repeat name="rep_factorLevel"> | 196 <repeat name="rep_factorLevel"> |
193 <param name="factorLevel" value="Untreated"/> | 197 <param name="factorLevel" value="Untreated"/> |
194 <param name="countsFile" value="sailfish_quant_result3.tab,sailfish_quant_result4.tab"/> | 198 <param name="countsFile" value="sailfish/sailfish_quant.sf4.tab,sailfish/sailfish_quant.sf5.tab,sailfish/sailfish_quant.sf6.tab"/> |
195 </repeat> | 199 </repeat> |
196 </repeat> | 200 </repeat> |
197 <param name="pdf" value="False"/> | 201 <param name="pdf" value="False"/> |
198 <param name="tximport_selector" value="tximport"/> | 202 <param name="tximport_selector" value="tximport"/> |
199 <param name="mapping_format_selector" value="gtf"/> | 203 <param name="txtype" value="sailfish"/> |
200 <param name="gtf_file" value="genes_sub.gtf"/> | 204 <param name="mapping_format_selector" value="tabular"/> |
201 <output name="deseq_out" file="deseq2_tximport_out.tab"/> | 205 <param name="tabular_file" value="tx2gene.tab"/> |
202 </test> | 206 <output name="deseq_out" file="sailfish/out_deseq2_sailfish.tab"/> |
207 </test> | |
203 </tests> | 208 </tests> |
204 <help> | 209 <help><![CDATA[ |
205 <![CDATA[ | |
206 .. class:: infomark | 210 .. class:: infomark |
207 | 211 |
208 **What it does** | 212 **What it does** |
209 | 213 |
210 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 | 214 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 |
211 | 215 |
216 ----- | |
217 | |
212 **Inputs** | 218 **Inputs** |
213 | 219 |
214 DESeq2_ takes count tables that generated from the htseq-count as input. Count tables must be generated for each sample individually. DESeq2 is capable of handling multiple factors that effect your experiment. The first factor you input is considered as the primary factor that affects gene expressions. You also input several secondary factors that might influence your experiment. But the final output will be changes in genes due to primary factor in presence of secondary factors. Each factor has two levels/states. You need to select appropriate count table from your history for each factor level. | 220 **Count Files** |
221 | |
222 DESeq2_ takes count tables generated from **featureCounts** or **HTSeq-count** as input. Count tables must be generated for each sample individually. DESeq2 is capable of handling multiple factors that affect your experiment. The first factor you input is considered as the primary factor that affects gene expressions. Optionally, you can input one or more secondary factors that might influence your experiment. But the final output will be changes in genes due to primary factor in presence of secondary factors. Each factor has two levels/states. You need to select appropriate count table from your history for each factor level. | |
215 | 223 |
216 The following table gives some examples of factors and their levels: | 224 The following table gives some examples of factors and their levels: |
217 | 225 |
218 ========= ============== =============== | 226 ========= ============== =============== |
219 Factor Factor level 1 Factor level 2 | 227 Factor Factor level 1 Factor level 2 |
228 --------- -------------- --------------- | 236 --------- -------------- --------------- |
229 Gender Female Male | 237 Gender Female Male |
230 ========= ============== =============== | 238 ========= ============== =============== |
231 | 239 |
232 *Note*: Output log2 fold changes are based on primary factor level 1 vs. factor level2. Here the order of factor levels is important. For example, for the factor 'Treatment' given in above table, DESeq2 computes fold changes of 'Treated' samples against 'Untreated', i.e. the values correspond to up or down regulations of genes in Treated samples. | 240 *Note*: Output log2 fold changes are based on primary factor level 1 vs. factor level2. Here the order of factor levels is important. For example, for the factor 'Treatment' given in above table, DESeq2 computes fold changes of 'Treated' samples against 'Untreated', i.e. the values correspond to up or down regulations of genes in Treated samples. |
241 | |
242 DESeq2_ can also take transcript-level counts from quantification tools such as, **kallisto**, **Salmon** and **Sailfish**, and this Galaxy wrapper incorporates the Bioconductor tximport_ package to process the transcript counts for DESeq2. | |
243 | |
244 **Salmon or Sailfish Files** | |
245 | |
246 Salmon or Sailfish ``quant.sf`` files can be imported by setting type to *Salmon* or *Sailfish* respectively above. Note: for previous version of Salmon or Sailfish, in which the quant.sf files start with comment lines you will need to remove the comment lines before inputting here. An example of the format is shown below. | |
247 | |
248 Example: | |
249 | |
250 ============ ========== =============== =========== =========== | |
251 Name Length EffectiveLength TPM NumReads | |
252 ------------ ---------- --------------- ----------- ----------- | |
253 NR_001526 164 20.4518 0 0 | |
254 NR_001526_1 164 20.4518 0 0 | |
255 NR_001526_2 164 20.4518 0 0 | |
256 NM_130786 1764 1956.04 2.47415 109.165 | |
257 NR_015380 2129 2139.53 1.77331 85.5821 | |
258 NM_001198818 9360 7796.58 2.38616e-07 4.19648e-05 | |
259 NM_001198819 9527 7964.62 0 0 | |
260 NM_001198820 9410 7855.78 0 0 | |
261 NM_014576 9267 7714.88 0.0481114 8.37255 | |
262 ============ ========== =============== =========== =========== | |
263 | |
264 **kallisto Files** | |
265 | |
266 kallisto ``abundance.tsv`` files can be imported by setting type to *kallisto* above. An example of the format is shown below. | |
267 | |
268 Example: | |
269 | |
270 ============ ========== =============== =========== =========== | |
271 target_id length eff_length est_counts tpm | |
272 ------------ ---------- --------------- ----------- ----------- | |
273 NR_001526 164 20.4518 0 0 | |
274 NR_001526_1 164 20.4518 0 0 | |
275 NR_001526_2 164 20.4518 0 0 | |
276 NM_130786 1764 1956.04 109.165 2.47415 | |
277 NR_015380 2129 2139.53 85.5821 1.77331 | |
278 NM_001198818 9360 7796.58 4.19648e-05 2.38616e-07 | |
279 NM_001198819 9527 7964.62 0 0 | |
280 NM_001198820 9410 7855.78 0 0 | |
281 NM_014576 9267 7714.88 8.37255 0.0481114 | |
282 ============ ========== =============== =========== =========== | |
283 | |
284 ----- | |
233 | 285 |
234 **Output** | 286 **Output** |
235 | 287 |
236 DESeq2_ generates a tabular file containing the different columns and optional visualized results as PDF. | 288 DESeq2_ generates a tabular file containing the different columns and optional visualized results as PDF. |
237 | 289 |
247 7 p value adjusted for multiple testing with the Benjamini-Hochberg procedure | 299 7 p value adjusted for multiple testing with the Benjamini-Hochberg procedure |
248 which controls false discovery rate (FDR) | 300 which controls false discovery rate (FDR) |
249 ====== ========================================================== | 301 ====== ========================================================== |
250 | 302 |
251 .. _DESeq2: http://master.bioconductor.org/packages/release/bioc/html/DESeq2.html | 303 .. _DESeq2: http://master.bioconductor.org/packages/release/bioc/html/DESeq2.html |
252 ]]> | 304 .. _tximport: https://bioconductor.org/packages/devel/bioc/vignettes/tximport/inst/doc/tximport.html |
253 </help> | 305 ]]></help> |
254 <citations> | 306 <citations> |
255 <citation type="doi">10.1186/s13059-014-0550-8</citation> | 307 <citation type="doi">10.1186/s13059-014-0550-8</citation> |
256 </citations> | 308 </citations> |
257 </tool> | 309 </tool> |