15
|
1 <tool id="deseq2" name="DESeq2" version="2.0.1">
|
17
|
2 <description>Determines differentially expressed features from count data</description>
|
1
|
3 <requirements>
|
13
|
4 <requirement type="binary">Rscript</requirement>
|
|
5 <requirement type="R-module">DESeq2</requirement>
|
1
|
6 <requirement type="package" version="3.0.1">R_3_0_1</requirement>
|
13
|
7 <requirement type="set_environment">DESEQ2_SCRIPT_PATH</requirement>
|
1
|
8 </requirements>
|
13
|
9 <command interpreter="Rscript">
|
17
|
10 #import simplejson
|
13
|
11 deseq2.R
|
|
12 -o "$deseq_out"
|
17
|
13 --outfilefiltered "$deseq_out_filtered"
|
14
|
14
|
|
15 #if $pdf:
|
17
|
16 -p "$plots"
|
14
|
17 #end if
|
17
|
18
|
13
|
19 -i "$input_matrix"
|
|
20
|
17
|
21 #set $temp_factor_name = list()
|
|
22 #for $factor in $rep_factorName:
|
|
23 #set $temp_factor = dict()
|
|
24 #for $level in $factor.rep_factorLevel:
|
|
25 ##$temp_factor_list.append( '%s::%s:%s' % ($factor.factorName.replace(' ','_'), $level.factorLevel, $level.factorIndex) )
|
|
26 $temp_factor.update({str($level.factorLevel): map(int, str($level.factorIndex).split(','))})
|
|
27 #end for
|
|
28 $temp_factor_name.append([str($factor.factorName), $temp_factor])
|
14
|
29
|
|
30 #end for
|
|
31
|
17
|
32 ##-m "#echo ' '.join( $temp_factor_list )#"
|
|
33 -m '#echo simplejson.dumps(temp_factor_name)#'
|
|
34 ##--organism "$organism"
|
|
35 ##-t "$fittype"
|
|
36 -c $countthreshold
|
0
|
37 </command>
|
14
|
38 <stdio>
|
|
39 <regex match="Execution halted"
|
|
40 source="both"
|
|
41 level="fatal"
|
15
|
42 description="Execution halted." />
|
14
|
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." />
|
15
|
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." />
|
14
|
51 </stdio>
|
0
|
52 <inputs>
|
16
|
53 <param format="tabular" name="input_matrix" type="data" label="Countmatrix" help="You can create a count matrix with the tool
|
17
|
54 'Count reads in features with htseq-count'"/>
|
|
55
|
|
56 <repeat name="rep_factorName" title="Factor/Condition" min="1">
|
|
57 <param name="factorName" type="text" value="FactorName" label="Specify a factor name" help=""/>
|
|
58 <repeat name="rep_factorLevel" title="Factor level" min="1">
|
|
59 <param name="factorLevel" type="text" value="FactorLevel" label="Specify a factor level" help=""/>
|
13
|
60
|
17
|
61 <param name="factorIndex" label="Select columns that are associated with this factor level" type="data_column" data_ref="input_matrix"
|
13
|
62 numerical="True" multiple="true" use_header_names="true" size="120" display="checkboxes">
|
|
63 <validator type="no_options" message="Please select at least one column."/>
|
|
64 </param>
|
17
|
65 </repeat>
|
|
66 </repeat>
|
|
67 <!--
|
|
68 <param name="control_cols" type="select" display="checkboxes" multiple="true" optional="True" label="Select columns containing first condition"
|
|
69 dynamic_options="get_matrix_header( input_dataset=input_matrix )" help="insert useful info here">
|
|
70 <validator type="no_options" message="Please select at least one column."/>
|
|
71 </param>
|
|
72 <param name="experiement_cols" type="select" display="checkboxes" multiple="true" optional="True" label="Select columns containing second condition"
|
|
73 dynamic_options="get_matrix_header( input_dataset=input_matrix )" help="insert useful info here">
|
|
74 <validator type="no_options" message="Please select at least one column."/>
|
|
75 </param>
|
|
76
|
|
77 <repeat name="factor" title="factor">
|
|
78 <param name="factor_name" type="text" value="Factor Name" label="Specify a factor name"
|
|
79 help="Order of factors you add effects the design formual and hence effects whole analysis. Design formual will be created as follows: ~factor1+factor2+factor3+...+factorN+condition"/>
|
|
80 <param name="factor_index" type="select" display="checkboxes" multiple="true" optional="True" label="Choose sample to compare with"
|
|
81 dynamic_options="get_matrix_header( input_dataset=input_matrix )" help="Select columns that are associated with a factor">
|
|
82 <validator type="no_options" message="Please select at least one column."/>
|
|
83 </param>
|
|
84 </repeat>
|
|
85 -->
|
|
86 <!--param name="organism" size="10" type="select">
|
|
87 <option value="human">human</option>
|
|
88 <option value="mouse">mouse</option>
|
|
89 <option value="fly">fly</option>
|
|
90 <option value="other">other</option>
|
|
91 </param-->
|
|
92 <param name="countthreshold" size="10" type="float" value="10" label="Filter out features with mean normalized counts lower than this value"/>
|
16
|
93 <param name="fittype" type="select" label="Type of fitting of dispersions to the mean intensity">
|
17
|
94 <option value="parametric">parametric</option>
|
|
95 <option value="local">local</option>
|
|
96 <option value="mean">mean</option>
|
|
97 </param>
|
|
98 <param name="pdf" type="boolean" truevalue="" falsevalue="" checked="true" label="Visualising the analysis results"
|
|
99 help="output an additional PDF files" />
|
0
|
100 </inputs>
|
|
101
|
17
|
102 <outputs>
|
|
103 <data format="tabular" name="deseq_out" label="DESeq2 result file on ${on_string}"/>
|
|
104 <data format="tabular" name="deseq_out_filtered" label="Independent filtering result file on ${on_string}"/>
|
|
105 <data format="pdf" name="plots" label="DESeq2 plots on ${on_string}">
|
|
106 <filter>pdf == True</filter>
|
|
107 </data>
|
|
108 </outputs>
|
|
109 <code file="matrix_helper.py" />
|
0
|
110
|
17
|
111 <help>
|
13
|
112
|
|
113 .. class:: infomark
|
0
|
114
|
13
|
115 **What it does**
|
|
116
|
14
|
117 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
|
0
|
118
|
|
119
|
13
|
120 **Inputs**
|
0
|
121
|
14
|
122 DESeq2_ requires one count matrix as input file. You can use the tool
|
13
|
123
|
14
|
124
|
13
|
125
|
|
126 **Output**
|
|
127
|
14
|
128 DESeq2_ generates a tabular file containing the different columns and optional visualized results as PDF.
|
|
129
|
|
130 ====== ==========================================================
|
|
131 Column Description
|
|
132 ------ ----------------------------------------------------------
|
17
|
133 1 Gene Identifiers
|
|
134 2 mean normalised counts, averaged over all samples from both conditions
|
|
135 3 the logarithm (to basis 2) of the fold change
|
|
136 4 standard error estimate for the log2 fold change estimate
|
|
137 5 p value for the statistical significance of this change
|
|
138 6 p value adjusted for multiple testing with the Benjamini-Hochberg procedure
|
14
|
139 which controls false discovery rate (FDR)
|
|
140 ====== ==========================================================
|
|
141
|
13
|
142
|
|
143 ------
|
|
144
|
14
|
145 **References**
|
|
146
|
|
147 DESeq2_ Authors: Michael Love (MPIMG Berlin), Simon Anders, Wolfgang Huber (EMBL Heidelberg)
|
13
|
148
|
14
|
149 If _DESeq2_ is used to obtain results for scientific publications it
|
|
150 should be cited as [1]_. A paper describing DESeq2_ is in preparation.
|
13
|
151
|
14
|
152
|
13
|
153
|
|
154 .. [1] Anders, S and Huber, W (2010): `Differential expression analysis for sequence count data`_.
|
|
155
|
|
156 .. _Differential expression analysis for sequence count data: http://dx.doi.org/10.1186/gb-2010-11-10-r106
|
14
|
157 .. _DESeq2: http://master.bioconductor.org/packages/release/bioc/html/DESeq2.html
|
13
|
158
|
|
159
|
17
|
160 </help>
|
0
|
161 </tool>
|