# HG changeset patch # User stef # Date 1409929827 14400 # Node ID fb2dfd8ba417084cf359daa9d36848a686d457b5 # Parent a93649056969f09a165bfd4c4069c0576a547a54 Uploaded diff -r a93649056969 -r fb2dfd8ba417 QDNAseq.R --- a/QDNAseq.R Wed Aug 27 04:56:37 2014 -0400 +++ b/QDNAseq.R Fri Sep 05 11:10:27 2014 -0400 @@ -38,6 +38,8 @@ l1 <- length(paths) l2 <- length(names) if ( l1 != l2 ) stop( "Unequal amount of bam-paths (", l1, ") and -names (", l2, ") in makeBamFileList!!!\n" ) + if ( l1 == 0 ){ return(tmp) } # empty list in debug mode + for ( i in 1:length(paths) ){ path <- paths[i] name <- names[i] @@ -155,9 +157,6 @@ ## desparate tries to make png text scale well, damn you R...! PLOT_RES <- min( PLOT_WIDTH, PLOT_HEIGHT ) / 6.3 -#PLOT_PS <- min( PLOT_WIDTH, PLOT_HEIGHT ) / 40 -#TXT_FACTOR <- PLOT_WIDTH/480 -#PAR_SET <- list( pch=22, cex.lab=TXT_FACTOR, cex.main=TXT_FACTOR ) PAR_SET <- list( pch=22 ) systemUser <- system("whoami",T) @@ -176,8 +175,8 @@ ## ------------------------ ## DEBUG if ( debug ){ - catMsg( c("Analysis run under user: ", systemUser ) ) - catMsg( c("Here comes sessionInfo: " ) ) + catMsg( c("Analysis run by user: ", systemUser ) ) + catMsg( c("DEBUG SessionInfo: " ) ) print( sessionInfo() ) } ## /DEBUG @@ -189,7 +188,9 @@ } ## copy source config file to output dir to include it in output zip -file.copy( config, paste(outputPath, 'galaxyConfigFile.R', sep='/') ) +if ( inGalaxy ){ + file.copy( config, paste(outputPath, 'galaxyConfigFile.R', sep='/') ) +} ## setup bam filelist for easy retrieval later fileList <- makeBamFileList( bamsPaths, bamsNames ) @@ -233,7 +234,13 @@ igvCopyNrPath <- paste( outputPath, '/', igvCopyNrName, sep='') noiseImgPath <- paste( outputPath, '/', noiseImgName, sep='') - binAnnotations <- getBinAnnotations( binSize=binSize, type=experimentType ) + binAnnFile <- paste( TOOL_PATH, '/static/binannotation/', binSize, 'kbp_binAnnotations.rds', sep="" ) + if ( file.exists(binAnnFile) ){ + binAnnotations <- readRDS( binAnnFile ) + catMsg( c("Using local binAnnotations file" ) ) + }else{ + binAnnotations <- getBinAnnotations( binSize=binSize, type=experimentType ) + } ## in case of debug just use inbuilt LGG data for speedup if ( debug ){ @@ -493,8 +500,9 @@ ## ------------------------ ## creating main html output for galaxy history ## ------------------------ -sink( file = outputHtml, type = "output" ) - +if ( inGalaxy ){ # dont create when running outside Galaxy + sink( file = outputHtml, type = "output" ) + cat( "", "\n") cat( "\t", '', "\n", sep='' ) @@ -509,7 +517,8 @@ cat( '

Explore the results directly within galaxy

', "\n", sep="") cat( '

Or download a zipfile with all output (', zippedSize, ')

', "\n", sep="" ) -sink() + sink() +} ## ------------------------ ## create final zip and quit with status 0 to tell galaxy all was fine diff -r a93649056969 -r fb2dfd8ba417 QDNAseq.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QDNAseq.sh Fri Sep 05 11:10:27 2014 -0400 @@ -0,0 +1,148 @@ +#!/bin/sh + +## This script creates a config file for use with the QDNAseq R wrapper +## For use outside Galaxy + +QDNASEQ_R_SCRIPT='/ccagc/home/stef/code/QDNASEQ/QDNAseq.R' +R_LOCATION='/ccagc/lib/R/R-3.1.0/bin/' +OUTPUT_DIR='QDNASEQ' +SCRIPT_DIR=$(dirname $0) +SCRIPT_NAME=$(basename $0) + +binSizesString='1000,100,15' +outputName=`basename $PWD` +doSegment='TRUE' +debug='FALSE' + +usage() +{ +cat<&2 + outputName=$OPTARG + PARAM_COUNT=`bc <<< $PARAM_COUNT+2` + ;; + o) + OUTPUT_DIR=$OPTARG + PARAM_COUNT=`bc <<< $PARAM_COUNT+2` + ;; + d) + debug='TRUE' + PARAM_COUNT=`bc <<< $PARAM_COUNT+1` + ;; + \?) + echo "Invalid option: -$OPTARG" >&2 + exit 1 + ;; + :) + echo "Option -$OPTARG requires an argument." >&2 + exit 1 + ;; + esac + done +fi + +## set param dependent variables +printf '%s\n' "[INFO] --- QDNAseq wrapper config creator ---" +CONFIG_FILE=$OUTPUT_DIR'/qdnaseqConfig.R' + +## remove the params from input string leaving only the BAMs +shift $PARAM_COUNT + +## sanity checks +if [ -e $CONFIG_FILE ]; then + echo "[ERR] Config file ($CONFIG_FILE) already exists, exit.."; + exit 0 +fi +if [ -d $OUTPUT_DIR ]; then + echo "[ERR] Output dir ($OUTPUT_DIR) already exists, exit.."; + exit 0 +else + mkdir $OUTPUT_DIR +fi + +## variables setup +CONFIG_TXT="## ========== +## QDNAseq pipeline config file +## ========== + +## ---------- +inGalaxy <- FALSE +binSizesString <- '$binSizesString' +experimentType <- 'SR50' +outputName <- '$outputName' + +## ---------- +outputHtml <- 'galaxyIndex.html' +outputId <- NA +newFilePath <- '$OUTPUT_DIR' +outputPath <- '$OUTPUT_DIR' +doSegment <- as.logical( $doSegment ) +debug <- as.logical( $debug ) +undoSD <- as.double( 1.0 ) +binAnnotations <- '' + +## ---------- +filterBlacklistedBins <- as.logical( 'TRUE' ) +mappabilityCutoff <- as.integer( 0 ) +undoSplits <- 'sdundo' +doOutputCopynumbersIgv <- FALSE + +## ---------- +PLOT_WIDTH <- as.integer( 1440 ) +PLOT_HEIGHT <- as.integer( 720 ) +excludeChrsString <- 'X,Y' + +## ---------- +bamsPaths <- c() +bamsNames <- c() +" + +## create config file +printf '%s\n' "$CONFIG_TXT" > $CONFIG_FILE + +## add bam files to config file +BAMS=$@ +for bam_path in $BAMS; do + + if [ ! -e $bam_path ]; then + echo "[ERR] Bam file does not exist ($bam_path), exit.."; + exit 0 + fi + + bam_name=`basename "$bam_path"` + printf '%s\n' "bamsPaths <- c( bamsPaths, \"$bam_path\" )" >> $CONFIG_FILE + printf '%s\n' "bamsNames <- c( bamsNames, \"$bam_name\" )" >> $CONFIG_FILE + printf '%s\n' "[INFO] BAM: $bam_name" +done + +## done +printf '%s\n' "[INFO] OUTPUT DIR: $OUTPUT_DIR" +printf '%s\n' "[INFO] OUTPUT NAME: $outputName" +printf '%s\n' "[INFO] CONFIG FILE can be found in $CONFIG_FILE" +printf '%s\n' "[INFO] Run with: $R_LOCATION/Rscript $QDNASEQ_R_SCRIPT $CONFIG_FILE" +printf '%s\n' "[INFO] Done" \ No newline at end of file diff -r a93649056969 -r fb2dfd8ba417 QDNAseq.xml --- a/QDNAseq.xml Wed Aug 27 04:56:37 2014 -0400 +++ b/QDNAseq.xml Fri Sep 05 11:10:27 2014 -0400 @@ -10,7 +10,6 @@ Quantitative copy number abberation detection - QDNAseq.R @@ -38,9 +37,9 @@ - + - + @@ -166,6 +165,7 @@ ## ----- ## required params ## ----- +TRUE -> inGalaxy "${binSizes}" -> binSizesString "${experimentType}" -> experimentType "${jobName}" -> outputName diff -r a93649056969 -r fb2dfd8ba417 static/binannotation/1000kbp_binAnnotations.rds Binary file static/binannotation/1000kbp_binAnnotations.rds has changed diff -r a93649056969 -r fb2dfd8ba417 static/binannotation/100kbp_binAnnotations.rds Binary file static/binannotation/100kbp_binAnnotations.rds has changed diff -r a93649056969 -r fb2dfd8ba417 static/binannotation/15kbp_binAnnotations.rds Binary file static/binannotation/15kbp_binAnnotations.rds has changed diff -r a93649056969 -r fb2dfd8ba417 static/binannotation/30kbp_binAnnotations.rds Binary file static/binannotation/30kbp_binAnnotations.rds has changed diff -r a93649056969 -r fb2dfd8ba417 static/images/LGG150_copynumber.png Binary file static/images/LGG150_copynumber.png has changed diff -r a93649056969 -r fb2dfd8ba417 static/images/LGG150_copynumberSegmented.png Binary file static/images/LGG150_copynumberSegmented.png has changed diff -r a93649056969 -r fb2dfd8ba417 static/images/LGG150_copynumber_example.png Binary file static/images/LGG150_copynumber_example.png has changed diff -r a93649056969 -r fb2dfd8ba417 tool_dependencies.xml --- a/tool_dependencies.xml Wed Aug 27 04:56:37 2014 -0400 +++ b/tool_dependencies.xml Fri Sep 05 11:10:27 2014 -0400 @@ -5,19 +5,21 @@ - - + + + + + -