annotate edgeR_Differential_Gene_Expression.xml @ 61:415b1fabdd4a draft

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