annotate SMART/DiffExpAnal/testR.R @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
1 #!/usr/bin
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
2
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
3 library(DESeq)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
4 library(hexbin)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
5 library(latticeExtra)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
6 library(gplots)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
7 library(geneplotter)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
8 library(Biobase)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
9
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
10 ##In a file called test_args.R
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
11 args <- commandArgs()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
12
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
13
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
14 fileName <- args[4]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
15 colNames <- as.integer(unlist(strsplit(args[5], ",")))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
16 colCond1 <- as.integer(unlist(strsplit(args[6], ",")))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
17 colCond2 <- as.integer(unlist(strsplit(args[7], ",")))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
18 OUTPUTCSV <- args[8]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
19 OUTPUTPNG <- args[9]
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
20
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
21 if(colNames[1]!=0){
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
22 countsTable <- read.delim(fileName, row.names=1)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
23 conditions <- c((colNames[length(colNames)]+1):ncol(countsTable))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
24 } else if(colNames[1]==0){
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
25 countsTable <- read.delim(fileName)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
26 conditions <- c(1:ncol(countsTable))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
27 rownames(countsTable) <- paste( "Gene", 1:nrow(countsTable), sep="_" )}
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
28
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
29 for(i in colCond1){conditions[i] = "A"}
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
30 for(i in colCond2){conditions[i] = "B"}
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
31 conditions
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
32 #analysis with DESeq
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
33 cds <- newCountDataSet( countsTable, conditions )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
34 cds <- estimateSizeFactors( cds )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
35 cds <- estimateVarianceFunctions( cds )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
36 result <- nbinomTest( cds, "A", "B" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
37 #stock the result dans un .tsv as output file
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
38 write.table(result, OUTPUTCSV, sep = " ", quote = FALSE, col.names = NA)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
39
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
40 #figures for DE analysis
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
41 #pdf( OUTPUTPNG, width=4, height=4 )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
42 png( filename=OUTPUTPNG, width=700, height=700 )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
43 #png format is not as clear as pdf format!!!!!!!!!!!!!!!!!!!!!!!!!
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
44 print(xyplot(
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
45 log2FoldChange ~ I(baseMean),
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
46 result,
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
47 pch=16, cex=.3,
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
48 col=ifelse(result$padj < .1, "#FF000040","#00000040" ),
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
49 panel = function( x, y, col, ...) {
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
50 above <- (y > 5.8)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
51 below <- (y < -5.8)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
52 inside <- !( above | below )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
53 panel.xyplot( x=x[inside], y=y[inside], col=col[inside], ...)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
54 panel.arrows( x[above], 5.8, x[above], 5.95, col=col[above],length=".1", unit="native" )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
55 panel.arrows( x[below], -5.8, x[below], -5.95, col=col[below],length=".1", unit="native" ) },
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
56 axis = function(side, ...) {
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
57 if( side=="left") {
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
58 panel.axis( side, outside=TRUE, at=seq(-14,14,by=1), labels=FALSE )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
59 panel.axis( side, outside=TRUE, at=seq(-10,10,by=5), labels=TRUE )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
60 }
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
61 if( side=="bottom") {
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
62 panel.axis( side, outside=TRUE, at=seq(-2,10,by=1), rot=0,
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
63 labels = do.call( expression,
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
64 lapply( seq(-2,10,by=1), function(a)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
65 substitute( 10^b, list(b=a) ) ) ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
66 } },
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
67 xlab = "mean", ylab = "log2 fold change",
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
68 scales = list(x = list( log=TRUE ),y = list( log=FALSE, limits=c( -6, 6 ) ) ) ))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
69 dev.off()
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
70
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
71 #The volcano plot
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
72 #pdf( "vulcano_fly.pdf", width=4, height=4 )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
73 #print(xyplot( -log10( pval ) ~ log2FoldChange,
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
74 # result,
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
75 # pch=20, cex=.2,
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
76 # col=ifelse( result$padj<.1, "#FF000050", "#00000050" ),
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
77 # axis = function( side, ... ) {
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
78 # if( side=="bottom") {
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
79 # panel.axis( side, outside=TRUE, at=seq(-14,14,by=1), labels=FALSE )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
80 # panel.axis( side, outside=TRUE, at=seq(-10,10,by=5), labels=TRUE )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
81 # }
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
82 # if( side=="left") {
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
83 # panel.axis( side, outside=TRUE, at=seq(0,25,by=1), labels=FALSE )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
84 # panel.axis( side, outside=TRUE, at=seq(0,25,by=5),
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
85 # labels = do.call( expression,
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
86 # lapply( seq(0,25,by=5), function(a)
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
87 # substitute( 10^-b, list(b=a) ) ) ) )
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
88 # } },
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
89 # xlab = "log2 fold change", ylab = "p value",
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
90 # scales = list(
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
91 # x = list( limits=c( -6, 6 ) ),
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
92 # y = list( limits=c( 0, 25 ) ) ) ))
94ab73e8a190 Uploaded
m-zytnicki
parents:
diff changeset
93 #dev.off()