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