annotate QDNAseq.sh @ 88:d2ea2b842c21 draft default tip

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