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

Uploaded
author stef
date Mon, 06 Jul 2015 06:29:19 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
88
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
1 #!/usr/bin/Rscript
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
2
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
3 ## --------------------
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
4 ## prints all arguments as msg
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
5 ## --------------------
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
6 catMsg <- function( msg=c() ){
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
7 cat( MAIN_NAME, paste( msg, collapse="" ), "\n", sep='')
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
8 }
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
9
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
10 ## ==================================================
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
11 ## Start of analysis
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
12 ## ==================================================
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
13 MAIN_NAME <- '[INFO] '
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
14 catMsg( "Starting QDNAseq-export wrapper" )
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
15
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
16 ## supress msg to allow R to finish with non-error msg
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
17 catMsg( "Loading R libraries" )
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
18 suppressWarnings( suppressMessages( library( QDNAseq, quietly = TRUE ) ) )
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
19 suppressWarnings( suppressMessages( library( CGHcall, quietly = TRUE ) ) )
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
20
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
21 ## only one param: the tmp config file
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
22 cmdLineArgs <- commandArgs(TRUE)
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
23 config <- cmdLineArgs[1]
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
24
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
25 ## sourcing the config file will load all input params
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
26 ## many variables are imported via sourced "config"
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
27 source( config ) # outputFile, outputName, outputFormat, sampleIndex, filterBins
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
28
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
29 systemUser <- system("whoami",T)
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
30 qdnaseqVersion <- packageDescription( "QDNAseq" )$Version
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
31 rVersion <- R.version.string
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
32 rPath <- R.home()
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
33 catMsg( c("QDNAseq version ", qdnaseqVersion) )
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
34 catMsg( c( rVersion ) )
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
35 qdnaseqObject <- readRDS( rdsFilePath )
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
36 logTransform <- TRUE
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
37
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
38 sampleNames <- sampleNames( qdnaseqObject )
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
39 elements <- assayDataElementNames(qdnaseqObject)
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
40 element <- dataLevel
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
41 if (dataLevel == "segments") element <- "segmented"
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
42 if (element == "calls") logTransform <- FALSE
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
43
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
44 ## sanity checks
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
45 if ( ! element %in% elements ) stop( paste( "Data-level \"", element, "\" not present in object", sep='') )
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
46 if ( outputFormat == "bed" ){
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
47 if ( sampleIndex == "None") stop("Bed option requires sample index")
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
48 if ( sampleIndex > length(sampleNames) ) stop("Chosen sample index not present in object")
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
49 qdnaseqObject <- qdnaseqObject[ ,sampleIndex]
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
50 }
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
51
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
52 ## output
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
53 exportBins( qdnaseqObject,
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
54 file=outputFile,
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
55 format=outputFormat,
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
56 filter=filterBins,
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
57 type=dataLevel,
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
58 logTransform=logTransform
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
59 )
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
60
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
61 ## tell galaxy all seems ok
d2ea2b842c21 Uploaded
stef
parents:
diff changeset
62 q(status=0)