annotate edgeR_Differential_Gene_Expression.xml @ 67:6eb298a5561f draft

Uploaded
author yhoogstrate
date Tue, 30 Sep 2014 09:08:23 -0400
parents 125c976723ad
children 1dc20e3e11df
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
1 <?xml version="1.0" encoding="UTF-8"?>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
2 <tool id="edger_dge" name="edgeR: Differential Gene(Expression) Analysis">
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
3 <description>RNA-Seq gene expression analysis using edgeR (R package)</description>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
4
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
5 <requirements>
62
9384bc21272d Uploaded
yhoogstrate
parents: 60
diff changeset
6 <!--<requirement type="package" version="3.0.1">package_r3_withx</requirement>-->
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
7 <!--<requirement type="package" version="3.1.0">R</requirement>-->
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
8 <requirement type="package" version="3.0.3">R</requirement>
29
27efc93c1ca6 Uploaded
yhoogstrate
parents: 25
diff changeset
9 <requirement type="package" version="latest">package_biocLite_edgeR_limma</requirement>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
10 </requirements>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
11
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
12 <command>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
13 <!--
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
14 The following script is written in the "Cheetah" language:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
15 http://www.cheetahtemplate.org/docs/users_guide_html_multipage/contents.html
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
16 -->
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
17
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
18 R --vanilla --slave -f $R_script '--args
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
19 $expression_matrix
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
20 $design_matrix
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
21 $contrast
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
22
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
23 $fdr
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
24
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
25 $output_count_edgeR
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
26 $output_cpm
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
27
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
28 /dev/null <!-- Calculation of FPKM/RPKM should come here -->
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
29
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
30 #if $output_raw_counts:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
31 $output_raw_counts
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
32 #else:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
33 /dev/null
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
34 #end if
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
35
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
36 #if $output_MDSplot:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
37 $output_MDSplot
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
38 #else:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
39 /dev/null
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
40 #end if
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
41
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
42 #if $output_BCVplot:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
43 $output_BCVplot
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
44 #else:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
45 /dev/null
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
46 #end if
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
47
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
48 #if $output_MAplot:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
49 $output_MAplot
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
50 #else:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
51 /dev/null
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
52 #end if
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
53
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
54 #if $output_PValue_distribution_plot:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
55 $output_PValue_distribution_plot
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
56 #else:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
57 /dev/null
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
58 #end if
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
59
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
60 #if $output_hierarchical_clustering_plot:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
61 $output_hierarchical_clustering_plot
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
62 #else:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
63 /dev/null
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
64 #end if
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
65
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
66 #if $output_heatmap_plot:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
67 $output_heatmap_plot
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
68 #else:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
69 /dev/null
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
70 #end if
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
71
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
72 #if $output_RData_obj:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
73 $output_RData_obj
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
74 #else:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
75 /dev/null
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
76 #end if
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
77
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
78 $output_format_images
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
79 '
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
80 #if $output_R:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
81 > $output_R
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
82 #else:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
83 > /dev/null
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
84 #end if
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
85
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
86 2> stderr.txt ;
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
87
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
88 #if $output_format_images == "png":
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
89 convert $output_format_images "{$output_format_images}.png" ;
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
90 mv "{$output_format_images}.png" $output_format_images ;
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
91 #end if
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
92
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
93 grep -v 'Calculating library sizes from column' stderr.txt > stderr2.txt ; rm stderr.txt ; mv stderr2.txt stderr.txt ;
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
94
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
95 ## Locale error messages:
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
96 grep -v 'During startup - Warning messages' stderr.txt > stderr2.txt ; rm stderr.txt ; mv stderr2.txt stderr.txt ;
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
97 grep -v 'Setting LC_TIME failed' stderr.txt > stderr2.txt ; rm stderr.txt ; mv stderr2.txt stderr.txt ;
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
98 grep -v 'Setting LC_MONETARY failed' stderr.txt > stderr2.txt ; rm stderr.txt ; mv stderr2.txt stderr.txt ;
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
99 grep -v 'Setting LC_PAPER failed' stderr.txt > stderr2.txt ; rm stderr.txt ; mv stderr2.txt stderr.txt ;
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
100 grep -v 'Setting LC_MEASUREMENT failed' stderr.txt > stderr2.txt ; rm stderr.txt ; mv stderr2.txt stderr.txt ;
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
101 grep -v 'Setting LC_CTYPE failed' stderr.txt > stderr2.txt ; rm stderr.txt ; mv stderr2.txt stderr.txt ;
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
102 grep -v 'Setting LC_COLLATE failed' stderr.txt > stderr2.txt ; rm stderr.txt ; mv stderr2.txt stderr.txt ;
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
103
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
104 cat stderr.txt >&amp;2
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
105
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
106 </command>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
107
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
108 <inputs>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
109 <param name="expression_matrix" type="data" format="tabular" label="Expression (read count) matrix" />
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
110 <param name="design_matrix" type="data" format="tabular" label="Design matrix" hepl="Ensure your samplenames are identical to those in the expression matrix. Preferentially, create the contrast matrix using 'edgeR: Design- from Expression matrix'." />
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
111
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
112 <param name="contrast" type="text" label="Contrast (biological question)" help="e.g. 'tumor-normal' or '(G1+G2)/2-G3' using the factors chosen in the design matrix. Read the 'makeContrasts' manual from Limma package for more info: http://www.bioconductor.org/packages/release/bioc/html/limma.html and http://www.bioconductor.org/packages/release/bioc/vignettes/limma/inst/doc/usersguide.pdf." />
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
113
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
114 <param name="fdr" type="float" min="0" max="1" value="0.05" label="False Discovery Rate (FDR)" />
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
115
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
116 <param name="outputs" type="select" label="Optional desired outputs" multiple="true" display="checkboxes">
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
117 <option value="make_output_raw_counts">Raw counts table</option>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
118 <option value="make_output_MDSplot">MDS-plot</option>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
119 <option value="make_output_BCVplot">BCV-plot</option>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
120 <option value="make_output_MAplot">MA-plot</option>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
121 <option value="make_output_PValue_distribution_plot">P-Value distribution plot</option>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
122 <option value="make_output_hierarchical_clustering_plot">Hierarchical custering</option>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
123 <option value="make_output_heatmap_plot">Heatmap</option>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
124
43
c6e787bb605c Uploaded
yhoogstrate
parents: 42
diff changeset
125 <option value="make_output_R_stdout">R stdout</option>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
126 <option value="make_output_RData_obj">R Data object</option>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
127 </param>
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
128
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
129 <param name="output_format_images" type="select" label="Output format of images" display="radio">
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
130 <option value="png">Portable network graphics (.png)</option>
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
131 <option value="pdf">Portable document format (.pdf)</option>
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
132 <option value="svg">Scalable vector graphics (.svg)</option>
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
133 </param>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
134 </inputs>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
135
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
136 <configfiles>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
137 <configfile name="R_script">
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
138 library(limma,quietly=TRUE) ## enable quietly to avoid unnecessaity stderr dumping
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
139 library(edgeR,quietly=TRUE) ## enable quietly to avoid unnecessaity stderr dumping
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
140 library(splines,quietly=TRUE) ## enable quietly to avoid unnecessaity stderr dumping
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
141
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
142 ## Fetch commandline arguments
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
143 args &lt;- commandArgs(trailingOnly = TRUE)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
144
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
145 expression_matrix_file = args[1]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
146 design_matrix_file = args[2]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
147 contrast = args[3]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
148
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
149 fdr = args[4]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
150
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
151 output_count_edgeR = args[5]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
152 output_cpm = args[6]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
153
43
c6e787bb605c Uploaded
yhoogstrate
parents: 42
diff changeset
154 output_xpkm = args[7] ##FPKM file - yet to be implemented
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
155
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
156 output_raw_counts = args[8]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
157 output_MDSplot = args[9]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
158 output_BCVplot = args[10]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
159 output_MAplot = args[11]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
160 output_PValue_distribution_plot = args[12]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
161 output_hierarchical_clustering_plot = args[13]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
162 output_heatmap_plot = args[14]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
163 output_RData_obj = args[15]
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
164 output_format_images = args[16]
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
165
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
166
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
167 library(edgeR)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
168 ##raw_data &lt;- read.delim(designmatrix,header=T,stringsAsFactors=T)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
169 ## Obtain read-counts
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
170
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
171 expression_matrix &lt;- read.delim(expression_matrix_file,header=T,stringsAsFactors=F,row.names=1,check.names=FALSE,na.strings=c(""))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
172 design_matrix &lt;- read.delim(design_matrix_file,header=T,stringsAsFactors=F,row.names=1,check.names=FALSE,na.strings=c(""))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
173
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
174 colnames(design_matrix) &lt;- make.names(colnames(design_matrix))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
175
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
176 for(i in 1:ncol(design_matrix)) {
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
177 old = design_matrix[,i]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
178 design_matrix[,i] = make.names(design_matrix[,i])
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
179 if(paste(design_matrix[,i],collapse="\t") != paste(old,collapse="\t")) {
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
180 print("Renaming of factors:")
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
181 print(old)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
182 print("To:")
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
183 print(design_matrix[,i])
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
184 }
45
f710e5ed7cea Uploaded
yhoogstrate
parents: 44
diff changeset
185 ## The following line seems to malfunction the script:
f710e5ed7cea Uploaded
yhoogstrate
parents: 44
diff changeset
186 ##design_matrix[,i] &lt;- as.factor(design_matrix[,i])
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
187 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
188
44
261b997b241f Uploaded
yhoogstrate
parents: 43
diff changeset
189 ## 1) In the expression matrix, you only want to have the samples described in the design matrix
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
190 columns &lt;- match(rownames(design_matrix),colnames(expression_matrix))
43
c6e787bb605c Uploaded
yhoogstrate
parents: 42
diff changeset
191 columns &lt;- columns[!is.na(columns)]
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
192 read_counts &lt;- expression_matrix[,columns]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
193
44
261b997b241f Uploaded
yhoogstrate
parents: 43
diff changeset
194 ## 2) In the design matrix, you only want to have samples of which you really have the counts
261b997b241f Uploaded
yhoogstrate
parents: 43
diff changeset
195 columns &lt;- match(colnames(expression_matrix),rownames(design_matrix))
261b997b241f Uploaded
yhoogstrate
parents: 43
diff changeset
196 columns &lt;- columns[!is.na(columns)]
261b997b241f Uploaded
yhoogstrate
parents: 43
diff changeset
197 design_matrix &lt;- design_matrix[columns,,drop=FALSE]
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
198
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
199 ## Filter for HTSeq predifined counts:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
200 exclude_HTSeq &lt;- c("no_feature","ambiguous","too_low_aQual","not_aligned","alignment_not_unique")
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
201 exclude_DEXSeq &lt;- c("_ambiguous","_empty","_lowaqual","_notaligned")
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
202
44
261b997b241f Uploaded
yhoogstrate
parents: 43
diff changeset
203 exclude &lt;- match(c(exclude_HTSeq, exclude_DEXSeq),rownames(read_counts))
261b997b241f Uploaded
yhoogstrate
parents: 43
diff changeset
204 exclude &lt;- exclude[is.na(exclude)==0]
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
205 if(length(exclude) != 0) {
44
261b997b241f Uploaded
yhoogstrate
parents: 43
diff changeset
206 read_counts &lt;- read_counts[-exclude,]
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
207 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
208
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
209
44
261b997b241f Uploaded
yhoogstrate
parents: 43
diff changeset
210 empty_samples &lt;- apply(read_counts,2,function(x) sum(x) == 0)
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
211 if(sum(empty_samples) > 0) {
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
212 write(paste("There are ",sum(empty_samples)," empty samples found:",sep=""),stderr())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
213 write(colnames(read_counts)[empty_samples],stderr())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
214 } else {
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
215
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
216 dge &lt;- DGEList(counts=read_counts,genes=rownames(read_counts))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
217
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
218 formula &lt;- paste(c("~0",make.names(colnames(design_matrix))),collapse = " + ")
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
219 design_matrix_tmp &lt;- design_matrix
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
220 colnames(design_matrix_tmp) &lt;- make.names(colnames(design_matrix_tmp))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
221 design &lt;- model.matrix(as.formula(formula),design_matrix_tmp)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
222 rm(design_matrix_tmp)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
223
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
224 # Filter prefixes
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
225 prefixes = colnames(design_matrix)[attr(design,"assign")]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
226 avoid = nchar(prefixes) == nchar(colnames(design))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
227 replacements = substr(colnames(design),nchar(prefixes)+1,nchar(colnames(design)))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
228 replacements[avoid] = colnames(design)[avoid]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
229 colnames(design) = replacements
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
230
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
231 # Do normalization
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
232 write("Calculating normalization factors...",stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
233 dge &lt;- calcNormFactors(dge)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
234 write("Estimating common dispersion...",stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
235 dge &lt;- estimateGLMCommonDisp(dge,design)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
236 write("Estimating trended dispersion...",stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
237 dge &lt;- estimateGLMTrendedDisp(dge,design)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
238 write("Estimating tagwise dispersion...",stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
239 dge &lt;- estimateGLMTagwiseDisp(dge,design)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
240
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
241
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
242 if(output_MDSplot != "/dev/null") {
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
243 write("Creating MDS plot",stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
244 ##points &lt;- plotMDS(dge,method="bcv",labels=rep("",nrow(dge\$samples)))# Get coordinates of unflexible plot
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
245 points &lt;- plotMDS.DGEList(dge,labels=rep("",nrow(dge\$samples)))# Get coordinates of unflexible plot
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
246 dev.off()# Kill it
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
247
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
248 if(output_format_images == "pdf" || output_format_images == "png") {
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
249 pdf(output_MDSplot)
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
250 } else if(output_format_images == "svg") {
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
251 svg(output_MDSplot)
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
252 ##} else {
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
253 ## png(output_MDSplot)
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
254 ##}
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
255
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
256 diff_x &lt;- abs(max(points\$x)-min(points\$x))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
257 diff_y &lt;-(max(points\$y)-min(points\$y))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
258 plot(c(min(points\$x),max(points\$x) + 0.45 * diff_x), c(min(points\$y) - 0.05 * diff_y,max(points\$y) + 0.05 * diff_y), main="edgeR MDS Plot",type="n", xlab="BCV distance 1", ylab="BCV distance 2")
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
259 points(points\$x,points\$y,pch=20)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
260 text(points\$x, points\$y,rownames(dge\$samples),cex=0.7,col="gray",pos=4)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
261 rm(diff_x,diff_y)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
262
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
263 dev.off()
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
264 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
265
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
266 if(output_BCVplot != "/dev/null") {
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
267 write("Creating Biological coefficient of variation plot",stdout())
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
268
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
269 if(output_format_images == "pdf" || output_format_images == "png") {
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
270 pdf(output_BCVplot)
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
271 } else if(output_format_images == "svg") {
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
272 svg(output_BCVplot)
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
273 ##} else {
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
274 ## png(output_BCVplot)
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
275 ##}
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
276
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
277 plotBCV(dge, cex=0.4, main="edgeR: Biological coefficient of variation (BCV) vs abundance")
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
278 dev.off()
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
279 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
280
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
281
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
282 write("Fitting GLM...",stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
283 fit &lt;- glmFit(dge,design)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
284
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
285 write(paste("Performing likelihood ratio test: ",contrast,sep=""),stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
286 cont &lt;- c(contrast)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
287 cont &lt;- makeContrasts(contrasts=cont, levels=design)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
288
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
289 lrt &lt;- glmLRT(fit, contrast=cont[,1])
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
290 write(paste("Exporting to file: ",output_count_edgeR,sep=""),stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
291 write.table(file=output_count_edgeR,topTags(lrt,n=nrow(read_counts))\$table,sep="\t",row.names=TRUE,col.names=NA)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
292 write.table(file=output_cpm,cpm(dge,normalized.lib.sizes=TRUE),sep="\t",row.names=TRUE,col.names=NA)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
293
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
294 ## todo EXPORT FPKM
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
295 write.table(file=output_raw_counts,dge\$counts,sep="\t",row.names=TRUE,col.names=NA)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
296
34
a36a9af266e5 Uploaded
yhoogstrate
parents: 33
diff changeset
297 if(output_MAplot != "/dev/null" || output_PValue_distribution_plot != "/dev/null") {
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
298 etable &lt;- topTags(lrt, n=nrow(dge))\$table
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
299 etable &lt;- etable[order(etable\$FDR), ]
32
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
300
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
301 if(output_MAplot != "/dev/null") {
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
302 write("Creating MA plot...",stdout())
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
303
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
304 if(output_format_images == "pdf" || output_format_images == "png") {
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
305 pdf(output_MAplot)
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
306 } else if(output_format_images == "svg") {
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
307 svg(output_MAplot)
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
308 ##} else {
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
309 ## png(output_MAplot)
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
310 ##}
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
311
32
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
312 with(etable, plot(logCPM, logFC, pch=20, main="edgeR: Fold change vs abundance"))
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
313 with(subset(etable, FDR &lt; fdr), points(logCPM, logFC, pch=20, col="red"))
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
314 abline(h=c(-1,1), col="blue")
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
315 dev.off()
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
316 }
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
317
32
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
318 if(output_PValue_distribution_plot != "/dev/null") {
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
319 write("Creating P-value distribution plot...",stdout())
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
320
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
321 if(output_format_images == "pdf" || output_format_images == "png") {
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
322 pdf(output_PValue_distribution_plot)
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
323 } else if(output_format_images == "svg") {
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
324 svg(output_PValue_distribution_plot)
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
325 ##} else {
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
326 ## png(output_PValue_distribution_plot)
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
327 ##}
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
328
32
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
329 expressed_genes &lt;- subset(etable, PValue &lt; 0.99)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
330 h &lt;- hist(expressed_genes\$PValue,breaks=nrow(expressed_genes)/15,main="Binned P-Values (&lt; 0.99)")
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
331 center &lt;- sum(h\$counts) / length(h\$counts)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
332 lines(c(0,1),c(center,center),lty=2,col="red",lwd=2)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
333 k &lt;- ksmooth(h\$mid, h\$counts)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
334 lines(k\$x,k\$y,col="red",lwd=2)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
335 rmsd &lt;- (h\$counts) - center
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
336 rmsd &lt;- rmsd^2
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
337 rmsd &lt;- sum(rmsd)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
338 rmsd &lt;- sqrt(rmsd)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
339 text(0,max(h\$counts),paste("e=",round(rmsd,2),sep=""),pos=4,col="blue")
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
340 ## change e into epsilon somehow
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
341 dev.off()
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
342 }
40
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
343 }
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
344
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
345 if(output_heatmap_plot != "/dev/null") {
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
346
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
347 if(output_format_images == "pdf" || output_format_images == "png") {
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
348 pdf(output_heatmap_plot,width=10.5)
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
349 } else if(output_format_images == "svg") {
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
350 svg(output_heatmap_plot,width=10.5)
67
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
351 ##} else {
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
352 ## png(output_heatmap_plot,width=10.5)
6eb298a5561f Uploaded
yhoogstrate
parents: 65
diff changeset
353 ##}
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
354
40
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
355 etable2 &lt;- topTags(lrt, n=100)\$table
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
356 order &lt;- rownames(etable2)
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
357 cpm_sub &lt;- cpm(dge,normalized.lib.sizes=TRUE,log=TRUE)[as.numeric(order),]
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
358 heatmap(t(cpm_sub))
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
359 dev.off()
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
360 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
361
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
362 ##output_hierarchical_clustering_plot = args[13]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
363
35
fab87cecb3e5 Uploaded
yhoogstrate
parents: 34
diff changeset
364 if(output_RData_obj != "/dev/null") {
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
365 save.image(output_RData_obj)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
366 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
367
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
368 write("Done!",stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
369 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
370 </configfile>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
371 </configfiles>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
372
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
373 <outputs>
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
374 <data format="tabular" name="output_count_edgeR" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - differentially expressed genes" />
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
375 <data format="tabular" name="output_cpm" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - CPM" />
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
376
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
377 <data format="tabular" name="output_raw_counts" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - raw counts">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
378 <filter>outputs and ("make_output_raw_counts" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
379 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
380
59
f20dc31afd5e Uploaded
yhoogstrate
parents: 57
diff changeset
381 <data format="png" name="output_MDSplot" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - MDS-plot">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
382 <filter>outputs and ("make_output_MDSplot" in outputs)</filter>
59
f20dc31afd5e Uploaded
yhoogstrate
parents: 57
diff changeset
383
f20dc31afd5e Uploaded
yhoogstrate
parents: 57
diff changeset
384 <change_format>
f20dc31afd5e Uploaded
yhoogstrate
parents: 57
diff changeset
385 <when input="output_format_images" value="png" format="png" />
f20dc31afd5e Uploaded
yhoogstrate
parents: 57
diff changeset
386 <when input="output_format_images" value="pdf" format="pdf" />
f20dc31afd5e Uploaded
yhoogstrate
parents: 57
diff changeset
387 <when input="output_format_images" value="svg" format="svg" />
f20dc31afd5e Uploaded
yhoogstrate
parents: 57
diff changeset
388 </change_format>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
389 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
390
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
391 <data format="png" name="output_BCVplot" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - BCV-plot">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
392 <filter>outputs and ("make_output_BCVplot" in outputs)</filter>
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
393
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
394 <change_format>
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
395 <when input="output_format_images" value="png" format="png" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
396 <when input="output_format_images" value="pdf" format="pdf" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
397 <when input="output_format_images" value="svg" format="svg" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
398 </change_format>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
399 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
400
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
401 <data format="png" name="output_MAplot" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - MA-plot">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
402 <filter>outputs and ("make_output_MAplot" in outputs)</filter>
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
403
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
404 <change_format>
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
405 <when input="output_format_images" value="png" format="png" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
406 <when input="output_format_images" value="pdf" format="pdf" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
407 <when input="output_format_images" value="svg" format="svg" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
408 </change_format>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
409 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
410
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
411 <data format="png" name="output_PValue_distribution_plot" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - P-Value distribution">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
412 <filter>outputs and ("make_output_PValue_distribution_plot" in outputs)</filter>
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
413
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
414 <change_format>
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
415 <when input="output_format_images" value="png" format="png" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
416 <when input="output_format_images" value="pdf" format="pdf" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
417 <when input="output_format_images" value="svg" format="svg" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
418 </change_format>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
419 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
420
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
421 <data format="png" name="output_hierarchical_clustering_plot" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - Hierarchical custering">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
422 <filter>outputs and ("make_output_hierarchical_clustering_plot" in outputs)</filter>
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
423
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
424 <change_format>
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
425 <when input="output_format_images" value="png" format="png" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
426 <when input="output_format_images" value="pdf" format="pdf" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
427 <when input="output_format_images" value="svg" format="svg" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
428 </change_format>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
429 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
430
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
431 <data format="png" name="output_heatmap_plot" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - Heatmap">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
432 <filter>outputs and ("make_output_heatmap_plot" in outputs)</filter>
60
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
433
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
434 <change_format>
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
435 <when input="output_format_images" value="png" format="png" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
436 <when input="output_format_images" value="pdf" format="pdf" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
437 <when input="output_format_images" value="svg" format="svg" />
c5cc1b24f7d8 Uploaded
yhoogstrate
parents: 59
diff changeset
438 </change_format>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
439 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
440
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
441 <data format="RData" name="output_RData_obj" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - R data object">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
442 <filter>outputs and ("make_output_RData_obj" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
443 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
444
40
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
445 <data format="txt" name="output_R" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - R output (debug)" >
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
446 <filter>outputs and ("make_output_R_stdout" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
447 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
448 </outputs>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
449
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
450 <help>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
451 edgeR: Differential Gene(Expression) Analysis
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
452 #############################################
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
453
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
454 Overview
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
455 --------
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
456 Differential expression analysis of RNA-seq and digital gene expression profiles with biological replication. Uses empirical Bayes estimation and exact tests based on the negative binomial distribution. Also useful for differential signal analysis with other types of genome-scale count data [1].
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
457
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
458 For every experiment, the algorithm requires a design matrix. This matrix describes which samples belong to which groups.
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
459 More details on this are given in the edgeR manual: http://www.bioconductor.org/packages/2.12/bioc/vignettes/edgeR/inst/doc/edgeRUsersGuide.pdf
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
460 and the limma manual.
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
461
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
462 Because the creation of a design matrix can be complex and time consuming, especially if no GUI is used, this package comes with an alternative tool which can help you with it.
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
463 This tool is called *edgeR Design Matrix Creator*.
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
464 If the appropriate design matrix (with corresponding links to the files) is given,
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
465 the correct contrast ( http://en.wikipedia.org/wiki/Contrast_(statistics) ) has to be given.
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
466
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
467 If you have for example two groups, with an equal weight, you would like to compare either
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
468 "g1~g2" or "normal~cancer".
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
469
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
470 The test function makes use of a MCF7 dataset used in a study that indicates that a higher sequencing depth is not neccesairily more important than a higher amount of replaciates[2].
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
471
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
472 Input
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
473 -----
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
474 Expression matrix
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
475 ^^^^^^^^^^^^^^^^^
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
476 ::
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
477
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
478 Geneid "\t" Sample-1 "\t" Sample-2 "\t" Sample-3 "\t" Sample-4 [...] "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
479 SMURF "\t" 123 "\t" 21 "\t" 34545 "\t" 98 ... "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
480 BRCA1 "\t" 435 "\t" 6655 "\t" 45 "\t" 55 ... "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
481 LINK33 "\t" 4 "\t" 645 "\t" 345 "\t" 1 ... "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
482 SNORD78 "\t" 498 "\t" 65 "\t" 98 "\t" 27 ... "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
483 [...]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
484
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
485 *Note: Make sure the number of columns in the header is identical to the number of columns in the body.*
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
486
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
487 Design matrix
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
488 ^^^^^^^^^^^^^
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
489 ::
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
490
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
491 Sample "\t" Condition "\t" Ethnicity "\t" Patient "\t" Batch "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
492 Sample-1 "\t" Tumor "\t" European "\t" 1 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
493 Sample-2 "\t" Normal "\t" European "\t" 1 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
494 Sample-3 "\t" Tumor "\t" European "\t" 2 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
495 Sample-4 "\t" Normal "\t" European "\t" 2 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
496 Sample-5 "\t" Tumor "\t" African "\t" 3 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
497 Sample-6 "\t" Normal "\t" African "\t" 3 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
498 Sample-7 "\t" Tumor "\t" African "\t" 4 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
499 Sample-8 "\t" Normal "\t" African "\t" 4 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
500 Sample-9 "\t" Tumor "\t" Asian "\t" 5 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
501 Sample-10 "\t" Normal "\t" Asian "\t" 5 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
502 Sample-11 "\t" Tumor "\t" Asian "\t" 6 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
503 Sample-12 "\t" Normal "\t" Asian "\t" 6 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
504
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
505 *Note: Avoid factor names that are (1) numerical, (2) contain mathematical symbols and preferebly only use letters.*
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
506
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
507 Contrast
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
508 ^^^^^^^^
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
509 The contrast represents the biological question. There can be many questions asked, e.g.:
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
510
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
511 - Tumor-Normal
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
512 - African-European
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
513 - 0.5*(Control+Placebo) / Treated
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
514
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
515 Installation
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
516 ------------
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
517
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
518 This tool requires no specific configurations. The following dependencies are installed automatically:
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
519
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
520 - R
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
521 - Bioconductor
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
522 - limma
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
523
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
524 - edgeR
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
525
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
526 License
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
527 -------
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
528 - R
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
529 - GPL-2 &amp; GPL-3
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
530 - limma
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
531 - GPL (&gt;=2)
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
532 - edgeR
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
533 - GPL (&gt;=2)
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
534
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
535 References
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
536 ----------
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
537
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
538 EdgeR
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
539 ^^^^^
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
540 **[1] edgeR: a Bioconductor package for differential expression analysis of digital gene expression data.**
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
541
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
542 *Mark D. Robinson, Davis J. McCarthy and Gordon K. Smyth* - Bioinformatics (2010) 26 (1): 139-140.
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
543
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
544 - http://www.bioconductor.org/packages/2.12/bioc/html/edgeR.html
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
545 - http://dx.doi.org/10.1093/bioinformatics/btp616
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
546 - http://www.bioconductor.org/packages/release/bioc/html/edgeR.html
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
547
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
548 Test-data (MCF7)
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
549 ^^^^^^^^^^^^^^^^
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
550 **[2] RNA-seq differential expression studies: more sequence or more replication?**
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
551
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
552 *Yuwen Liu, Jie Zhou and Kevin P. White* - Bioinformatics (2014) 30 (3): 301-304.
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
553
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
554 - http://www.ncbi.nlm.nih.gov/pubmed/24319002
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
555 - http://dx.doi.org/10.1093/bioinformatics/btt688
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
556
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
557 Contact
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
558 -------
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
559 The tool wrapper has been written by Youri Hoogstrate from the Erasmus Medical Center (Rotterdam, Netherlands) on behalf of the Translational Research IT (TraIT) project:
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
560 http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
561
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
562 I would like to thank Hina Riaz - Naz Khan for her helpful contribution.
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
563
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
564 More tools by the Translational Research IT (TraIT) project can be found in the following repository:
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
565 http://testtoolshed.g2.bx.psu.edu/
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
566 </help>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
567 </tool>