Mercurial > repos > stef > qdnaseq
diff QDNAseq.sh @ 72:fb2dfd8ba417 draft
Uploaded
author | stef |
---|---|
date | Fri, 05 Sep 2014 11:10:27 -0400 |
parents | |
children |
line wrap: on
line diff
--- /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<<EOF + This script creates a QDNAseq wrapper config. + + Experiment name and/or output dir are optional + $SCRIPT_NAME [-n myExperiment] [-o outputDir] *.bam + + Debug mode for working with build in LGG150 data + $SCRIPT_NAME -d + + OPTIONS: + -n [s] provide analysis name [$outputName] + -o [s] output dir [$OUTPUT_DIR] + -d debug mode (only create config) + +EOF +} + +PARAM_COUNT=0 +if [ $# -eq 0 ] || [ "$1" == "-h" ] +then + usage + exit 1 +else + while getopts "n:o:d" opt; do + case $opt in + n) + #echo "$opt was triggered, Parameter: $OPTARG" >&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