annotate rgedgeR/rgedgeRpaired.xml @ 22:79e3d80d34f9 draft

Uploaded
author fubar
date Sat, 27 Jul 2013 22:01:16 -0400
parents 1ba6b7c6f4df
children 37b851eb8203
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
1 <tool id="rgDifferentialCount" name="Differential_Count" version="0.20">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
2 <description>models using BioConductor packages</description>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
3 <requirements>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
4 <requirement type="package" version="2.12">biocbasics</requirement>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
5 <requirement type="package" version="3.0.1">r3</requirement>
5
f1e6a5f8a611 Uploaded
fubar
parents: 2
diff changeset
6 <requirement type="package" version="1.3.18">graphicsmagick</requirement>
1
df4fea3be1b3 Uploaded
fubar
parents: 0
diff changeset
7 <requirement type="package" version="9.07">ghostscript</requirement>
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
8 </requirements>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
9
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
10 <command interpreter="python">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
11 rgToolFactory.py --script_path "$runme" --interpreter "Rscript" --tool_name "DifferentialCounts"
8
a4edc1360ea9 Uploaded
fubar
parents: 7
diff changeset
12 --output_dir "$html_file.files_path" --output_html "$html_file" --make_HTML "yes"
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
13 </command>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
14 <inputs>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
15 <param name="input1" type="data" format="tabular" label="Select an input matrix - rows are contigs, columns are counts for each sample"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
16 help="Use the HTSeq based count matrix preparation tool to create these matrices from BAM/SAM files and a GTF file of genomic features"/>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
17 <param name="title" type="text" value="Differential Counts" size="80" label="Title for job outputs"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
18 help="Supply a meaningful name here to remind you what the outputs contain">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
19 <sanitizer invalid_char="">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
20 <valid initial="string.letters,string.digits"><add value="_" /> </valid>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
21 </sanitizer>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
22 </param>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
23 <param name="treatment_name" type="text" value="Treatment" size="50" label="Treatment Name"/>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
24 <param name="Treat_cols" label="Select columns containing treatment." type="data_column" data_ref="input1" numerical="True"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
25 multiple="true" use_header_names="true" size="120" display="checkboxes">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
26 <validator type="no_options" message="Please select at least one column."/>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
27 </param>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
28 <param name="control_name" type="text" value="Control" size="50" label="Control Name"/>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
29 <param name="Control_cols" label="Select columns containing control." type="data_column" data_ref="input1" numerical="True"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
30 multiple="true" use_header_names="true" size="120" display="checkboxes" optional="true">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
31 </param>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
32 <param name="subjectids" type="text" optional="true" size="120" value = ""
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
33 label="IF SUBJECTS NOT ALL INDEPENDENT! Enter integers to indicate sample pairing for every column in input"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
34 help="Leave blank if no pairing, but eg if data from sample id A99 is in columns 2,4 and id C21 is in 3,5 then enter '1,2,1,2'">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
35 <sanitizer>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
36 <valid initial="string.digits"><add value="," /> </valid>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
37 </sanitizer>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
38 </param>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
39 <param name="fQ" type="float" value="0.3" size="5" label="Non-differential contig count quantile threshold - zero to analyze all non-zero read count contigs"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
40 help="May be a good or a bad idea depending on the biology and the question. EG 0.3 = sparsest 30% of contigs with at least one read are removed before analysis"/>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
41 <param name="useNDF" type="boolean" truevalue="T" falsevalue="F" checked="false" size="1"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
42 label="Non differential filter - remove contigs below a threshold (1 per million) for half or more samples"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
43 help="May be a good or a bad idea depending on the biology and the question. This was the old default. Quantile based is available as an alternative"/>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
44
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
45 <conditional name="edgeR">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
46 <param name="doedgeR" type="select"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
47 label="Run this model using edgeR"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
48 help="edgeR uses a negative binomial model and seems to be powerful, even with few replicates">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
49 <option value="F">Do not run edgeR</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
50 <option value="T" selected="true">Run edgeR</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
51 </param>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
52 <when value="T">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
53 <param name="edgeR_priordf" type="integer" value="20" size="3"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
54 label="prior.df for tagwise dispersion - lower value = more emphasis on each tag's variance. Replaces prior.n and prior.df = prior.n * residual.df"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
55 help="0 = Use edgeR default. Use a small value to 'smooth' small samples. See edgeR docs and note below"/>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
56 </when>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
57 <when value="F"> </when>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
58 </conditional>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
59 <conditional name="DESeq2">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
60 <param name="doDESeq2" type="select"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
61 label="Run the same model with DESeq2 and compare findings"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
62 help="DESeq2 is an update to the DESeq package. It uses different assumptions and methods to edgeR">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
63 <option value="F" selected="true">Do not run DESeq2</option>
17
b1cf0745bde5 Uploaded
fubar
parents: 16
diff changeset
64 <option value="T">Run DESeq2</option>
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
65 </param>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
66 <when value="T">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
67 <param name="DESeq_fitType" type="select">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
68 <option value="parametric" selected="true">Parametric (default) fit for dispersions</option>
17
b1cf0745bde5 Uploaded
fubar
parents: 16
diff changeset
69 <option value="local">Local fit - this will automagically be used if parametric fit fails</option>
b1cf0745bde5 Uploaded
fubar
parents: 16
diff changeset
70 <option value="mean">Mean dispersion fit- use this if you really understand what you're doing - read the fine manual linked below in the documentation</option>
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
71 </param>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
72 </when>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
73 <when value="F"> </when>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
74 </conditional>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
75 <param name="doVoom" type="select"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
76 label="Run the same model with Voom/limma and compare findings"
17
b1cf0745bde5 Uploaded
fubar
parents: 16
diff changeset
77 help="Voom uses counts per million and a precise transformation of variance so count data can be analysed using limma">
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
78 <option value="F" selected="true">Do not run VOOM</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
79 <option value="T">Run VOOM</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
80 </param>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
81 <param name="fdrthresh" type="float" value="0.05" size="5" label="P value threshold for FDR filtering for amily wise error rate control"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
82 help="Conventional default value of 0.05 recommended"/>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
83 <param name="fdrtype" type="select" label="FDR (Type II error) control method"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
84 help="Use fdr or bh typically to control for the number of tests in a reliable way">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
85 <option value="fdr" selected="true">fdr</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
86 <option value="BH">Benjamini Hochberg</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
87 <option value="BY">Benjamini Yukateli</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
88 <option value="bonferroni">Bonferroni</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
89 <option value="hochberg">Hochberg</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
90 <option value="holm">Holm</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
91 <option value="hommel">Hommel</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
92 <option value="none">no control for multiple tests</option>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
93 </param>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
94 </inputs>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
95 <outputs>
7
8c0405de0695 Uploaded
fubar
parents: 5
diff changeset
96 <data format="tabular" name="out_edgeR" label="${title}_topTable_edgeR.xls">
9
2e35432ee040 Uploaded
fubar
parents: 8
diff changeset
97 <filter>edgeR['doedgeR'] == "T"</filter>
7
8c0405de0695 Uploaded
fubar
parents: 5
diff changeset
98 </data>
8c0405de0695 Uploaded
fubar
parents: 5
diff changeset
99 <data format="tabular" name="out_DESeq2" label="${title}_topTable_DESeq2.xls">
9
2e35432ee040 Uploaded
fubar
parents: 8
diff changeset
100 <filter>DESeq2['doDESeq2'] == "T"</filter>
7
8c0405de0695 Uploaded
fubar
parents: 5
diff changeset
101 </data>
8c0405de0695 Uploaded
fubar
parents: 5
diff changeset
102 <data format="tabular" name="out_VOOM" label="${title}_topTable_VOOM.xls">
8c0405de0695 Uploaded
fubar
parents: 5
diff changeset
103 <filter>doVoom == "T"</filter>
8c0405de0695 Uploaded
fubar
parents: 5
diff changeset
104 </data>
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
105 <data format="html" name="html_file" label="${title}.html"/>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
106 </outputs>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
107 <stdio>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
108 <exit_code range="4" level="fatal" description="Number of subject ids must match total number of samples in the input matrix" />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
109 </stdio>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
110 <tests>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
111 <test>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
112 <param name='input1' value='test_bams2mx.xls' ftype='tabular' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
113 <param name='treatment_name' value='case' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
114 <param name='title' value='edgeRtest' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
115 <param name='useNDF' value='' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
116 <param name='doedgeR' value='T' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
117 <param name='doVoom' value='T' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
118 <param name='doDESeq2' value='T' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
119 <param name='fdrtype' value='fdr' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
120 <param name='edgeR_priordf' value="8" />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
121 <param name='fdrthresh' value="0.05" />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
122 <param name='control_name' value='control' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
123 <param name='subjectids' value='' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
124 <param name='Treat_cols' value='3,4,5,9' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
125 <param name='Control_cols' value='2,6,7,8' />
8
a4edc1360ea9 Uploaded
fubar
parents: 7
diff changeset
126 <output name='out_edgeR' file='edgeRtest1out.xls' compare='diff' />
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
127 <output name='html_file' file='edgeRtest1out.html' compare='diff' lines_diff='20' />
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
128 </test>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
129 </tests>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
130
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
131 <configfiles>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
132 <configfile name="runme">
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
133 <![CDATA[
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
134 #
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
135 # edgeR.Rscript
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
136 # updated npv 2011 for R 2.14.0 and edgeR 2.4.0 by ross
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
137 # Performs DGE on a count table containing n replicates of two conditions
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
138 #
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
139 # Parameters
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
140 #
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
141 # 1 - Output Dir
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
142
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
143 # Original edgeR code by: S.Lunke and A.Kaspi
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
144 reallybig = log10(.Machine\$double.xmax)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
145 reallysmall = log10(.Machine\$double.xmin)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
146 library('stringr')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
147 library('gplots')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
148 library('edgeR')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
149 hmap2 = function(cmat,nsamp=100,outpdfname='heatmap2.pdf', TName='Treatment',group=NA,myTitle='title goes here')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
150 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
151 # Perform clustering for significant pvalues after controlling FWER
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
152 samples = colnames(cmat)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
153 gu = unique(group)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
154 if (length(gu) == 2) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
155 col.map = function(g) {if (g==gu[1]) "#FF0000" else "#0000FF"}
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
156 pcols = unlist(lapply(group,col.map))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
157 } else {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
158 colours = rainbow(length(gu),start=0,end=4/6)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
159 pcols = colours[match(group,gu)] }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
160 gn = rownames(cmat)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
161 dm = cmat[(! is.na(gn)),]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
162 # remove unlabelled hm rows
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
163 nprobes = nrow(dm)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
164 # sub = paste('Showing',nprobes,'contigs ranked for evidence of differential abundance')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
165 if (nprobes > nsamp) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
166 dm =dm[1:nsamp,]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
167 #sub = paste('Showing',nsamp,'contigs ranked for evidence for differential abundance out of',nprobes,'total')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
168 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
169 newcolnames = substr(colnames(dm),1,20)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
170 colnames(dm) = newcolnames
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
171 pdf(outpdfname)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
172 heatmap.2(dm,main=myTitle,ColSideColors=pcols,col=topo.colors(100),dendrogram="col",key=T,density.info='none',
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
173 Rowv=F,scale='row',trace='none',margins=c(8,8),cexRow=0.4,cexCol=0.5)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
174 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
175 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
176
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
177 hmap = function(cmat,nmeans=4,outpdfname="heatMap.pdf",nsamp=250,TName='Treatment',group=NA,myTitle="Title goes here")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
178 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
179 # for 2 groups only was
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
180 #col.map = function(g) {if (g==TName) "#FF0000" else "#0000FF"}
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
181 #pcols = unlist(lapply(group,col.map))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
182 gu = unique(group)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
183 colours = rainbow(length(gu),start=0.3,end=0.6)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
184 pcols = colours[match(group,gu)]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
185 nrows = nrow(cmat)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
186 mtitle = paste(myTitle,'Heatmap: n contigs =',nrows)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
187 if (nrows > nsamp) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
188 cmat = cmat[c(1:nsamp),]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
189 mtitle = paste('Heatmap: Top ',nsamp,' DE contigs (of ',nrows,')',sep='')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
190 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
191 newcolnames = substr(colnames(cmat),1,20)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
192 colnames(cmat) = newcolnames
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
193 pdf(outpdfname)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
194 heatmap(cmat,scale='row',main=mtitle,cexRow=0.3,cexCol=0.4,Rowv=NA,ColSideColors=pcols)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
195 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
196 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
197
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
198 qqPlot = function(descr='qqplot',pvector, outpdf='qqplot.pdf',...)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
199 # stolen from https://gist.github.com/703512
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
200 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
201 o = -log10(sort(pvector,decreasing=F))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
202 e = -log10( 1:length(o)/length(o) )
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
203 o[o==-Inf] = reallysmall
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
204 o[o==Inf] = reallybig
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
205 maint = descr
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
206 pdf(outpdf)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
207 plot(e,o,pch=19,cex=1, main=maint, ...,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
208 xlab=expression(Expected~~-log[10](italic(p))),
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
209 ylab=expression(Observed~~-log[10](italic(p))),
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
210 xlim=c(0,max(e)), ylim=c(0,max(o)))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
211 lines(e,e,col="red")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
212 grid(col = "lightgray", lty = "dotted")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
213 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
214 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
215
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
216 smearPlot = function(DGEList,deTags, outSmear, outMain)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
217 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
218 pdf(outSmear)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
219 plotSmear(DGEList,de.tags=deTags,main=outMain)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
220 grid(col="lightgray", lty="dotted")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
221 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
222 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
223
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
224 boxPlot = function(rawrs,cleanrs,maint,myTitle,pdfname)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
225 { #
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
226 nc = ncol(rawrs)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
227 for (i in c(1:nc)) {rawrs[(rawrs[,i] < 0),i] = NA}
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
228 fullnames = colnames(rawrs)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
229 newcolnames = substr(colnames(rawrs),1,20)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
230 colnames(rawrs) = newcolnames
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
231 newcolnames = substr(colnames(cleanrs),1,20)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
232 colnames(cleanrs) = newcolnames
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
233 defpar = par(no.readonly=T)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
234 print.noquote('raw contig counts by sample:')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
235 print.noquote(summary(rawrs))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
236 print.noquote('normalised contig counts by sample:')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
237 print.noquote(summary(cleanrs))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
238 pdf(pdfname)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
239 par(mfrow=c(1,2))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
240 boxplot(rawrs,varwidth=T,notch=T,ylab='log contig count',col="maroon",las=3,cex.axis=0.35,main=paste('Raw:',maint))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
241 grid(col="lightgray",lty="dotted")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
242 boxplot(cleanrs,varwidth=T,notch=T,ylab='log contig count',col="maroon",las=3,cex.axis=0.35,main=paste('After ',maint))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
243 grid(col="lightgray",lty="dotted")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
244 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
245 pdfname = "sample_counts_histogram.pdf"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
246 nc = ncol(rawrs)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
247 print.noquote(paste('Using ncol rawrs=',nc))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
248 ncroot = round(sqrt(nc))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
249 if (ncroot*ncroot < nc) { ncroot = ncroot + 1 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
250 m = c()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
251 for (i in c(1:nc)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
252 rhist = hist(rawrs[,i],breaks=100,plot=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
253 m = append(m,max(rhist\$counts))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
254 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
255 ymax = max(m)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
256 pdf(pdfname)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
257 par(mfrow=c(ncroot,ncroot))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
258 for (i in c(1:nc)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
259 hist(rawrs[,i], main=paste("Contig logcount",i), xlab='log raw count', col="maroon",
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
260 breaks=100,sub=fullnames[i],cex=0.8,ylim=c(0,ymax))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
261 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
262 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
263 par(defpar)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
264
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
265 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
266
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
267 cumPlot = function(rawrs,cleanrs,maint,myTitle)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
268 { # updated to use ecdf
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
269 pdfname = "Filtering_rowsum_bar_charts.pdf"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
270 defpar = par(no.readonly=T)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
271 lrs = log(rawrs,10)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
272 lim = max(lrs)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
273 pdf(pdfname)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
274 par(mfrow=c(2,1))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
275 hist(lrs,breaks=100,main=paste('Before:',maint),xlab="# Reads (log)",
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
276 ylab="Count",col="maroon",sub=myTitle, xlim=c(0,lim),las=1)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
277 grid(col="lightgray", lty="dotted")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
278 lrs = log(cleanrs,10)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
279 hist(lrs,breaks=100,main=paste('After:',maint),xlab="# Reads (log)",
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
280 ylab="Count",col="maroon",sub=myTitle,xlim=c(0,lim),las=1)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
281 grid(col="lightgray", lty="dotted")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
282 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
283 par(defpar)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
284 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
285
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
286 cumPlot1 = function(rawrs,cleanrs,maint,myTitle)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
287 { # updated to use ecdf
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
288 pdfname = paste(gsub(" ","", myTitle , fixed=TRUE),"RowsumCum.pdf",sep='_')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
289 pdf(pdfname)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
290 par(mfrow=c(2,1))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
291 lastx = max(rawrs)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
292 rawe = knots(ecdf(rawrs))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
293 cleane = knots(ecdf(cleanrs))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
294 cy = 1:length(cleane)/length(cleane)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
295 ry = 1:length(rawe)/length(rawe)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
296 plot(rawe,ry,type='l',main=paste('Before',maint),xlab="Log Contig Total Reads",
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
297 ylab="Cumulative proportion",col="maroon",log='x',xlim=c(1,lastx),sub=myTitle)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
298 grid(col="blue")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
299 plot(cleane,cy,type='l',main=paste('After',maint),xlab="Log Contig Total Reads",
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
300 ylab="Cumulative proportion",col="maroon",log='x',xlim=c(1,lastx),sub=myTitle)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
301 grid(col="blue")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
302 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
303 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
304
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
305
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
306
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
307 doGSEA = function(y=NULL,design=NULL,histgmt="",
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
308 bigmt="/data/genomes/gsea/3.1/Abetterchoice_nocgp_c2_c3_c5_symbols_all.gmt",
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
309 ntest=0, myTitle="myTitle", outfname="GSEA.xls", minnin=5, maxnin=2000,fdrthresh=0.05,fdrtype="BH")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
310 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
311 sink('Camera.log')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
312 genesets = c()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
313 if (bigmt > "")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
314 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
315 bigenesets = readLines(bigmt)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
316 genesets = bigenesets
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
317 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
318 if (histgmt > "")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
319 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
320 hgenesets = readLines(histgmt)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
321 if (bigmt > "") {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
322 genesets = rbind(genesets,hgenesets)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
323 } else {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
324 genesets = hgenesets
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
325 } # use only history if no bi
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
326 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
327 print.noquote(paste("@@@read",length(genesets), 'genesets from',histgmt,bigmt))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
328 genesets = strsplit(genesets,'\t') # tabular. genesetid\tURLorwhatever\tgene_1\t..\tgene_n
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
329 outf = outfname
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
330 head=paste(myTitle,'edgeR GSEA')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
331 write(head,file=outfname,append=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
332 ntest=length(genesets)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
333 urownames = toupper(rownames(y))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
334 upcam = c()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
335 downcam = c()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
336 for (i in 1:ntest) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
337 gs = unlist(genesets[i])
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
338 g = gs[1] # geneset_id
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
339 u = gs[2]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
340 if (u > "") { u = paste("<a href=\'",u,"\'>",u,"</a>",sep="") }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
341 glist = gs[3:length(gs)] # member gene symbols
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
342 glist = toupper(glist)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
343 inglist = urownames %in% glist
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
344 nin = sum(inglist)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
345 if ((nin > minnin) && (nin < maxnin)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
346 ### print(paste('@@found',sum(inglist),'genes in glist'))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
347 camres = camera(y=y,index=inglist,design=design)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
348 if (! is.null(camres)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
349 rownames(camres) = g # gene set name
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
350 camres = cbind(GeneSet=g,URL=u,camres)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
351 if (camres\$Direction == "Up")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
352 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
353 upcam = rbind(upcam,camres) } else {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
354 downcam = rbind(downcam,camres)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
355 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
356 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
357 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
358 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
359 uscam = upcam[order(upcam\$PValue),]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
360 unadjp = uscam\$PValue
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
361 uscam\$adjPValue = p.adjust(unadjp,method=fdrtype)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
362 nup = max(10,sum((uscam\$adjPValue < fdrthresh)))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
363 dscam = downcam[order(downcam\$PValue),]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
364 unadjp = dscam\$PValue
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
365 dscam\$adjPValue = p.adjust(unadjp,method=fdrtype)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
366 ndown = max(10,sum((dscam\$adjPValue < fdrthresh)))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
367 write.table(uscam,file=paste('camera_up',outfname,sep='_'),quote=F,sep='\t',row.names=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
368 write.table(dscam,file=paste('camera_down',outfname,sep='_'),quote=F,sep='\t',row.names=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
369 print.noquote(paste('@@@@@ Camera up top',nup,'gene sets:'))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
370 write.table(head(uscam,nup),file="",quote=F,sep='\t',row.names=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
371 print.noquote(paste('@@@@@ Camera down top',ndown,'gene sets:'))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
372 write.table(head(dscam,ndown),file="",quote=F,sep='\t',row.names=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
373 sink()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
374 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
375
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
376
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
377
12
aa528c834664 Uploaded
fubar
parents: 11
diff changeset
378 edgeIt = function (Count_Matrix=c(),group=c(),out_edgeR=F,out_VOOM=F,out_DESeq2=F,fdrtype='fdr',priordf=5,
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
379 fdrthresh=0.05,outputdir='.', myTitle='Differential Counts',libSize=c(),useNDF=F,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
380 filterquantile=0.2, subjects=c(),mydesign=NULL,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
381 doDESeq2=T,doVoom=T,doCamera=T,doedgeR=T,org='hg19',
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
382 histgmt="", bigmt="/data/genomes/gsea/3.1/Abetterchoice_nocgp_c2_c3_c5_symbols_all.gmt",
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
383 doCook=F,DESeq_fitType="parameteric")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
384 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
385 # Error handling
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
386 if (length(unique(group))!=2){
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
387 print("Number of conditions identified in experiment does not equal 2")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
388 q()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
389 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
390 require(edgeR)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
391 options(width = 512)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
392 mt = paste(unlist(strsplit(myTitle,'_')),collapse=" ")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
393 allN = nrow(Count_Matrix)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
394 nscut = round(ncol(Count_Matrix)/2)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
395 colTotmillionreads = colSums(Count_Matrix)/1e6
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
396 counts.dataframe = as.data.frame(c())
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
397 rawrs = rowSums(Count_Matrix)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
398 nonzerod = Count_Matrix[(rawrs > 0),] # remove all zero count genes
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
399 nzN = nrow(nonzerod)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
400 nzrs = rowSums(nonzerod)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
401 zN = allN - nzN
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
402 print('# Quantiles for non-zero row counts:',quote=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
403 print(quantile(nzrs,probs=seq(0,1,0.1)),quote=F)
13
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
404 if (useNDF == T)
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
405 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
406 gt1rpin3 = rowSums(Count_Matrix/expandAsMatrix(colTotmillionreads,dim(Count_Matrix)) >= 1) >= nscut
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
407 lo = colSums(Count_Matrix[!gt1rpin3,])
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
408 workCM = Count_Matrix[gt1rpin3,]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
409 cleanrs = rowSums(workCM)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
410 cleanN = length(cleanrs)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
411 meth = paste( "After removing",length(lo),"contigs with fewer than ",nscut," sample read counts >= 1 per million, there are",sep="")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
412 print(paste("Read",allN,"contigs. Removed",zN,"contigs with no reads.",meth,cleanN,"contigs"),quote=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
413 maint = paste('Filter >=1/million reads in >=',nscut,'samples')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
414 } else {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
415 useme = (nzrs > quantile(nzrs,filterquantile))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
416 workCM = nonzerod[useme,]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
417 lo = colSums(nonzerod[!useme,])
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
418 cleanrs = rowSums(workCM)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
419 cleanN = length(cleanrs)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
420 meth = paste("After filtering at count quantile =",filterquantile,", there are",sep="")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
421 print(paste('Read',allN,"contigs. Removed",zN,"with no reads.",meth,cleanN,"contigs"),quote=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
422 maint = paste('Filter below',filterquantile,'quantile')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
423 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
424 cumPlot(rawrs=rawrs,cleanrs=cleanrs,maint=maint,myTitle=myTitle)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
425 allgenes = rownames(workCM)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
426 reg = "^chr([0-9]+):([0-9]+)-([0-9]+)"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
427 genecards="<a href=\'http://www.genecards.org/index.php?path=/Search/keyword/"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
428 ucsc = paste("<a href=\'http://genome.ucsc.edu/cgi-bin/hgTracks?db=",org,sep='')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
429 testreg = str_match(allgenes,reg)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
430 if (sum(!is.na(testreg[,1]))/length(testreg[,1]) > 0.8) # is ucsc style string
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
431 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
432 print("@@ using ucsc substitution for urls")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
433 contigurls = paste0(ucsc,"&amp;position=chr",testreg[,2],":",testreg[,3],"-",testreg[,4],"\'>",allgenes,"</a>")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
434 } else {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
435 print("@@ using genecards substitution for urls")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
436 contigurls = paste0(genecards,allgenes,"\'>",allgenes,"</a>")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
437 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
438 print.noquote("# urls")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
439 print.noquote(head(contigurls))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
440 print(paste("# Total low count contigs per sample = ",paste(lo,collapse=',')),quote=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
441 cmrowsums = rowSums(workCM)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
442 TName=unique(group)[1]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
443 CName=unique(group)[2]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
444 if (is.null(mydesign)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
445 if (length(subjects) == 0)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
446 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
447 mydesign = model.matrix(~group)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
448 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
449 else {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
450 subjf = factor(subjects)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
451 mydesign = model.matrix(~subjf+group) # we block on subject so make group last to simplify finding it
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
452 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
453 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
454 print.noquote(paste('Using samples:',paste(colnames(workCM),collapse=',')))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
455 print.noquote('Using design matrix:')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
456 print.noquote(mydesign)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
457 if (doedgeR) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
458 sink('edgeR.log')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
459 #### Setup DGEList object
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
460 DGEList = DGEList(counts=workCM, group = group)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
461 DGEList = calcNormFactors(DGEList)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
462
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
463 DGEList = estimateGLMCommonDisp(DGEList,mydesign)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
464 comdisp = DGEList\$common.dispersion
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
465 DGEList = estimateGLMTrendedDisp(DGEList,mydesign)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
466 if (edgeR_priordf > 0) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
467 print.noquote(paste("prior.df =",edgeR_priordf))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
468 DGEList = estimateGLMTagwiseDisp(DGEList,mydesign,prior.df = edgeR_priordf)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
469 } else {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
470 DGEList = estimateGLMTagwiseDisp(DGEList,mydesign)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
471 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
472 DGLM = glmFit(DGEList,design=mydesign)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
473 DE = glmLRT(DGLM,coef=ncol(DGLM\$design)) # always last one - subject is first if needed
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
474 efflib = DGEList\$samples\$lib.size*DGEList\$samples\$norm.factors
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
475 normData = (1e+06*DGEList\$counts/efflib)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
476 uoutput = cbind(
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
477 Name=as.character(rownames(DGEList\$counts)),
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
478 DE\$table,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
479 adj.p.value=p.adjust(DE\$table\$PValue, method=fdrtype),
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
480 Dispersion=DGEList\$tagwise.dispersion,totreads=cmrowsums,normData,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
481 DGEList\$counts
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
482 )
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
483 soutput = uoutput[order(DE\$table\$PValue),] # sorted into p value order - for quick toptable
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
484 goodness = gof(DGLM, pcutoff=fdrthresh)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
485 if (sum(goodness\$outlier) > 0) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
486 print.noquote('GLM outliers:')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
487 print(paste(rownames(DGLM)[(goodness\$outlier)],collapse=','),quote=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
488 } else {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
489 print('No GLM fit outlier genes found\n')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
490 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
491 z = limma::zscoreGamma(goodness\$gof.statistic, shape=goodness\$df/2, scale=2)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
492 pdf("edgeR_GoodnessofFit.pdf")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
493 qq = qqnorm(z, panel.first=grid(), main="tagwise dispersion")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
494 abline(0,1,lwd=3)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
495 points(qq\$x[goodness\$outlier],qq\$y[goodness\$outlier], pch=16, col="maroon")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
496 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
497 estpriorn = getPriorN(DGEList)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
498 print(paste("Common Dispersion =",comdisp,"CV = ",sqrt(comdisp),"getPriorN = ",estpriorn),quote=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
499 efflib = DGEList\$samples\$lib.size*DGEList\$samples\$norm.factors
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
500 normData = (1e+06*DGEList\$counts/efflib)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
501 uniqueg = unique(group)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
502 #### Plot MDS
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
503 sample_colors = match(group,levels(group))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
504 sampleTypes = levels(factor(group))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
505 print.noquote(sampleTypes)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
506 pdf("edgeR_MDSplot.pdf")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
507 plotMDS.DGEList(DGEList,main=paste("edgeR MDS for",myTitle),cex=0.5,col=sample_colors,pch=sample_colors)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
508 legend(x="topleft", legend = sampleTypes,col=c(1:length(sampleTypes)), pch=19)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
509 grid(col="blue")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
510 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
511 colnames(normData) = paste( colnames(normData),'N',sep="_")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
512 print(paste('Raw sample read totals',paste(colSums(nonzerod,na.rm=T),collapse=',')))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
513 nzd = data.frame(log(nonzerod + 1e-2,10))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
514 boxPlot(rawrs=nzd,cleanrs=log(normData,10),maint='TMM Normalisation',myTitle=myTitle,pdfname="edgeR_raw_norm_counts_box.pdf")
13
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
515 write.table(soutput,file=out_edgeR, quote=FALSE, sep="\t",row.names=F)
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
516 tt = cbind(
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
517 Name=as.character(rownames(DGEList\$counts)),
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
518 DE\$table,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
519 adj.p.value=p.adjust(DE\$table\$PValue, method=fdrtype),
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
520 Dispersion=DGEList\$tagwise.dispersion,totreads=cmrowsums
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
521 )
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
522 print.noquote("# edgeR Top tags\n")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
523 tt = cbind(tt,URL=contigurls) # add to end so table isn't laid out strangely
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
524 tt = tt[order(DE\$table\$PValue),]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
525 print.noquote(tt[1:50,])
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
526 deTags = rownames(uoutput[uoutput\$adj.p.value < fdrthresh,])
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
527 nsig = length(deTags)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
528 print(paste('#',nsig,'tags significant at adj p=',fdrthresh),quote=F)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
529 deColours = ifelse(deTags,'red','black')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
530 pdf("edgeR_BCV_vs_abundance.pdf")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
531 plotBCV(DGEList, cex=0.3, main="Biological CV vs abundance")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
532 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
533 dg = DGEList[order(DE\$table\$PValue),]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
534 #normData = (1e+06 * dg\$counts/expandAsMatrix(dg\$samples\$lib.size, dim(dg)))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
535 efflib = dg\$samples\$lib.size*dg\$samples\$norm.factors
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
536 normData = (1e+06*dg\$counts/efflib)
22
79e3d80d34f9 Uploaded
fubar
parents: 18
diff changeset
537 outpdfname="edgeR_top_100_heatmap.pdf"
79e3d80d34f9 Uploaded
fubar
parents: 18
diff changeset
538 hmap2(normData,nsamp=100,TName=TName,group=group,outpdfname=outpdfname,myTitle=paste('edgeR Heatmap',myTitle))
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
539 outSmear = "edgeR_smearplot.pdf"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
540 outMain = paste("Smear Plot for ",TName,' Vs ',CName,' (FDR@',fdrthresh,' N = ',nsig,')',sep='')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
541 smearPlot(DGEList=DGEList,deTags=deTags, outSmear=outSmear, outMain = outMain)
16
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
542 qqPlot(descr=paste(myTitle,'edgeR adj p QQ plot'),pvector=tt\$adj.p.value,outpdf='edgeR_qqplot.pdf')
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
543 norm.factor = DGEList\$samples\$norm.factors
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
544 topresults.edgeR = soutput[which(soutput\$adj.p.value < fdrthresh), ]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
545 edgeRcountsindex = which(allgenes %in% rownames(topresults.edgeR))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
546 edgeRcounts = rep(0, length(allgenes))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
547 edgeRcounts[edgeRcountsindex] = 1 # Create venn diagram of hits
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
548 sink()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
549 } ### doedgeR
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
550 if (doDESeq2 == T)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
551 {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
552 sink("DESeq2.log")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
553 # DESeq2
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
554 require('DESeq2')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
555 library('RColorBrewer')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
556 pdata = data.frame(Name=colnames(workCM),Rx=group,row.names=colnames(workCM))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
557 deSEQds = DESeqDataSetFromMatrix(countData = workCM, colData = pdata, design = formula(~ Rx))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
558 #DESeq2 = DESeq(deSEQds,fitType='local',pAdjustMethod=fdrtype)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
559 #rDESeq = results(DESeq2)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
560 #newCountDataSet(workCM, group)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
561 deSeqDatsizefac = estimateSizeFactors(deSEQds)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
562 deSeqDatdisp = estimateDispersions(deSeqDatsizefac,fitType=DESeq_fitType)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
563 resDESeq = nbinomWaldTest(deSeqDatdisp, pAdjustMethod=fdrtype)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
564 rDESeq = as.data.frame(results(resDESeq))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
565 rDESeq = cbind(Contig=rownames(workCM),rDESeq,NReads=cmrowsums,URL=contigurls)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
566 srDESeq = rDESeq[order(rDESeq\$pvalue),]
16
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
567 qqPlot(descr=paste(myTitle,'DESeq2 adj p qq plot'),pvector=rDESeq\$padj,outpdf='DESeq2_qqplot.pdf')
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
568 cat("# DESeq top 50\n")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
569 print.noquote(srDESeq[1:50,])
13
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
570 write.table(srDESeq,file=out_DESeq2, quote=FALSE, sep="\t",row.names=F)
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
571 topresults.DESeq = rDESeq[which(rDESeq\$padj < fdrthresh), ]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
572 DESeqcountsindex = which(allgenes %in% rownames(topresults.DESeq))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
573 DESeqcounts = rep(0, length(allgenes))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
574 DESeqcounts[DESeqcountsindex] = 1
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
575 pdf("DESeq2_dispersion_estimates.pdf")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
576 plotDispEsts(resDESeq)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
577 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
578 ysmall = abs(min(rDESeq\$log2FoldChange))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
579 ybig = abs(max(rDESeq\$log2FoldChange))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
580 ylimit = min(4,ysmall,ybig)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
581 pdf("DESeq2_MA_plot.pdf")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
582 plotMA(resDESeq,main=paste(myTitle,"DESeq2 MA plot"),ylim=c(-ylimit,ylimit))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
583 dev.off()
22
79e3d80d34f9 Uploaded
fubar
parents: 18
diff changeset
584 rlogres = rlogTransformation(sresDESeq)
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
585 sampledists = dist( t( assay(rlogres) ) )
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
586 sdmat = as.matrix(sampledists)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
587 pdf("DESeq2_sample_distance_plot.pdf")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
588 heatmap.2(sdmat,trace="none",main=paste(myTitle,"DESeq2 sample distances"),
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
589 col = colorRampPalette( rev(brewer.pal(9, "RdBu")) )(255))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
590 dev.off()
22
79e3d80d34f9 Uploaded
fubar
parents: 18
diff changeset
591 outpdfname="DESeq2_top100_heatmap.pdf"
79e3d80d34f9 Uploaded
fubar
parents: 18
diff changeset
592 hmap2(rlogres,nsamp=100,TName=TName,group=group,outpdfname=outpdfname,myTitle=paste('DESeq2 Heatmap',myTitle))
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
593 sink()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
594 result = try( (ppca = plotPCA( varianceStabilizingTransformation(deSeqDatdisp,blind=T), intgroup=c("Rx","Name")) ) )
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
595 if ("try-error" %in% class(result)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
596 print.noquote('DESeq2 plotPCA failed.')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
597 } else {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
598 pdf("DESeq2_PCA_plot.pdf")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
599 #### wtf - print? Seems needed to get this to work
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
600 print(ppca)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
601 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
602 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
603 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
604
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
605 if (doVoom == T) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
606 sink('VOOM.log')
10
755cf582f2c4 Uploaded
fubar
parents: 9
diff changeset
607 if (doedgeR == F) {
755cf582f2c4 Uploaded
fubar
parents: 9
diff changeset
608 #### Setup DGEList object
755cf582f2c4 Uploaded
fubar
parents: 9
diff changeset
609 DGEList = DGEList(counts=workCM, group = group)
755cf582f2c4 Uploaded
fubar
parents: 9
diff changeset
610 DGEList = calcNormFactors(DGEList)
755cf582f2c4 Uploaded
fubar
parents: 9
diff changeset
611 DGEList = estimateGLMCommonDisp(DGEList,mydesign)
755cf582f2c4 Uploaded
fubar
parents: 9
diff changeset
612 DGEList = estimateGLMTrendedDisp(DGEList,mydesign)
755cf582f2c4 Uploaded
fubar
parents: 9
diff changeset
613 DGEList = estimateGLMTagwiseDisp(DGEList,mydesign)
11
e7733b353702 Uploaded
fubar
parents: 10
diff changeset
614 DGEList = estimateGLMTagwiseDisp(DGEList,mydesign)
e7733b353702 Uploaded
fubar
parents: 10
diff changeset
615 norm.factor = DGEList\$samples\$norm.factors
10
755cf582f2c4 Uploaded
fubar
parents: 9
diff changeset
616 }
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
617 pdf("VOOM_mean_variance_plot.pdf")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
618 dat.voomed = voom(DGEList, mydesign, plot = TRUE, lib.size = colSums(workCM) * norm.factor)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
619 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
620 # Use limma to fit data
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
621 fit = lmFit(dat.voomed, mydesign)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
622 fit = eBayes(fit)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
623 rvoom = topTable(fit, coef = length(colnames(mydesign)), adj = fdrtype, n = Inf, sort="none")
16
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
624 qqPlot(descr=paste(myTitle,'VOOM-limma adj p QQ plot'),pvector=rvoom\$adj.P.Val,outpdf='VOOM_qqplot.pdf')
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
625 rownames(rvoom) = rownames(workCM)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
626 rvoom = cbind(rvoom,NReads=cmrowsums,URL=contigurls)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
627 srvoom = rvoom[order(rvoom\$P.Value),]
13
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
628 cat("# VOOM top 50\n")
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
629 print(srvoom[1:50,])
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
630 write.table(srvoom,file=out_VOOM, quote=FALSE, sep="\t",row.names=F)
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
631 # Use an FDR cutoff to find interesting samples for edgeR, DESeq and voom/limma
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
632 topresults.voom = srvoom[which(rvoom\$adj.P.Val < fdrthresh), ]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
633 voomcountsindex = which(allgenes %in% topresults.voom\$ID)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
634 voomcounts = rep(0, length(allgenes))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
635 voomcounts[voomcountsindex] = 1
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
636 sink()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
637 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
638
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
639 if (doCamera) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
640 doGSEA(y=DGEList,design=mydesign,histgmt=histgmt,bigmt=bigmt,ntest=20,myTitle=myTitle,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
641 outfname=paste(mt,"GSEA.xls",sep="_"),fdrthresh=fdrthresh,fdrtype=fdrtype)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
642 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
643
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
644 if ((doDESeq2==T) || (doVoom==T) || (doedgeR==T)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
645 if ((doVoom==T) && (doDESeq2==T) && (doedgeR==T)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
646 vennmain = paste(mt,'Voom,edgeR and DESeq2 overlap at FDR=',fdrthresh)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
647 counts.dataframe = data.frame(edgeR = edgeRcounts, DESeq2 = DESeqcounts,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
648 VOOM_limma = voomcounts, row.names = allgenes)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
649 } else if ((doDESeq2==T) && (doedgeR==T)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
650 vennmain = paste(mt,'DESeq2 and edgeR overlap at FDR=',fdrthresh)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
651 counts.dataframe = data.frame(edgeR = edgeRcounts, DESeq2 = DESeqcounts, row.names = allgenes)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
652 } else if ((doVoom==T) && (doedgeR==T)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
653 vennmain = paste(mt,'Voom and edgeR overlap at FDR=',fdrthresh)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
654 counts.dataframe = data.frame(edgeR = edgeRcounts, VOOM_limma = voomcounts, row.names = allgenes)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
655 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
656
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
657 if (nrow(counts.dataframe > 1)) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
658 counts.venn = vennCounts(counts.dataframe)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
659 vennf = "Venn_significant_genes_overlap.pdf"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
660 pdf(vennf)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
661 vennDiagram(counts.venn,main=vennmain,col="maroon")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
662 dev.off()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
663 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
664 } #### doDESeq2 or doVoom
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
665
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
666 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
667 #### Done
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
668
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
669 ###sink(stdout(),append=T,type="message")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
670 builtin_gmt=""
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
671 history_gmt=""
7
8c0405de0695 Uploaded
fubar
parents: 5
diff changeset
672 out_edgeR = F
8c0405de0695 Uploaded
fubar
parents: 5
diff changeset
673 out_DESeq2 = F
14
8272815ba8ce Uploaded
fubar
parents: 13
diff changeset
674 out_VOOM = "$out_VOOM"
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
675 doDESeq2 = $DESeq2.doDESeq2 # make these T or F
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
676 doVoom = $doVoom
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
677 doCamera = F
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
678 doedgeR = $edgeR.doedgeR
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
679 edgeR_priordf = 0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
680
13
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
681
14
8272815ba8ce Uploaded
fubar
parents: 13
diff changeset
682 #if $doVoom == "T":
8272815ba8ce Uploaded
fubar
parents: 13
diff changeset
683 out_VOOM = "$out_VOOM"
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
684 #end if
13
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
685
14
8272815ba8ce Uploaded
fubar
parents: 13
diff changeset
686 #if $DESeq2.doDESeq2 == "T":
8272815ba8ce Uploaded
fubar
parents: 13
diff changeset
687 out_DESeq2 = "$out_DESeq2"
8272815ba8ce Uploaded
fubar
parents: 13
diff changeset
688 DESeq_fitType = "$DESeq2.DESeq_fitType"
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
689 #end if
13
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
690
14
8272815ba8ce Uploaded
fubar
parents: 13
diff changeset
691 #if $edgeR.doedgeR == "T":
8272815ba8ce Uploaded
fubar
parents: 13
diff changeset
692 out_edgeR = "$out_edgeR"
8272815ba8ce Uploaded
fubar
parents: 13
diff changeset
693 edgeR_priordf = $edgeR.edgeR_priordf
7
8c0405de0695 Uploaded
fubar
parents: 5
diff changeset
694 #end if
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
695
17
b1cf0745bde5 Uploaded
fubar
parents: 16
diff changeset
696 if (sum(c(doedgeR,doVoom,doDESeq2)) == 0)
b1cf0745bde5 Uploaded
fubar
parents: 16
diff changeset
697 {
b1cf0745bde5 Uploaded
fubar
parents: 16
diff changeset
698 write("No methods chosen - nothing to do! Please try again after choosing one or more methods", stderr())
18
1ba6b7c6f4df Uploaded
fubar
parents: 17
diff changeset
699 quit(save="no",status=2)
17
b1cf0745bde5 Uploaded
fubar
parents: 16
diff changeset
700 }
b1cf0745bde5 Uploaded
fubar
parents: 16
diff changeset
701
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
702 Out_Dir = "$html_file.files_path"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
703 Input = "$input1"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
704 TreatmentName = "$treatment_name"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
705 TreatmentCols = "$Treat_cols"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
706 ControlName = "$control_name"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
707 ControlCols= "$Control_cols"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
708 org = "$input1.dbkey"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
709 if (org == "") { org = "hg19"}
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
710 fdrtype = "$fdrtype"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
711 fdrthresh = $fdrthresh
13
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
712 useNDF = $useNDF
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
713 fQ = $fQ # non-differential centile cutoff
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
714 myTitle = "$title"
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
715 subjects = c($subjectids)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
716 nsubj = length(subjects)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
717 TCols = as.numeric(strsplit(TreatmentCols,",")[[1]])-1
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
718 CCols = as.numeric(strsplit(ControlCols,",")[[1]])-1
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
719 cat('Got TCols=')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
720 cat(TCols)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
721 cat('; CCols=')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
722 cat(CCols)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
723 cat('\n')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
724 useCols = c(TCols,CCols)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
725 if (file.exists(Out_Dir) == F) dir.create(Out_Dir)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
726 Count_Matrix = read.table(Input,header=T,row.names=1,sep='\t') #Load tab file assume header
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
727 snames = colnames(Count_Matrix)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
728 nsamples = length(snames)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
729 if (nsubj > 0 & nsubj != nsamples) {
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
730 options("show.error.messages"=T)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
731 mess = paste('Fatal error: Supplied subject id list',paste(subjects,collapse=','),
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
732 'has length',nsubj,'but there are',nsamples,'samples',paste(snames,collapse=','))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
733 write(mess, stderr())
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
734 quit(save="no",status=4)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
735 }
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
736
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
737 Count_Matrix = Count_Matrix[,useCols] ### reorder columns
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
738 if (length(subjects) != 0) {subjects = subjects[useCols]}
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
739 rn = rownames(Count_Matrix)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
740 islib = rn %in% c('librarySize','NotInBedRegions')
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
741 LibSizes = Count_Matrix[subset(rn,islib),][1] # take first
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
742 Count_Matrix = Count_Matrix[subset(rn,! islib),]
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
743 group = c(rep(TreatmentName,length(TCols)), rep(ControlName,length(CCols)) ) #Build a group descriptor
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
744 group = factor(group, levels=c(ControlName,TreatmentName))
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
745 colnames(Count_Matrix) = paste(group,colnames(Count_Matrix),sep="_") #Relable columns
13
f542654faa3b Uploaded
fubar
parents: 12
diff changeset
746 results = edgeIt(Count_Matrix=Count_Matrix,group=group, out_edgeR=out_edgeR, out_VOOM=out_VOOM, out_DESeq2=out_DESeq2,
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
747 fdrtype='BH',priordf=edgeR_priordf,fdrthresh=0.05,outputdir='.',
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
748 myTitle=myTitle,useNDF=F,libSize=c(),filterquantile=fQ,subjects=c(),
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
749 doDESeq2=doDESeq2,doVoom=doVoom,doCamera=doCamera,doedgeR=doedgeR,org=org,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
750 histgmt=history_gmt,bigmt=builtin_gmt,DESeq_fitType=DESeq_fitType)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
751 sessionInfo()
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
752 ]]>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
753 </configfile>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
754 </configfiles>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
755 <help>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
756
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
757 ----
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
758
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
759 **What it does**
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
760
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
761 Allows short read sequence counts from controlled experiments to be analysed for differentially expressed genes.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
762 Optionally adds a term for subject if not all samples are independent or if some other factor needs to be blocked in the design.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
763
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
764 **Input**
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
765
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
766 Requires a count matrix as a tabular file. These are best made using the companion HTSeq_ based counter Galaxy wrapper
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
767 and your fave gene model to generate inputs. Each row is a genomic feature (gene or exon eg) and each column the
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
768 non-negative integer count of reads from one sample overlapping the feature.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
769 The matrix must have a header row uniquely identifying the source samples, and unique row names in
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
770 the first column. Typically the row names are gene symbols or probe ids for downstream use in GSEA and other methods.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
771
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
772 **Specifying comparisons**
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
773
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
774 This is basically dumbed down for two factors - case vs control.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
775
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
776 More complex interfaces are possible but painful at present.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
777 Probably need to specify a phenotype file to do this better.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
778 Work in progress. Send code.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
779
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
780 If you have (eg) paired samples and wish to include a term in the GLM to account for some other factor (subject in the case of paired samples),
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
781 put a comma separated list of indicators for every sample (whether modelled or not!) indicating (eg) the subject number or
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
782 A list of integers, one for each subject or an empty string if samples are all independent.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
783 If not empty, there must be exactly as many integers in the supplied integer list as there are columns (samples) in the count matrix.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
784 Integers for samples that are not in the analysis *must* be present in the string as filler even if not used.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
785
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
786 So if you have 2 pairs out of 6 samples, you need to put in unique integers for the unpaired ones
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
787 eg if you had 6 samples with the first two independent but the second and third pairs each being from independent subjects. you might use
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
788 8,9,1,1,2,2
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
789 as subject IDs to indicate two paired samples from the same subject in columns 3/4 and 5/6
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
790
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
791 **Methods available**
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
792
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
793 You can run 3 popular Bioconductor packages available for count data.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
794
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
795 edgeR - see edgeR_ for details
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
796
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
797 VOOM/limma - see limma_VOOM_ for details
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
798
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
799 DESeq2 - see DESeq2_ for details
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
800
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
801 and optionally camera in edgeR which works better if MSigDB is installed.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
802
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
803 **Outputs**
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
804
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
805 Some helpful plots and analysis results. Note that most of these are produced using R code
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
806 suggested by the excellent documentation and vignettes for the Bioconductor
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
807 packages invoked. The Tool Factory is used to automatically lay these out for you to enjoy.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
808
16
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
809 **Note on Voom**
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
810
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
811 The voom from limma version 3.16.6 help in R includes this from the authors - but you should read the paper to interpret this method.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
812
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
813 This function is intended to process RNA-Seq or ChIP-Seq data prior to linear modelling in limma.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
814
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
815 voom is an acronym for mean-variance modelling at the observational level.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
816 The key concern is to estimate the mean-variance relationship in the data, then use this to compute appropriate weights for each observation.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
817 Count data almost show non-trivial mean-variance relationships. Raw counts show increasing variance with increasing count size, while log-counts typically show a decreasing mean-variance trend.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
818 This function estimates the mean-variance trend for log-counts, then assigns a weight to each observation based on its predicted variance.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
819 The weights are then used in the linear modelling process to adjust for heteroscedasticity.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
820
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
821 In an experiment, a count value is observed for each tag in each sample. A tag-wise mean-variance trend is computed using lowess.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
822 The tag-wise mean is the mean log2 count with an offset of 0.5, across samples for a given tag.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
823 The tag-wise variance is the quarter-root-variance of normalized log2 counts per million values with an offset of 0.5, across samples for a given tag.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
824 Tags with zero counts across all samples are not included in the lowess fit. Optional normalization is performed using normalizeBetweenArrays.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
825 Using fitted values of log2 counts from a linear model fit by lmFit, variances from the mean-variance trend were interpolated for each observation.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
826 This was carried out by approxfun. Inverse variance weights can be used to correct for mean-variance trend in the count data.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
827
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
828
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
829 Author(s)
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
830
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
831 Charity Law and Gordon Smyth
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
832
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
833 References
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
834
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
835 Law, CW (2013). Precision weights for gene expression analysis. PhD Thesis. University of Melbourne, Australia.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
836
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
837 Law, CW, Chen, Y, Shi, W, Smyth, GK (2013). Voom! Precision weights unlock linear model analysis tools for RNA-seq read counts.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
838 Technical Report 1 May 2013, Bioinformatics Division, Walter and Eliza Hall Institute of Medical Reseach, Melbourne, Australia.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
839 http://www.statsci.org/smyth/pubs/VoomPreprint.pdf
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
840
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
841 See Also
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
842
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
843 A voom case study is given in the edgeR User's Guide.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
844
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
845 vooma is a similar function but for microarrays instead of RNA-seq.
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
846
cddf60746340 Uploaded
fubar
parents: 15
diff changeset
847
0
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
848 ***old rant on changes to Bioconductor package variable names between versions***
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
849
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
850 The edgeR authors made a small cosmetic change in the name of one important variable (from p.value to PValue)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
851 breaking this and all other code that assumed the old name for this variable,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
852 between edgeR2.4.4 and 2.4.6 (the version for R 2.14 as at the time of writing).
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
853 This means that all code using edgeR is sensitive to the version. I think this was a very unwise thing
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
854 to do because it wasted hours of my time to track down and will similarly cost other edgeR users dearly
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
855 when their old scripts break. This tool currently now works with 2.4.6.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
856
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
857 **Note on prior.N**
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
858
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
859 http://seqanswers.com/forums/showthread.php?t=5591 says:
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
860
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
861 *prior.n*
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
862
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
863 The value for prior.n determines the amount of smoothing of tagwise dispersions towards the common dispersion.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
864 You can think of it as like a "weight" for the common value. (It is actually the weight for the common likelihood
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
865 in the weighted likelihood equation). The larger the value for prior.n, the more smoothing, i.e. the closer your
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
866 tagwise dispersion estimates will be to the common dispersion. If you use a prior.n of 1, then that gives the
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
867 common likelihood the weight of one observation.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
868
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
869 In answer to your question, it is a good thing to squeeze the tagwise dispersions towards a common value,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
870 or else you will be using very unreliable estimates of the dispersion. I would not recommend using the value that
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
871 you obtained from estimateSmoothing()---this is far too small and would result in virtually no moderation
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
872 (squeezing) of the tagwise dispersions. How many samples do you have in your experiment?
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
873 What is the experimental design? If you have few samples (less than 6) then I would suggest a prior.n of at least 10.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
874 If you have more samples, then the tagwise dispersion estimates will be more reliable,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
875 so you could consider using a smaller prior.n, although I would hesitate to use a prior.n less than 5.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
876
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
877
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
878 From Bioconductor Digest, Vol 118, Issue 5, Gordon writes:
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
879
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
880 Dear Dorota,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
881
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
882 The important settings are prior.df and trend.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
883
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
884 prior.n and prior.df are related through prior.df = prior.n * residual.df,
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
885 and your experiment has residual.df = 36 - 12 = 24. So the old setting of
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
886 prior.n=10 is equivalent for your data to prior.df = 240, a very large
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
887 value. Going the other way, the new setting of prior.df=10 is equivalent
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
888 to prior.n=10/24.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
889
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
890 To recover old results with the current software you would use
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
891
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
892 estimateTagwiseDisp(object, prior.df=240, trend="none")
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
893
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
894 To get the new default from old software you would use
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
895
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
896 estimateTagwiseDisp(object, prior.n=10/24, trend=TRUE)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
897
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
898 Actually the old trend method is equivalent to trend="loess" in the new
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
899 software. You should use plotBCV(object) to see whether a trend is
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
900 required.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
901
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
902 Note you could also use
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
903
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
904 prior.n = getPriorN(object, prior.df=10)
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
905
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
906 to map between prior.df and prior.n.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
907
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
908 ----
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
909
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
910 **Attributions**
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
911
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
912 edgeR - edgeR_
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
913
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
914 VOOM/limma - limma_VOOM_
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
915
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
916 DESeq2 - DESeq2_ for details
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
917
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
918 See above for Bioconductor package documentation for packages exposed in Galaxy by this tool and app store package.
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
919
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
920 Galaxy_ (that's what you are using right now!) for gluing everything together
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
921
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
922 Otherwise, all code and documentation comprising this tool was written by Ross Lazarus and is
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
923 licensed to you under the LGPL_ like other rgenetics artefacts
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
924
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
925 .. _LGPL: http://www.gnu.org/copyleft/lesser.html
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
926 .. _HTSeq: http://www-huber.embl.de/users/anders/HTSeq/doc/index.html
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
927 .. _edgeR: http://www.bioconductor.org/packages/release/bioc/html/edgeR.html
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
928 .. _DESeq2: http://www.bioconductor.org/packages/release/bioc/html/DESeq2.html
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
929 .. _limma_VOOM: http://www.bioconductor.org/packages/release/bioc/html/limma.html
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
930 .. _Galaxy: http://getgalaxy.org
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
931 </help>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
932
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
933 </tool>
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
934
2122e630b13a Initial commit of replacement for edger_test
fubar
parents:
diff changeset
935