annotate QDNAseq-plot.R @ 88:d2ea2b842c21 draft default tip

Uploaded
author stef
date Mon, 06 Jul 2015 06:29:19 -0400
parents 8391cdb7479c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
78
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
1 #!/usr/bin/Rscript
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
2
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
3 ## --------------------
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
4 ## prints all arguments as msg
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
5 ## --------------------
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
6 catMsg <- function( msg=c() ){
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
7 cat( MAIN_NAME, paste( msg, collapse="" ), "\n", sep='')
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
8 }
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
9
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
10
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
11 ## ==================================================
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
12 ## Start of analysis
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
13 ## ==================================================
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
14 MAIN_NAME <- '[INFO] '
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
15 catMsg( "Starting QDNAseq-plot wrapper" )
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
16 catMsg( "Loading R libraries" )
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
17
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
18 ## supress msg to allow R to finish with non-error msg
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
19 suppressWarnings( suppressMessages( library( QDNAseq, quietly = TRUE ) ) )
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
20
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
21 ## only one param: the tmp config file
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
22 cmdLineArgs <- commandArgs(TRUE)
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
23 config <- cmdLineArgs[1]
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
24
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
25 ## sourcing the config file will load all input params
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
26 ## many variables are imported via sourced "config"
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
27 source( config ) # outputPngPath, outputPdfPath, allOrOne, rdsFilePath
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
28 #cat( "ALL? ", allOrOne, sep='' )
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
29
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
30 ## desparate tries to make png text scale well, damn you R...!
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
31 PLOT_RES <- min( PLOT_WIDTH, PLOT_HEIGHT ) / 6.3
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
32 PAR_SET <- list( pch=22 )
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
33 systemUser <- system("whoami",T)
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
34 qdnaseqVersion <- packageDescription( "QDNAseq" )$Version
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
35 rVersion <- R.version.string
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
36 catMsg( c("QDNAseq version: ", qdnaseqVersion) )
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
37 catMsg( c( rVersion ) )
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
38
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
39 qdnaseqObject <- readRDS( rdsFilePath )
81
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
40 chromosomesToPlot <- unlist( strsplit( chromosomesToPlotString, ",") )
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
41
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
42 #cat( "CHROM: ", chromosomesToPlotString, "\n" )
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
43 #cat( "REGION: ", regionToPlotString, "\n" )
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
44 #cat( "What to plot: ", whatToPlot, "\n" )
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
45
78
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
46 ## COPYNUMBER PLOT
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
47 sample <- SAMPLE_INDEX
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
48 png( outputPngPath, width=PLOT_WIDTH, height=PLOT_HEIGHT, res=PLOT_RES )
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
49 par( PAR_SET )
87
8391cdb7479c Uploaded
stef
parents: 81
diff changeset
50 ylab_text <- "log2 read counts"
81
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
51 if ( whatToPlot == 'everything' ){
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
52 catMsg( c( "Plotting all data in object" ) )
87
8391cdb7479c Uploaded
stef
parents: 81
diff changeset
53 plot( qdnaseqObject[ ,sample ], ylab=ylab_text )
88
d2ea2b842c21 Uploaded
stef
parents: 87
diff changeset
54 abline( h=c(-4,-3,-2,-1,1,2,3,4), lty=1, lwd=0.5, col="grey" )
81
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
55 } else if( whatToPlot == 'chromosomes' ){
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
56 catMsg( c( "Plotting subset of chromosomes" ) )
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
57 fdata <- qdnaseqObject@featureData@data
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
58 idx_region <- which( fdata$chromosome %in% chromosomesToPlot )
87
8391cdb7479c Uploaded
stef
parents: 81
diff changeset
59 plot( qdnaseqObject[ idx_region, sample ], ylab=ylab_text )
88
d2ea2b842c21 Uploaded
stef
parents: 87
diff changeset
60 abline( h=c(-4,-3,-2,-1,1,2,3,4), lty=1, lwd=0.5, col="grey" )
81
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
61 } else if( whatToPlot == 'region' ){
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
62 regionC <- chrName
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
63 regionS <- chrStart
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
64 regionE <- chrEnd
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
65 if ( regionS > regionE ) stop("Chosen start is > end")
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
66 catMsg( c( "Plotting genomic region (chr=", regionC, " start=", regionS, " end=", regionE, ")" ) )
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
67
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
68 fdata <- qdnaseqObject@featureData@data
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
69 idx_region <- which( fdata$chromosome == regionC & fdata$start > regionS & fdata$end < regionE )
87
8391cdb7479c Uploaded
stef
parents: 81
diff changeset
70 cat( idx_region, "\n")
81
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
71
87
8391cdb7479c Uploaded
stef
parents: 81
diff changeset
72 plot( qdnaseqObject[ idx_region, sample ], doCalls=FALSE, ylab=ylab_text )
81
5eec30e0fcce Uploaded
stef
parents: 78
diff changeset
73 }
78
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
74 #mtext( "plotted in galaxy", 3 )
87
8391cdb7479c Uploaded
stef
parents: 81
diff changeset
75
78
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
76 dev.off()
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
77
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
78
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
79 ## all ok
81ba2f857fe2 Uploaded
stef
parents:
diff changeset
80 q(status=0)