2
|
1 <tool id="dexseq" name="DEXSeq" version="1.0">
|
15
|
2 <description>Determines differential exon usage from count tables</description>
|
1
|
3 <requirements>
|
13
|
4 <requirement type="package" version="3.2.0">R</requirement>
|
25
|
5 <requirement type="package" version="1.12.14">cairo</requirement>
|
19
|
6 <requirement type="package" version="4.0.3">tiff</requirement>
|
23
|
7 <requirement type="package" version="1.14.2">dexseq</requirement>
|
1
|
8 </requirements>
|
11
|
9 <code file="dexseq_helper.py" />
|
1
|
10 <command>
|
19
|
11 mkdir ./html_out ;
|
1
|
12 #import json
|
19
|
13 Rscript $__tool_directory__/dexseq.R
|
13
|
14 -o "$dexseq_out"
|
22
|
15 -p 6
|
1
|
16 #set $temp_factor_names = list()
|
|
17 #for $factor in $rep_factorName:
|
|
18 #set $temp_factor = list()
|
|
19 #for $level in $factor.rep_factorLevel:
|
|
20 #set $count_files = list()
|
|
21 #for $file in $level.countsFile:
|
|
22 $count_files.append(str($file))
|
|
23 #end for
|
|
24 $temp_factor.append( {str($level.factorLevel): $count_files} )
|
|
25 #end for
|
|
26 $temp_factor_names.append([str($factor.factorName), $temp_factor])
|
|
27 #end for
|
|
28 -f '#echo json.dumps(temp_factor_names)#'
|
|
29 -a $gtf
|
|
30 #if $report:
|
19
|
31 -r ./html_out
|
1
|
32 #end if
|
15
|
33 -c $fdr_cutoff;
|
19
|
34 mkdir $htmlreport.extra_files_path;
|
|
35 cp ./html_out/testForDEU.html $htmlreport ;
|
|
36 cp -r ./html_out/* $htmlreport.extra_files_path ;
|
1
|
37 </command>
|
|
38 <stdio>
|
|
39 <regex match="Execution halted"
|
|
40 source="both"
|
|
41 level="fatal"
|
|
42 description="Execution halted." />
|
|
43 <regex match="Input-Error 01"
|
|
44 source="both"
|
|
45 level="fatal"
|
|
46 description="Error in your input parameters: Make sure you only apply factors to selected samples." />
|
|
47 <regex match="Error in"
|
|
48 source="both"
|
|
49 level="fatal"
|
|
50 description="An undefined error occured, please check your intput carefully and contact your administrator." />
|
|
51 </stdio>
|
|
52 <inputs>
|
22
|
53 <param name="gtf" type="data" label="GTF file created from DEXSeq-Count tool"/>
|
1
|
54 <repeat name="rep_factorName" title="Factor" min="1">
|
|
55 <param name="factorName" type="text" value="FactorName" label="Specify a factor name"
|
|
56 help="Only letters, numbers and underscores will be retained in this field">
|
|
57 <sanitizer>
|
|
58 <valid initial="string.letters,string.digits"><add value="_" /></valid>
|
|
59 </sanitizer>
|
|
60 </param>
|
|
61 <repeat name="rep_factorLevel" title="Factor level" min="2" max="2" default="2">
|
|
62 <param name="factorLevel" type="text" value="FactorLevel" label="Specify a factor level"
|
|
63 help="Only letters, numbers and underscores will be retained in this field">
|
|
64 <sanitizer>
|
|
65 <valid initial="string.letters,string.digits"><add value="_" /></valid>
|
|
66 </sanitizer>
|
|
67 </param>
|
|
68 <param name="countsFile" type="data" multiple="true" label="Counts file"/>
|
|
69 </repeat>
|
|
70 </repeat>
|
|
71 <param name="report" type="boolean" truevalue="" falsevalue="" checked="true"
|
|
72 label="Visualise the analysis results?"
|
|
73 help="output an additional html file" />
|
|
74 <param name="fdr_cutoff" type="float" min="0" max="1" value="0.05" label="All the genes under this FDR threshold will be shown in the html report."/>
|
|
75 </inputs>
|
|
76
|
|
77 <outputs>
|
15
|
78 <data format="tabular" name="dexseq_out" label="DEXSeq result file on ${on_string}"/>
|
|
79 <data format="html" name="htmlreport" label="DEXSeq report on ${on_string}">
|
|
80 <filter>report == True</filter>
|
1
|
81 </data>
|
|
82 </outputs>
|
22
|
83
|
1
|
84 <code file="dexseq_helper.py" />
|
22
|
85 <tests>
|
|
86 <test>
|
23
|
87 <param name="gtf" value="dexseq.gtf" ftype="bed"/>
|
22
|
88 <repeat name="rep_factorName">
|
|
89 <param name="factorName" value="condition" ftype="bed"/>
|
|
90 <repeat name="rep_factorLevel">
|
|
91 <param name="factorLevel" type="text" value="knockdown"/>
|
|
92 <param name="countsFile" ftype="tabular" value="treated1fb.txt"/>
|
|
93 </repeat>
|
|
94 <repeat name="rep_factorLevel">
|
|
95 <param name="factorLevel" type="text" value="knockdown"/>
|
|
96 <param name="countsFile" ftype="tabular" value="treated2fb.txt"/>
|
|
97 </repeat>
|
|
98 <repeat name="rep_factorLevel">
|
|
99 <param name="factorLevel" type="text" value="knockdown"/>
|
|
100 <param name="countsFile" ftype="tabular" value="treated3fb.txt"/>
|
|
101 </repeat>
|
|
102 <repeat name="rep_factorLevel">
|
|
103 <param name="factorLevel" type="text" value="control"/>
|
|
104 <param name="countsFile" ftype="tabular" value="untreated1fb.txt"/>
|
|
105 </repeat>
|
|
106 <repeat name="rep_factorLevel">
|
|
107 <param name="factorLevel" type="text" value="control"/>
|
|
108 <param name="countsFile" ftype="tabular" value="untreated2fb.txt"/>
|
|
109 </repeat>
|
|
110 <repeat name="rep_factorLevel">
|
|
111 <param name="factorLevel" type="text" value="control"/>
|
|
112 <param name="countsFile" ftype="tabular" value="untreated2fb.txt"/>
|
|
113 </repeat>
|
|
114 <repeat name="rep_factorLevel">
|
|
115 <param name="factorLevel" type="text" value="control"/>
|
|
116 <param name="countsFile" ftype="tabular" value="untreated3fb.txt"/>
|
|
117 </repeat>
|
|
118 </repeat>
|
|
119 <repeat name="rep_factorName">
|
|
120 <param name="factorName" value="libtype" ftype="bed"/>
|
|
121 <repeat name="rep_factorLevel">
|
|
122 <param name="factorLevel" type="text" value="singleend"/>
|
|
123 <param name="countsFile" ftype="tabular" value="treated1fb.txt"/>
|
|
124 </repeat>
|
|
125 <repeat name="rep_factorLevel">
|
|
126 <param name="factorLevel" type="text" value="singleend"/>
|
|
127 <param name="countsFile" ftype="tabular" value="untreated1fb.txt"/>
|
|
128 </repeat>
|
|
129 <repeat name="rep_factorLevel">
|
|
130 <param name="factorLevel" type="text" value="singleend"/>
|
|
131 <param name="countsFile" ftype="tabular" value="untreated2fb.txt"/>
|
|
132 </repeat>
|
|
133 <repeat name="rep_factorLevel">
|
|
134 <param name="factorLevel" type="text" value="pairedend"/>
|
|
135 <param name="countsFile" ftype="tabular" value="treated2fb.txt"/>
|
|
136 </repeat>
|
|
137 <repeat name="rep_factorLevel">
|
|
138 <param name="factorLevel" type="text" value="pairedend"/>
|
|
139 <param name="countsFile" ftype="tabular" value="treated3fb.txt"/>
|
|
140 </repeat>
|
|
141 <repeat name="rep_factorLevel">
|
|
142 <param name="factorLevel" type="text" value="pairedend"/>
|
|
143 <param name="countsFile" ftype="tabular" value="untreated3fb.txt"/>
|
|
144 </repeat>
|
|
145 <repeat name="rep_factorLevel">
|
|
146 <param name="factorLevel" type="text" value="pairedend"/>
|
|
147 <param name="countsFile" ftype="tabular" value="untreated4fb.txt"/>
|
|
148 </repeat>
|
|
149 </repeat>
|
|
150 <param name="report" type="boolean" value="False"/>
|
|
151 <param name="fdr_cutoff" value="0.05"/>
|
23
|
152 <output name="dexseq_out" file="dexseq_result.tabular" ftype="tabular"/>
|
22
|
153 </test>
|
|
154 </tests>
|
1
|
155 <help>
|
|
156
|
|
157 .. class:: infomark
|
|
158
|
|
159 **What it does**
|
|
160
|
|
161 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
|
|
162
|
|
163
|
|
164 **Inputs**
|
|
165
|
19
|
166 DEXSeq_ takes count tables that generated from the dexseq_count as input. Count tables must be generated for each sample individually. DEXSeq 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. Primary factor should always be named as 'condition'. 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.
|
1
|
167
|
|
168 The following table gives some examples of factors and their levels:
|
|
169
|
|
170 ========= ============== ===============
|
|
171 Factor Factor level 1 Factor level 2
|
|
172 --------- -------------- ---------------
|
19
|
173 condition Knockdown Wildtype
|
1
|
174 --------- -------------- ---------------
|
19
|
175 treatment Treated Untreated
|
1
|
176 --------- -------------- ---------------
|
19
|
177 timePoint Day4 Day1
|
1
|
178 --------- -------------- ---------------
|
|
179 SeqType SingleEnd PairedEnd
|
|
180 --------- -------------- ---------------
|
|
181 Gender Female Male
|
|
182 ========= ============== ===============
|
|
183
|
19
|
184 *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 'condition' given in above table, DEXSeq computes fold changes of 'Knockdown' samples against 'Wildtype', i.e. the values correspond to up or down regulations of genes in Knockdown samples.
|
1
|
185
|
|
186 **Output**
|
|
187
|
19
|
188 DEXSeq_ generates a tabular file containing the different columns and an optional html report.
|
1
|
189
|
|
190 ====== ==========================================================
|
|
191 Column Description
|
|
192 ------ ----------------------------------------------------------
|
19
|
193 1 Gene and exon Identifiers
|
|
194 2 group/gene identifier
|
|
195 3 feature/exon identifier
|
|
196 4 mean of the counts across samples in each feature/exon
|
|
197 5 exon dispersion estimate
|
|
198 6 LRT statistic
|
|
199 7 LRT p-value
|
|
200 8 BH adjusted p-values
|
|
201 9 exon usage coefficient factorLevel 2
|
|
202 10 exon usage coefficient factorLevel 1
|
|
203 11 relative exon usage fold changes
|
|
204 12 GRanges object of the coordinates of the exon/feature
|
|
205 13 matrix of integer counts, of each column containing a sample
|
|
206 14 list of transcripts overlapping with the exon
|
1
|
207 ====== ==========================================================
|
|
208
|
|
209
|
19
|
210 .. _DEXSeq: http://master.bioconductor.org/packages/release/bioc/html/DEXSeq.html
|
1
|
211
|
|
212 </help>
|
|
213 <citations>
|
19
|
214 <citation type="doi">10.1101/gr.133744.111</citation>
|
1
|
215 </citations>
|
|
216 </tool>
|