annotate edgeR_Differential_Gene_Expression.xml @ 58:bcc237ae7050 draft

Uploaded
author yhoogstrate
date Mon, 25 Aug 2014 07:42:18 -0400
parents 25b54356ecfb
children f20dc31afd5e
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 capabilities()
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
243 ##x11()
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
244 pdf(output_MDSplot)
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
245 } else if(output_format_images == "svg") {
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
246 svg(output_MDSplot)
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
247 } else {
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
248 png(output_MDSplot)
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
249 }
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
250
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
251 diff_x &lt;- abs(max(points\$x)-min(points\$x))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
252 diff_y &lt;-(max(points\$y)-min(points\$y))
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
253 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
254 points(points\$x,points\$y,pch=20)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
255 text(points\$x, points\$y,rownames(dge\$samples),cex=0.7,col="gray",pos=4)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
256 rm(diff_x,diff_y)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
257
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
258 dev.off()
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
259 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
260
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
261 if(output_BCVplot != "/dev/null") {
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
262 write("Creating Biological coefficient of variation plot",stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
263 pdf(output_BCVplot)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
264 plotBCV(dge, cex=0.4, main="edgeR: Biological coefficient of variation (BCV) vs abundance")
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
265 dev.off()
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
266 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
267
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
268
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
269 write("Fitting GLM...",stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
270 fit &lt;- glmFit(dge,design)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
271
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
272 write(paste("Performing likelihood ratio test: ",contrast,sep=""),stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
273 cont &lt;- c(contrast)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
274 cont &lt;- makeContrasts(contrasts=cont, levels=design)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
275
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
276 lrt &lt;- glmLRT(fit, contrast=cont[,1])
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
277 write(paste("Exporting to file: ",output_count_edgeR,sep=""),stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
278 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
279 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
280
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
281 ## todo EXPORT FPKM
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
282 write.table(file=output_raw_counts,dge\$counts,sep="\t",row.names=TRUE,col.names=NA)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
283
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
284
34
a36a9af266e5 Uploaded
yhoogstrate
parents: 33
diff changeset
285 if(output_MAplot != "/dev/null" || output_PValue_distribution_plot != "/dev/null") {
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
286 etable &lt;- topTags(lrt, n=nrow(dge))\$table
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
287 etable &lt;- etable[order(etable\$FDR), ]
32
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
288
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
289 if(output_MAplot != "/dev/null") {
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
290 write("Creating MA plot...",stdout())
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
291 pdf(output_MAplot)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
292 with(etable, plot(logCPM, logFC, pch=20, main="edgeR: Fold change vs abundance"))
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
293 with(subset(etable, FDR &lt; fdr), points(logCPM, logFC, pch=20, col="red"))
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
294 abline(h=c(-1,1), col="blue")
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
295 dev.off()
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
296 }
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
297
32
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
298 if(output_PValue_distribution_plot != "/dev/null") {
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
299 write("Creating P-value distribution plot...",stdout())
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
300 pdf(output_PValue_distribution_plot)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
301 expressed_genes &lt;- subset(etable, PValue &lt; 0.99)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
302 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
303 center &lt;- sum(h\$counts) / length(h\$counts)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
304 lines(c(0,1),c(center,center),lty=2,col="red",lwd=2)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
305 k &lt;- ksmooth(h\$mid, h\$counts)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
306 lines(k\$x,k\$y,col="red",lwd=2)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
307 rmsd &lt;- (h\$counts) - center
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
308 rmsd &lt;- rmsd^2
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
309 rmsd &lt;- sum(rmsd)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
310 rmsd &lt;- sqrt(rmsd)
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
311 text(0,max(h\$counts),paste("e=",round(rmsd,2),sep=""),pos=4,col="blue")
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
312 ## change e into epsilon somehow
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
313 dev.off()
87bf067cfc53 Uploaded
yhoogstrate
parents: 29
diff changeset
314 }
40
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
315 }
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
316
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
317 if(output_heatmap_plot != "/dev/null") {
42
af6e8c45d142 Uploaded
yhoogstrate
parents: 41
diff changeset
318 pdf(output_heatmap_plot,width=10.5)
40
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
319 etable2 &lt;- topTags(lrt, n=100)\$table
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
320 order &lt;- rownames(etable2)
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
321 cpm_sub &lt;- cpm(dge,normalized.lib.sizes=TRUE,log=TRUE)[as.numeric(order),]
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
322 heatmap(t(cpm_sub))
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
323 dev.off()
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
324 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
325
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
326 ##output_hierarchical_clustering_plot = args[13]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
327
35
fab87cecb3e5 Uploaded
yhoogstrate
parents: 34
diff changeset
328 if(output_RData_obj != "/dev/null") {
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
329 save.image(output_RData_obj)
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
330 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
331
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
332 write("Done!",stdout())
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
333 }
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
334 </configfile>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
335 </configfiles>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
336
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
337 <outputs>
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
338 <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
339 <data format="tabular" name="output_cpm" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - CPM" />
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
340
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
341 <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
342 <filter>outputs and ("make_output_raw_counts" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
343 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
344
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
345 <data format="${output_format_images}" name="output_MDSplot" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - MDS-plot">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
346 <filter>outputs and ("make_output_MDSplot" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
347 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
348
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
349 <data format="${output_format_images}" name="output_BCVplot" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - BCV-plot">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
350 <filter>outputs and ("make_output_BCVplot" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
351 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
352
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
353 <data format="${output_format_images}" name="output_MAplot" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - MA-plot">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
354 <filter>outputs and ("make_output_MAplot" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
355 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
356
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
357 <data format="${output_format_images}" 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
358 <filter>outputs and ("make_output_PValue_distribution_plot" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
359 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
360
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
361 <data format="${output_format_images}" 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
362 <filter>outputs and ("make_output_hierarchical_clustering_plot" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
363 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
364
55
8c63794c3d3e Uploaded
yhoogstrate
parents: 53
diff changeset
365 <data format="${output_format_images}" name="output_heatmap_plot" label="edgeR DGE on ${design_matrix.hid}: ${design_matrix.name} - Heatmap">
53
b89788eead3c Uploaded
yhoogstrate
parents: 45
diff changeset
366 <filter>outputs and ("make_output_heatmap_plot" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
367 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
368
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
369 <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
370 <filter>outputs and ("make_output_RData_obj" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
371 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
372
40
d9c9caf4e182 Uploaded
yhoogstrate
parents: 39
diff changeset
373 <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
374 <filter>outputs and ("make_output_R_stdout" in outputs)</filter>
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
375 </data>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
376 </outputs>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
377
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
378 <help>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
379 edgeR: Differential Gene(Expression) Analysis
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
380 #############################################
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
381
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
382 Overview
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
383 --------
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
384 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
385
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
386 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
387 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
388 and the limma manual.
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
389
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
390 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
391 This tool is called *edgeR Design Matrix Creator*.
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
392 If the appropriate design matrix (with corresponding links to the files) is given,
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
393 the correct contrast ( http://en.wikipedia.org/wiki/Contrast_(statistics) ) has to be given.
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
394
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
395 If you have for example two groups, with an equal weight, you would like to compare either
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
396 "g1~g2" or "normal~cancer".
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
397
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
398 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
399
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
400 Input
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
401 -----
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
402 Expression matrix
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
403 ^^^^^^^^^^^^^^^^^
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
404 ::
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
405
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
406 Geneid "\t" Sample-1 "\t" Sample-2 "\t" Sample-3 "\t" Sample-4 [...] "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
407 SMURF "\t" 123 "\t" 21 "\t" 34545 "\t" 98 ... "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
408 BRCA1 "\t" 435 "\t" 6655 "\t" 45 "\t" 55 ... "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
409 LINK33 "\t" 4 "\t" 645 "\t" 345 "\t" 1 ... "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
410 SNORD78 "\t" 498 "\t" 65 "\t" 98 "\t" 27 ... "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
411 [...]
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
412
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
413 *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
414
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
415 Design matrix
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
416 ^^^^^^^^^^^^^
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
417 ::
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
418
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
419 Sample "\t" Condition "\t" Ethnicity "\t" Patient "\t" Batch "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
420 Sample-1 "\t" Tumor "\t" European "\t" 1 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
421 Sample-2 "\t" Normal "\t" European "\t" 1 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
422 Sample-3 "\t" Tumor "\t" European "\t" 2 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
423 Sample-4 "\t" Normal "\t" European "\t" 2 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
424 Sample-5 "\t" Tumor "\t" African "\t" 3 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
425 Sample-6 "\t" Normal "\t" African "\t" 3 "\t" 1 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
426 Sample-7 "\t" Tumor "\t" African "\t" 4 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
427 Sample-8 "\t" Normal "\t" African "\t" 4 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
428 Sample-9 "\t" Tumor "\t" Asian "\t" 5 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
429 Sample-10 "\t" Normal "\t" Asian "\t" 5 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
430 Sample-11 "\t" Tumor "\t" Asian "\t" 6 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
431 Sample-12 "\t" Normal "\t" Asian "\t" 6 "\t" 2 "\n"
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
432
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
433 *Note: Avoid factor names that are (1) numerical, (2) contain mathematical symbols and preferebly only use letters.*
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
434
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
435 Contrast
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
436 ^^^^^^^^
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
437 The contrast represents the biological question. There can be many questions asked, e.g.:
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
438
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
439 - Tumor-Normal
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
440 - African-European
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
441 - 0.5*(Control+Placebo) / Treated
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
442
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
443 Installation
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
444 ------------
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
445
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
446 This tool requires no specific configurations. The following dependencies are installed automatically:
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
447
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
448 - R
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
449 - Bioconductor
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
450 - limma
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
451
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
452 - edgeR
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
453
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
454 License
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
455 -------
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
456 - R
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
457 - GPL-2 &amp; GPL-3
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
458 - limma
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
459 - GPL (&gt;=2)
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
460 - edgeR
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
461 - GPL (&gt;=2)
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
462
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
463 References
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
464 ----------
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
465
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
466 EdgeR
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
467 ^^^^^
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
468 **[1] edgeR: a Bioconductor package for differential expression analysis of digital gene expression data.**
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
469
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
470 *Mark D. Robinson, Davis J. McCarthy and Gordon K. Smyth* - Bioinformatics (2010) 26 (1): 139-140.
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
471
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
472 - http://www.bioconductor.org/packages/2.12/bioc/html/edgeR.html
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
473 - http://dx.doi.org/10.1093/bioinformatics/btp616
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
474 - http://www.bioconductor.org/packages/release/bioc/html/edgeR.html
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
475
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
476 Test-data (MCF7)
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
477 ^^^^^^^^^^^^^^^^
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
478 **[2] RNA-seq differential expression studies: more sequence or more replication?**
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
479
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
480 *Yuwen Liu, Jie Zhou and Kevin P. White* - Bioinformatics (2014) 30 (3): 301-304.
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
481
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
482 - http://www.ncbi.nlm.nih.gov/pubmed/24319002
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
483 - http://dx.doi.org/10.1093/bioinformatics/btt688
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
484
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
485 Contact
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
486 -------
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
487 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
488 http://www.ctmm.nl/en/programmas/infrastructuren/traitprojecttranslationeleresearch
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
489
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
490 I would like to thank Hina Riaz - Naz Khan for her helpful contribution.
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
491
36
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
492 More tools by the Translational Research IT (TraIT) project can be found in the following repository:
185effd01633 Uploaded
yhoogstrate
parents: 35
diff changeset
493 http://testtoolshed.g2.bx.psu.edu/
25
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
494 </help>
7cb518091b18 Uploaded
yhoogstrate
parents:
diff changeset
495 </tool>