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