annotate rDiff/bin/rdiff @ 0:0f80a5141704

version 0.3 uploaded
author vipints
date Thu, 14 Feb 2013 23:38:36 -0500
parents
children 233c30f91d66
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
1 #/bin/bash
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
2 # rDiff wrapper script to start the interpreter with the correct list of arguments
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
3
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
4 set -e
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
5
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
6
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
7 function usage () {
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
8 echo "
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
9 Usage: rdiff [-OPTION VALUE]
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
10
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
11 Options:
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
12
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
13 -h Display this help
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
14 -o The output directory for the results
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
15 -d Directory where the bam-files are
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
16 -a Comma separated list of bam-files for sample 1 (No spaces between the files: File1.bam,File2.bam,...)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
17 -b Comma separated list of bam-files for sample 2 (No spaces between the files: File1.bam,File2.bam,...)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
18 -g Path to GFF3 gene structure
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
19 -L Read length used for rDiff.parametric (Default: 75)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
20 -m Method to use for testing: param for rDiff.parametric (Default)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
21 nonparam for rDiff.nonparametric
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
22 poisson for rDiff.poisson
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
23 mmd for rDiff.mmd
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
24
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
25 Advanced options:
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
26
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
27 -M Minimal read length required (Default: 30)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
28 -e Estimate the gene expression and counts in alternative regions (Yes (Default):1, No: 0)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
29 -E Only estimate the gene expression do not perform testing (Yes:1, No (Default): 0)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
30 -A Path to variance function for sample 1 (Experimental)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
31 -B Path to variance function for sample 2 (Experimental)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
32 -S Filename under which variance function for sample 1 will be saved (Experimental)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
33 -T Filename under which variance function for sample 2 will be saved (Experimental)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
34 -P Parameters of variance function for sample 1 of the form a+b*x+b*x^2 (Given as: a,b,c) (Experimental)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
35 -Q Parameters of variance function for sample 2 of the form a+b*x+b*x^2 (Given as: a,b,c) (Experimental)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
36 -y Use only the gene start and stop for the rDiff.nonparametric variance function estimation (Yes:1, No (Default): 0) (Experimental)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
37 -s Number of reads per gene to which to downsample (Default: 10000)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
38 -C Number of bases to clip from each end of each read (Default: 3)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
39 -p Number of permutations performed for rDiff.nonparametric (Default: 1000)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
40 -x Merge sample 1 and sample 2 for variance function estimation (Yes:1, No (Default): 0)
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
41
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
42 "
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
43 exit 0
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
44 }
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
45
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
46 CURR_DIR=`dirname $0`
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
47 . $CURR_DIR/rdiff_config.sh
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
48
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
49 PROG=`basename $0`
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
50 DIR=`dirname $0`
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
51
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
52
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
53 #check if arguments are given
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
54 [[ ! $1 ]] && { usage; }
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
55
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
56
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
57 #Initializing defaults
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
58 RDIFF_RES_DIR="."
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
59 RDIFF_INPUT_DIR="."
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
60 BAM_INPUT1=""
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
61 BAM_INPUT2=""
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
62 GFF_INPUT=""
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
63 READ_LENGTH="75"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
64 MIN_READ_LENGTH="30"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
65 EST_GENE_EXPR="1"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
66 ONLY_GENE_EXPR="0"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
67 VAR_PATH1=""
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
68 VAR_PATH2=""
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
69 SAVE_VAR1=""
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
70 SAVE_VAR2=""
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
71 PRED_VAR1=""
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
72 PRED_VAR2=""
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
73 ONLY_GENE_START="0"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
74 SUBSAMPLE="10000"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
75 CLIP="3"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
76 BOOTSTRAP="1000"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
77 TEST_METH_NAME="param"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
78
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
79 #Parsing command line arguments
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
80 while getopts ":d:o:a:b:g:L:m:e:E:A:B:S:T:P:Q:s:C:p:m:hx:y:" opt; do
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
81 case $opt in
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
82 o ) RDIFF_RES_DIR="$OPTARG" ;;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
83 d ) RDIFF_INPUT_DIR="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
84 a ) BAM_INPUT1="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
85 b ) BAM_INPUT2="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
86 g ) GFF_INPUT="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
87 L ) READ_LENGTH="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
88 M ) MIN_READ_LENGTH="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
89 e ) EST_GENE_EXPR="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
90 E ) ONLY_GENE_EXPR="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
91 A ) VAR_PATH1="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
92 B ) VAR_PATH2="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
93 S ) SAVE_VAR1="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
94 T ) SAVE_VAR2="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
95 P ) PRED_VAR1="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
96 Q ) PRED_VAR2="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
97 y ) ONLY_GENE_START="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
98 s ) SUBSAMPLE="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
99 C ) CLIP="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
100 p ) BOOTSTRAP="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
101 m ) TEST_METH_NAME="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
102 x ) MERGE_SAMPLE="$OPTARG";;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
103 h ) usage ;exit ;;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
104 \?) echo "Unkown parameter: $OPTARG"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
105 usage ;;
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
106
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
107 esac
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
108 done
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
109
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
110 #Perform baic checks of variables
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
111
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
112 errorFlag=true #No errors ecountered
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
113
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
114 if [ -z "$BAM_INPUT1" ]; then
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
115 echo "Please provide bamfiles for sample 1" >&2
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
116 errorFlag=false
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
117 fi
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
118 if [ -z "$BAM_INPUT2" ]; then
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
119 echo "Please provide bamfiles for sample 2" >&2
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
120 errorFlag=false
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
121 fi
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
122 if [ -z "$GFF_INPUT" ]; then
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
123 echo "Please provide genome annotation file in GFF" >&2
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
124 errorFlag=false
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
125 fi
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
126
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
127 if [ ! $errorFlag ]
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
128 then
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
129 echo "Error" >&2
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
130 exit 1
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
131 fi
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
132
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
133
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
134 #Generate parameter vector
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
135 PARAM_VECT="RDIFF_RES_DIR:$RDIFF_RES_DIR;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
136 PARAM_VECT="$PARAM_VECT""RDIFF_INPUT_DIR:$RDIFF_INPUT_DIR;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
137 PARAM_VECT="$PARAM_VECT""BAM_INPUT1:$BAM_INPUT1;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
138 PARAM_VECT="$PARAM_VECT""BAM_INPUT2:$BAM_INPUT2;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
139 PARAM_VECT="$PARAM_VECT""READ_LENGTH:$READ_LENGTH;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
140 PARAM_VECT="$PARAM_VECT""MIN_READ_LENGTH:$MIN_READ_LENGTH;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
141 PARAM_VECT="$PARAM_VECT""EST_GENE_EXPR:$EST_GENE_EXPR;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
142 PARAM_VECT="$PARAM_VECT""ONLY_GENE_EXPR:$ONLY_GENE_EXPR;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
143 PARAM_VECT="$PARAM_VECT""VAR_PATH1:$VAR_PATH1;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
144 PARAM_VECT="$PARAM_VECT""VAR_PATH2:$VAR_PATH2;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
145 PARAM_VECT="$PARAM_VECT""SAVE_VAR1:$SAVE_VAR1;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
146 PARAM_VECT="$PARAM_VECT""SAVE_VAR2:$SAVE_VAR2;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
147 PARAM_VECT="$PARAM_VECT""PRED_VAR1:$PRED_VAR1;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
148 PARAM_VECT="$PARAM_VECT""PRED_VAR2:$PRED_VAR2;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
149 PARAM_VECT="$PARAM_VECT""ONLY_GENE_START:$ONLY_GENE_START;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
150 PARAM_VECT="$PARAM_VECT""SUBSAMPLE:$SUBSAMPLE;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
151 PARAM_VECT="$PARAM_VECT""CLIP:$CLIP;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
152 PARAM_VECT="$PARAM_VECT""BOOTSTRAP:$BOOTSTRAP;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
153 PARAM_VECT="$PARAM_VECT""TEST_METH_NAME:$TEST_METH_NAME;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
154 PARAM_VECT="$PARAM_VECT""MERGE_SAMPLE:$MERGE_SAMPLE;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
155
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
156
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
157
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
158 echo %%%%%%%%%%%%%%%%%%%%%%%
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
159 echo % 1. Data preparation %
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
160 echo %%%%%%%%%%%%%%%%%%%%%%%
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
161 echo
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
162
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
163 #Check wether results directory exists
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
164 #if [ -d $RDIFF_RES_DIR ]
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
165 #then
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
166 # echo "Writting results to: $RDIFF_RES_DIR"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
167 #else
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
168 # mkdir $RDIFF_RES_DIR
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
169 #fi
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
170
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
171
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
172 echo 1a. load the genome annotation in GFF3 format, create an annotation object #\[Log file in ${RDIFF_RES_DIR}}/elegans-gff2anno.log\]
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
173 export PYTHONPATH=$PYTHONPATH:$RDIFF_PYTHON_PATH:${SCIPY_PATH}
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
174 ${RDIFF_PYTHON_PATH} -W ignore::RuntimeWarning ${DIR}/../tools/ParseGFF.py ${GFF_INPUT} ${RDIFF_RES_DIR}/genes.mat #> ${RDIFF_RES_DIR}}/elegans-gff2anno.log
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
175 ${DIR}/../bin/genes_cell2struct ${RDIFF_RES_DIR}/genes.mat
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
176
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
177
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
178 PARAM_VECT="$PARAM_VECT""GFF_INPUT:${RDIFF_RES_DIR}/genes.mat;"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
179
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
180 echo %%%%%%%%%%%%%%%%%%%%%%%%%%%
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
181 echo % 2. Differential testing %
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
182 echo %%%%%%%%%%%%%%%%%%%%%%%%%%%
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
183 echo
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
184
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
185 exec ${DIR}/start_interpreter.sh ${PROG} "$PARAM_VECT"
0f80a5141704 version 0.3 uploaded
vipints
parents:
diff changeset
186