annotate QDNAseq-export.R @ 27:f89205f51e27 draft default tip

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