72
|
1 #!/bin/sh
|
|
2
|
|
3 ## This script creates a config file for use with the QDNAseq R wrapper
|
|
4 ## For use outside Galaxy
|
|
5
|
|
6 QDNASEQ_R_SCRIPT='/ccagc/home/stef/code/QDNASEQ/QDNAseq.R'
|
|
7 R_LOCATION='/ccagc/lib/R/R-3.1.0/bin/'
|
|
8 OUTPUT_DIR='QDNASEQ'
|
|
9 SCRIPT_DIR=$(dirname $0)
|
|
10 SCRIPT_NAME=$(basename $0)
|
|
11
|
|
12 binSizesString='1000,100,15'
|
|
13 outputName=`basename $PWD`
|
|
14 doSegment='TRUE'
|
|
15 debug='FALSE'
|
|
16
|
|
17 usage()
|
|
18 {
|
|
19 cat<<EOF
|
|
20 This script creates a QDNAseq wrapper config.
|
|
21
|
|
22 Experiment name and/or output dir are optional
|
|
23 $SCRIPT_NAME [-n myExperiment] [-o outputDir] *.bam
|
|
24
|
|
25 Debug mode for working with build in LGG150 data
|
|
26 $SCRIPT_NAME -d
|
|
27
|
|
28 OPTIONS:
|
|
29 -n [s] provide analysis name [$outputName]
|
|
30 -o [s] output dir [$OUTPUT_DIR]
|
|
31 -d debug mode (only create config)
|
|
32
|
|
33 EOF
|
|
34 }
|
|
35
|
|
36 PARAM_COUNT=0
|
|
37 if [ $# -eq 0 ] || [ "$1" == "-h" ]
|
|
38 then
|
|
39 usage
|
|
40 exit 1
|
|
41 else
|
|
42 while getopts "n:o:d" opt; do
|
|
43 case $opt in
|
|
44 n)
|
|
45 #echo "$opt was triggered, Parameter: $OPTARG" >&2
|
|
46 outputName=$OPTARG
|
|
47 PARAM_COUNT=`bc <<< $PARAM_COUNT+2`
|
|
48 ;;
|
|
49 o)
|
|
50 OUTPUT_DIR=$OPTARG
|
|
51 PARAM_COUNT=`bc <<< $PARAM_COUNT+2`
|
|
52 ;;
|
|
53 d)
|
|
54 debug='TRUE'
|
|
55 PARAM_COUNT=`bc <<< $PARAM_COUNT+1`
|
|
56 ;;
|
|
57 \?)
|
|
58 echo "Invalid option: -$OPTARG" >&2
|
|
59 exit 1
|
|
60 ;;
|
|
61 :)
|
|
62 echo "Option -$OPTARG requires an argument." >&2
|
|
63 exit 1
|
|
64 ;;
|
|
65 esac
|
|
66 done
|
|
67 fi
|
|
68
|
|
69 ## set param dependent variables
|
|
70 printf '%s\n' "[INFO] --- QDNAseq wrapper config creator ---"
|
|
71 CONFIG_FILE=$OUTPUT_DIR'/qdnaseqConfig.R'
|
|
72
|
|
73 ## remove the params from input string leaving only the BAMs
|
|
74 shift $PARAM_COUNT
|
|
75
|
|
76 ## sanity checks
|
|
77 if [ -e $CONFIG_FILE ]; then
|
|
78 echo "[ERR] Config file ($CONFIG_FILE) already exists, exit..";
|
|
79 exit 0
|
|
80 fi
|
|
81 if [ -d $OUTPUT_DIR ]; then
|
|
82 echo "[ERR] Output dir ($OUTPUT_DIR) already exists, exit..";
|
|
83 exit 0
|
|
84 else
|
|
85 mkdir $OUTPUT_DIR
|
|
86 fi
|
|
87
|
|
88 ## variables setup
|
|
89 CONFIG_TXT="## ==========
|
|
90 ## QDNAseq pipeline config file
|
|
91 ## ==========
|
|
92
|
|
93 ## ----------
|
|
94 inGalaxy <- FALSE
|
|
95 binSizesString <- '$binSizesString'
|
|
96 experimentType <- 'SR50'
|
|
97 outputName <- '$outputName'
|
|
98
|
|
99 ## ----------
|
|
100 outputHtml <- 'galaxyIndex.html'
|
|
101 outputId <- NA
|
|
102 newFilePath <- '$OUTPUT_DIR'
|
|
103 outputPath <- '$OUTPUT_DIR'
|
|
104 doSegment <- as.logical( $doSegment )
|
|
105 debug <- as.logical( $debug )
|
|
106 undoSD <- as.double( 1.0 )
|
|
107 binAnnotations <- ''
|
|
108
|
|
109 ## ----------
|
|
110 filterBlacklistedBins <- as.logical( 'TRUE' )
|
|
111 mappabilityCutoff <- as.integer( 0 )
|
|
112 undoSplits <- 'sdundo'
|
|
113 doOutputCopynumbersIgv <- FALSE
|
|
114
|
|
115 ## ----------
|
|
116 PLOT_WIDTH <- as.integer( 1440 )
|
|
117 PLOT_HEIGHT <- as.integer( 720 )
|
|
118 excludeChrsString <- 'X,Y'
|
|
119
|
|
120 ## ----------
|
|
121 bamsPaths <- c()
|
|
122 bamsNames <- c()
|
|
123 "
|
|
124
|
|
125 ## create config file
|
|
126 printf '%s\n' "$CONFIG_TXT" > $CONFIG_FILE
|
|
127
|
|
128 ## add bam files to config file
|
|
129 BAMS=$@
|
|
130 for bam_path in $BAMS; do
|
|
131
|
|
132 if [ ! -e $bam_path ]; then
|
|
133 echo "[ERR] Bam file does not exist ($bam_path), exit..";
|
|
134 exit 0
|
|
135 fi
|
|
136
|
|
137 bam_name=`basename "$bam_path"`
|
|
138 printf '%s\n' "bamsPaths <- c( bamsPaths, \"$bam_path\" )" >> $CONFIG_FILE
|
|
139 printf '%s\n' "bamsNames <- c( bamsNames, \"$bam_name\" )" >> $CONFIG_FILE
|
|
140 printf '%s\n' "[INFO] BAM: $bam_name"
|
|
141 done
|
|
142
|
|
143 ## done
|
|
144 printf '%s\n' "[INFO] OUTPUT DIR: $OUTPUT_DIR"
|
|
145 printf '%s\n' "[INFO] OUTPUT NAME: $outputName"
|
|
146 printf '%s\n' "[INFO] CONFIG FILE can be found in $CONFIG_FILE"
|
|
147 printf '%s\n' "[INFO] Run with: $R_LOCATION/Rscript $QDNASEQ_R_SCRIPT $CONFIG_FILE"
|
|
148 printf '%s\n' "[INFO] Done" |