annotate chipmunkv6_wrapper.sh @ 2:379a6c377ed1 draft default tip

Uploaded
author jbrayet
date Wed, 10 Feb 2016 11:14:19 -0500
parents 299bac53243b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
299bac53243b Uploaded
jbrayet
parents:
diff changeset
1 #!/bin/bash
299bac53243b Uploaded
jbrayet
parents:
diff changeset
2
299bac53243b Uploaded
jbrayet
parents:
diff changeset
3 : <<'hey'
299bac53243b Uploaded
jbrayet
parents:
diff changeset
4
299bac53243b Uploaded
jbrayet
parents:
diff changeset
5 check the logs in case of error:
299bac53243b Uploaded
jbrayet
parents:
diff changeset
6 - go to : /bioinfo/http/prod/hosted/nebula.curie.fr/galaxy-dist/database/files/XXX
299bac53243b Uploaded
jbrayet
parents:
diff changeset
7 - see log1 (.log) : run stdout
299bac53243b Uploaded
jbrayet
parents:
diff changeset
8 - see log2 (tmp.log): echos, montage log..
299bac53243b Uploaded
jbrayet
parents:
diff changeset
9
299bac53243b Uploaded
jbrayet
parents:
diff changeset
10 PWM from the mono version are reversed in summary file compared to what's in the raw log, this is done for compatibility with AhoPro.
299bac53243b Uploaded
jbrayet
parents:
diff changeset
11 diPWM are kept as in the raw log
299bac53243b Uploaded
jbrayet
parents:
diff changeset
12
299bac53243b Uploaded
jbrayet
parents:
diff changeset
13 hey
299bac53243b Uploaded
jbrayet
parents:
diff changeset
14
299bac53243b Uploaded
jbrayet
parents:
diff changeset
15
299bac53243b Uploaded
jbrayet
parents:
diff changeset
16 while getopts "f:n:s:m:v:o:z:i:x:r:t:" optionName; do
299bac53243b Uploaded
jbrayet
parents:
diff changeset
17 case "$optionName" in
299bac53243b Uploaded
jbrayet
parents:
diff changeset
18
299bac53243b Uploaded
jbrayet
parents:
diff changeset
19 f) inputfile="$OPTARG";;
299bac53243b Uploaded
jbrayet
parents:
diff changeset
20 n) NUMBER="$OPTARG";; #nbr of motifs to search
299bac53243b Uploaded
jbrayet
parents:
diff changeset
21 s) VERSION="$OPTARG";;
299bac53243b Uploaded
jbrayet
parents:
diff changeset
22 m) minW="$OPTARG";;
299bac53243b Uploaded
jbrayet
parents:
diff changeset
23 v) maxW="$OPTARG";;
299bac53243b Uploaded
jbrayet
parents:
diff changeset
24 o) LOG="$OPTARG";; #raw chipmunk output file
299bac53243b Uploaded
jbrayet
parents:
diff changeset
25 z) MODE="$OPTARG";; #mask or filter
299bac53243b Uploaded
jbrayet
parents:
diff changeset
26 i) OUTPNG="$OPTARG";;
299bac53243b Uploaded
jbrayet
parents:
diff changeset
27 x) NAME="$OPTARG";;
299bac53243b Uploaded
jbrayet
parents:
diff changeset
28 r) summary="$OPTARG";;
299bac53243b Uploaded
jbrayet
parents:
diff changeset
29 t) seqType="$OPTARG";;
299bac53243b Uploaded
jbrayet
parents:
diff changeset
30 esac
299bac53243b Uploaded
jbrayet
parents:
diff changeset
31 done
299bac53243b Uploaded
jbrayet
parents:
diff changeset
32
299bac53243b Uploaded
jbrayet
parents:
diff changeset
33
299bac53243b Uploaded
jbrayet
parents:
diff changeset
34 # my tmp log for debug needs
299bac53243b Uploaded
jbrayet
parents:
diff changeset
35 TMPLOG1=$OUTPNG.log
299bac53243b Uploaded
jbrayet
parents:
diff changeset
36 TMPLOG2=$OUTPNG.tmp.log
299bac53243b Uploaded
jbrayet
parents:
diff changeset
37 echo "$@" > $TMPLOG2
299bac53243b Uploaded
jbrayet
parents:
diff changeset
38
299bac53243b Uploaded
jbrayet
parents:
diff changeset
39
299bac53243b Uploaded
jbrayet
parents:
diff changeset
40 ### Create tmp working dir :
299bac53243b Uploaded
jbrayet
parents:
diff changeset
41
299bac53243b Uploaded
jbrayet
parents:
diff changeset
42 OUTDIR=`mktemp -d`
299bac53243b Uploaded
jbrayet
parents:
diff changeset
43 local_path=/usr/bin/chipmunk/ChIPMunk_6.0a
299bac53243b Uploaded
jbrayet
parents:
diff changeset
44
299bac53243b Uploaded
jbrayet
parents:
diff changeset
45 echo $OUTDIR > $TMPLOG2
299bac53243b Uploaded
jbrayet
parents:
diff changeset
46 #chmod 777 $TMPLOG2
299bac53243b Uploaded
jbrayet
parents:
diff changeset
47
299bac53243b Uploaded
jbrayet
parents:
diff changeset
48 if [ -d $OUTDIR ]; then
299bac53243b Uploaded
jbrayet
parents:
diff changeset
49 echo "Directory $OUTDIR exists" >> $TMPLOG2
299bac53243b Uploaded
jbrayet
parents:
diff changeset
50 chmod 777 $OUTDIR
299bac53243b Uploaded
jbrayet
parents:
diff changeset
51 else
299bac53243b Uploaded
jbrayet
parents:
diff changeset
52 mkdir $OUTDIR
299bac53243b Uploaded
jbrayet
parents:
diff changeset
53
299bac53243b Uploaded
jbrayet
parents:
diff changeset
54 fi
299bac53243b Uploaded
jbrayet
parents:
diff changeset
55 chmod -R 777 $OUTDIR
299bac53243b Uploaded
jbrayet
parents:
diff changeset
56
299bac53243b Uploaded
jbrayet
parents:
diff changeset
57 #move to tmp dir
299bac53243b Uploaded
jbrayet
parents:
diff changeset
58
299bac53243b Uploaded
jbrayet
parents:
diff changeset
59 cd $OUTDIR
299bac53243b Uploaded
jbrayet
parents:
diff changeset
60
299bac53243b Uploaded
jbrayet
parents:
diff changeset
61
299bac53243b Uploaded
jbrayet
parents:
diff changeset
62 #bluid motif length argument
299bac53243b Uploaded
jbrayet
parents:
diff changeset
63 motifs="$minW:$maxW"
299bac53243b Uploaded
jbrayet
parents:
diff changeset
64 for (( c=1; c<$NUMBER; c++ ))
299bac53243b Uploaded
jbrayet
parents:
diff changeset
65 do
299bac53243b Uploaded
jbrayet
parents:
diff changeset
66 motifs="$motifs,$minW:$maxW"
299bac53243b Uploaded
jbrayet
parents:
diff changeset
67 done
299bac53243b Uploaded
jbrayet
parents:
diff changeset
68
299bac53243b Uploaded
jbrayet
parents:
diff changeset
69
299bac53243b Uploaded
jbrayet
parents:
diff changeset
70 if [ "$VERSION" == "Mono" ]; then
299bac53243b Uploaded
jbrayet
parents:
diff changeset
71 ##run run_chiphordre
299bac53243b Uploaded
jbrayet
parents:
diff changeset
72 # optional option after 's:' <try_limit> <step_limit> <iter_limit> <thread_count>, put only defaut value in order to acess <thread_count> which is set to 4
299bac53243b Uploaded
jbrayet
parents:
diff changeset
73
299bac53243b Uploaded
jbrayet
parents:
diff changeset
74
299bac53243b Uploaded
jbrayet
parents:
diff changeset
75 echo " ruby $local_path/run_chiphorde6.rb $NAME $motifs $MODE yes 1.0 s:$inputfile 100 10 1 4" >> $TMPLOG2
299bac53243b Uploaded
jbrayet
parents:
diff changeset
76 ruby $local_path/run_chiphorde6.rb $NAME $motifs $MODE yes 1.0 $seqType:$inputfile 100 10 1 4 1>> $TMPLOG1 2>&1
299bac53243b Uploaded
jbrayet
parents:
diff changeset
77
299bac53243b Uploaded
jbrayet
parents:
diff changeset
78 ## 1ST OUTPUT : raw log
299bac53243b Uploaded
jbrayet
parents:
diff changeset
79 mv $NAME\_chiphorde.log $LOG
299bac53243b Uploaded
jbrayet
parents:
diff changeset
80
299bac53243b Uploaded
jbrayet
parents:
diff changeset
81
299bac53243b Uploaded
jbrayet
parents:
diff changeset
82 else
299bac53243b Uploaded
jbrayet
parents:
diff changeset
83 ##run run_chiphordre
299bac53243b Uploaded
jbrayet
parents:
diff changeset
84
299bac53243b Uploaded
jbrayet
parents:
diff changeset
85
299bac53243b Uploaded
jbrayet
parents:
diff changeset
86 echo "ruby $local_path/run_dichiphorde6.rb $NAME $motifs $MODE yes 1.0 s:$inputfile 200 20 1 4" >> $TMPLOG2
299bac53243b Uploaded
jbrayet
parents:
diff changeset
87 ruby $local_path/run_dichiphorde6.rb $NAME $motifs $MODE yes 1.0 $seqType:$inputfile 200 20 1 4 1>> $TMPLOG1 2>&1
299bac53243b Uploaded
jbrayet
parents:
diff changeset
88
299bac53243b Uploaded
jbrayet
parents:
diff changeset
89 ## 1ST OUTPUT : raw log
299bac53243b Uploaded
jbrayet
parents:
diff changeset
90 mv $NAME\_dichipmunk.log $LOG #raw log
299bac53243b Uploaded
jbrayet
parents:
diff changeset
91
299bac53243b Uploaded
jbrayet
parents:
diff changeset
92 fi
299bac53243b Uploaded
jbrayet
parents:
diff changeset
93
299bac53243b Uploaded
jbrayet
parents:
diff changeset
94 ## get info line for summary file: INFO|found X motifs, used Y sequences
299bac53243b Uploaded
jbrayet
parents:
diff changeset
95 INFO=$( awk '/^INFO\|/ {$1=""; print $0}' $LOG )
299bac53243b Uploaded
jbrayet
parents:
diff changeset
96
299bac53243b Uploaded
jbrayet
parents:
diff changeset
97
299bac53243b Uploaded
jbrayet
parents:
diff changeset
98 ## get nbr of motif X
299bac53243b Uploaded
jbrayet
parents:
diff changeset
99 N=$( awk '/^INFO\|/ {split($0,tab); print tab[2] }' $LOG )
299bac53243b Uploaded
jbrayet
parents:
diff changeset
100
299bac53243b Uploaded
jbrayet
parents:
diff changeset
101 ## get threshold of each motif found : stored in variable Tx / x={1,2,....N}
299bac53243b Uploaded
jbrayet
parents:
diff changeset
102 cat $LOG | awk ' /^THRE\|/ { print $0}' | awk -v n=$N 'BEGIN {c=1} { if (NR <=n) print > "threshold_"c++}'
299bac53243b Uploaded
jbrayet
parents:
diff changeset
103
299bac53243b Uploaded
jbrayet
parents:
diff changeset
104
299bac53243b Uploaded
jbrayet
parents:
diff changeset
105 ## 2ND OUTPUT : build the motif's png : use montage command
299bac53243b Uploaded
jbrayet
parents:
diff changeset
106
299bac53243b Uploaded
jbrayet
parents:
diff changeset
107 #NB: montage -fill_image colxline -mode framing_style input_images.xml.png final_logo.png
299bac53243b Uploaded
jbrayet
parents:
diff changeset
108 myPng=$NAME\_0.png
299bac53243b Uploaded
jbrayet
parents:
diff changeset
109 us='_'
299bac53243b Uploaded
jbrayet
parents:
diff changeset
110
299bac53243b Uploaded
jbrayet
parents:
diff changeset
111 for (( i=1; i< $N; i++ ))
299bac53243b Uploaded
jbrayet
parents:
diff changeset
112 do
299bac53243b Uploaded
jbrayet
parents:
diff changeset
113 myPng="$myPng $NAME$us$i.png"
299bac53243b Uploaded
jbrayet
parents:
diff changeset
114 done
299bac53243b Uploaded
jbrayet
parents:
diff changeset
115
299bac53243b Uploaded
jbrayet
parents:
diff changeset
116 echo " myPng=$myPng" >> $TMPLOG2
299bac53243b Uploaded
jbrayet
parents:
diff changeset
117 echo " montage -tile 1x$N -mode Concatenate $myPng $OUTPNG " >> $TMPLOG2
299bac53243b Uploaded
jbrayet
parents:
diff changeset
118 montage -tile 1x$N -mode Concatenate $myPng $OUTPNG
299bac53243b Uploaded
jbrayet
parents:
diff changeset
119
299bac53243b Uploaded
jbrayet
parents:
diff changeset
120
299bac53243b Uploaded
jbrayet
parents:
diff changeset
121
299bac53243b Uploaded
jbrayet
parents:
diff changeset
122
299bac53243b Uploaded
jbrayet
parents:
diff changeset
123 ## 3RD OUTPUT : build summary file (run infos + results summary)
299bac53243b Uploaded
jbrayet
parents:
diff changeset
124
299bac53243b Uploaded
jbrayet
parents:
diff changeset
125 cat <<-SUM > $summary
299bac53243b Uploaded
jbrayet
parents:
diff changeset
126 *** Run summary information ***
299bac53243b Uploaded
jbrayet
parents:
diff changeset
127
299bac53243b Uploaded
jbrayet
parents:
diff changeset
128 ChiPMunk version used : $VERSION.ChIPMunk V6 17052014
299bac53243b Uploaded
jbrayet
parents:
diff changeset
129 Number of different motifs to search : $NUMBER
299bac53243b Uploaded
jbrayet
parents:
diff changeset
130 Min:Max width used : $minW:$maxW
299bac53243b Uploaded
jbrayet
parents:
diff changeset
131 Mode used : $MODE
299bac53243b Uploaded
jbrayet
parents:
diff changeset
132
299bac53243b Uploaded
jbrayet
parents:
diff changeset
133 *** Results summary ***
299bac53243b Uploaded
jbrayet
parents:
diff changeset
134
299bac53243b Uploaded
jbrayet
parents:
diff changeset
135 $VERSION.ChIPMunk found $INFO.
299bac53243b Uploaded
jbrayet
parents:
diff changeset
136 PWMs of each motif found, with respective threshold :
299bac53243b Uploaded
jbrayet
parents:
diff changeset
137
299bac53243b Uploaded
jbrayet
parents:
diff changeset
138 SUM
299bac53243b Uploaded
jbrayet
parents:
diff changeset
139
299bac53243b Uploaded
jbrayet
parents:
diff changeset
140 #now, write (d)pcm in summary : motif 1, 2, 3..
299bac53243b Uploaded
jbrayet
parents:
diff changeset
141
299bac53243b Uploaded
jbrayet
parents:
diff changeset
142 for (( i=0 ; i< $N ; i++))
299bac53243b Uploaded
jbrayet
parents:
diff changeset
143 do
299bac53243b Uploaded
jbrayet
parents:
diff changeset
144 j=$((i+1))
299bac53243b Uploaded
jbrayet
parents:
diff changeset
145 echo "#Motif $j:" >> $summary
299bac53243b Uploaded
jbrayet
parents:
diff changeset
146 ## append pwm to summary . In case of mono, first reverse pwm (hori -> verti) for compatibility with AhoPro
299bac53243b Uploaded
jbrayet
parents:
diff changeset
147 if [ $VERSION == "Mono" ]; then
299bac53243b Uploaded
jbrayet
parents:
diff changeset
148 # append pmw to summary
299bac53243b Uploaded
jbrayet
parents:
diff changeset
149 cat $NAME$us$i.pwm >> $summary
299bac53243b Uploaded
jbrayet
parents:
diff changeset
150 else
299bac53243b Uploaded
jbrayet
parents:
diff changeset
151 # append dpwm
299bac53243b Uploaded
jbrayet
parents:
diff changeset
152 awk -v pwm="$NAME$us$i.dpwm" -f $local_path/addCol.awk $local_path/di_nuc.txt >> $summary
299bac53243b Uploaded
jbrayet
parents:
diff changeset
153 #cat "$NAME$us$i.dpcm" >> $summary
299bac53243b Uploaded
jbrayet
parents:
diff changeset
154 fi
299bac53243b Uploaded
jbrayet
parents:
diff changeset
155 # append threshold to summary
299bac53243b Uploaded
jbrayet
parents:
diff changeset
156 cat threshold_$j >> $summary
299bac53243b Uploaded
jbrayet
parents:
diff changeset
157 echo -e "\n" >> $summary
299bac53243b Uploaded
jbrayet
parents:
diff changeset
158
299bac53243b Uploaded
jbrayet
parents:
diff changeset
159 done
299bac53243b Uploaded
jbrayet
parents:
diff changeset
160 echo "For detailed results, see ChIPMunk detailed log." >> $summary
299bac53243b Uploaded
jbrayet
parents:
diff changeset
161
299bac53243b Uploaded
jbrayet
parents:
diff changeset
162 rm $NAME*
299bac53243b Uploaded
jbrayet
parents:
diff changeset
163 rm threshold*
299bac53243b Uploaded
jbrayet
parents:
diff changeset
164 #if [ -r $TMPLOG1 ]; then
299bac53243b Uploaded
jbrayet
parents:
diff changeset
165 # rm $TMPLOG
299bac53243b Uploaded
jbrayet
parents:
diff changeset
166 #fi
299bac53243b Uploaded
jbrayet
parents:
diff changeset
167
299bac53243b Uploaded
jbrayet
parents:
diff changeset
168 #if [ -r $TMPLOG2 ]; then
299bac53243b Uploaded
jbrayet
parents:
diff changeset
169 # rm $TMPLOG
299bac53243b Uploaded
jbrayet
parents:
diff changeset
170 #fi
299bac53243b Uploaded
jbrayet
parents:
diff changeset
171
299bac53243b Uploaded
jbrayet
parents:
diff changeset
172