0
|
1 #!/bin/bash
|
110
|
2 #set -e
|
0
|
3 dir="$(cd "$(dirname "$0")" && pwd)"
|
|
4 input=$1
|
19
|
5 method=$2
|
102
|
6 log=$3 #becomes the main html page at the end
|
19
|
7 outdir=$4
|
102
|
8 output="$outdir/index.html" #copied to $log location at the end
|
19
|
9 title=$5
|
22
|
10 include_fr1=$6
|
34
|
11 functionality=$7
|
|
12 unique=$8
|
69
|
13 naive_output_ca=$9
|
|
14 naive_output_cg=${10}
|
|
15 naive_output_cm=${11}
|
|
16 filter_unique=${12}
|
|
17 class_filter=${13}
|
114
|
18 empty_region_filter=${14}
|
0
|
19 mkdir $outdir
|
|
20
|
110
|
21 tar -xzf $dir/style.tar.gz -C $outdir
|
|
22
|
55
|
23 echo "---------------- read parameters ----------------"
|
102
|
24 echo "---------------- read parameters ----------------<br />" > $log
|
55
|
25
|
|
26 echo "unpacking IMGT file"
|
|
27
|
35
|
28 type="`file $input`"
|
|
29 if [[ "$type" == *"Zip archive"* ]] ; then
|
|
30 echo "Zip archive"
|
|
31 echo "unzip $input -d $PWD/files/"
|
|
32 unzip $input -d $PWD/files/
|
|
33 elif [[ "$type" == *"XZ compressed data"* ]] ; then
|
|
34 echo "ZX archive"
|
|
35 echo "tar -xJf $input -C $PWD/files/"
|
|
36 mkdir -p $PWD/files/$title
|
|
37 tar -xJf $input -C $PWD/files/$title
|
|
38 fi
|
|
39
|
64
|
40 cat `find $PWD/files/ -name "1_*"` > $PWD/summary.txt
|
|
41 cat `find $PWD/files/ -name "3_*"` > $PWD/sequences.txt
|
|
42 cat `find $PWD/files/ -name "5_*"` > $PWD/aa.txt
|
|
43 cat `find $PWD/files/ -name "6_*"` > $PWD/junction.txt
|
|
44 cat `find $PWD/files/ -name "7_*"` > $PWD/mutationanalysis.txt
|
|
45 cat `find $PWD/files/ -name "8_*"` > $PWD/mutationstats.txt
|
|
46 cat `find $PWD/files/ -name "10_*"` > $PWD/hotspots.txt
|
|
47
|
119
|
48 if [[ ${#BLASTN_DIR} -ge 5 ]] ; then
|
|
49 echo "On server, using BLASTN_DIR env: ${BLASTN_DIR}"
|
|
50 else
|
|
51 BLASTN_DIR="/home/galaxy/Downloads/ncbi-blast-2.4.0+/bin"
|
|
52 echo "Dev Galaxy set BLASTN_DIR to: ${BLASTN_DIR}"
|
|
53 fi
|
19
|
54
|
89
|
55 echo "---------------- identification ($method) ----------------"
|
102
|
56 echo "---------------- identification ($method) ----------------<br />" >> $log
|
55
|
57
|
19
|
58 if [[ "${method}" == "custom" ]] ; then
|
|
59 python $dir/gene_identification.py --input $PWD/summary.txt --output $outdir/identified_genes.txt
|
|
60 else
|
119
|
61 echo "---------------- summary_to_fasta.py ----------------"
|
|
62 echo "---------------- summary_to_fasta.py ----------------<br />" >> $log
|
110
|
63
|
119
|
64 python $dir/summary_to_fasta.py --input $PWD/summary.txt --fasta $PWD/sequences.fasta
|
|
65
|
19
|
66 echo -e "qseqid\tsseqid\tpident\tlength\tmismatch\tgapopen\tqstart\tqend\tsstart\tsend\tevalue\tbitscore" > $outdir/identified_genes.txt
|
|
67 ${BLASTN_DIR}/blastn -task blastn -db $dir/subclass_definition.db -query $PWD/sequences.fasta -outfmt 6 >> $outdir/identified_genes.txt
|
|
68 fi
|
|
69
|
55
|
70 echo "---------------- merge_and_filter.r ----------------"
|
102
|
71 echo "---------------- merge_and_filter.r ----------------<br />" >> $log
|
19
|
72
|
114
|
73 Rscript $dir/merge_and_filter.r $PWD/summary.txt $PWD/sequences.txt $PWD/mutationanalysis.txt $PWD/mutationstats.txt $PWD/hotspots.txt $outdir/identified_genes.txt $outdir/merged.txt $outdir/before_unique_filter.txt $outdir/unmatched.txt $method $functionality $unique ${filter_unique} ${class_filter} ${empty_region_filter} 2>&1
|
0
|
74
|
98
|
75 echo "---------------- creating new IMGT zip ----------------"
|
102
|
76 echo "---------------- creating new IMGT zip ----------------<br />" >> $log
|
95
|
77
|
|
78 mkdir $outdir/new_IMGT
|
|
79
|
|
80 cat `find $PWD/files/ -name "1_*"` > "$outdir/new_IMGT/1_Summary.txt"
|
|
81 cat `find $PWD/files/ -name "2_*"` > "$outdir/new_IMGT/2_IMGT-gapped-nt-sequences.txt"
|
|
82 cat `find $PWD/files/ -name "3_*"` > "$outdir/new_IMGT/3_Nt-sequences.txt"
|
|
83 cat `find $PWD/files/ -name "4_*"` > "$outdir/new_IMGT/4_IMGT-gapped-AA-sequences.txt"
|
|
84 cat `find $PWD/files/ -name "5_*"` > "$outdir/new_IMGT/5_AA-sequences.txt"
|
|
85 cat `find $PWD/files/ -name "6_*"` > "$outdir/new_IMGT/6_Junction.txt"
|
|
86 cat `find $PWD/files/ -name "7_*"` > "$outdir/new_IMGT/7_V-REGION-mutation-and-AA-change-table.txt"
|
|
87 cat `find $PWD/files/ -name "8_*"` > "$outdir/new_IMGT/8_V-REGION-nt-mutation-statistics.txt"
|
|
88 cat `find $PWD/files/ -name "9_*"` > "$outdir/new_IMGT/9_V-REGION-AA-change-statistics.txt"
|
|
89 cat `find $PWD/files/ -name "10_*"` > "$outdir/new_IMGT/10_V-REGION-mutation-hotspots.txt"
|
|
90
|
99
|
91 mkdir $outdir/new_IMGT_ca
|
|
92 cp $outdir/new_IMGT/* $outdir/new_IMGT_ca
|
|
93
|
116
|
94 mkdir $outdir/new_IMGT_ca1
|
|
95 cp $outdir/new_IMGT/* $outdir/new_IMGT_ca1
|
|
96
|
|
97 mkdir $outdir/new_IMGT_ca2
|
|
98 cp $outdir/new_IMGT/* $outdir/new_IMGT_ca2
|
|
99
|
99
|
100 mkdir $outdir/new_IMGT_cg
|
|
101 cp $outdir/new_IMGT/* $outdir/new_IMGT_cg
|
|
102
|
116
|
103 mkdir $outdir/new_IMGT_cg1
|
|
104 cp $outdir/new_IMGT/* $outdir/new_IMGT_cg1
|
|
105
|
|
106 mkdir $outdir/new_IMGT_cg2
|
|
107 cp $outdir/new_IMGT/* $outdir/new_IMGT_cg2
|
|
108
|
|
109 mkdir $outdir/new_IMGT_cg3
|
|
110 cp $outdir/new_IMGT/* $outdir/new_IMGT_cg3
|
|
111
|
|
112 mkdir $outdir/new_IMGT_cg4
|
|
113 cp $outdir/new_IMGT/* $outdir/new_IMGT_cg4
|
|
114
|
99
|
115 mkdir $outdir/new_IMGT_cm
|
|
116 cp $outdir/new_IMGT/* $outdir/new_IMGT_cm
|
|
117
|
114
|
118 Rscript $dir/new_imgt.r $outdir/new_IMGT/ $outdir/merged.txt "-" 2>&1
|
116
|
119
|
114
|
120 Rscript $dir/new_imgt.r $outdir/new_IMGT_ca/ $outdir/merged.txt "ca" 2>&1
|
116
|
121 Rscript $dir/new_imgt.r $outdir/new_IMGT_ca1/ $outdir/merged.txt "ca1" 2>&1
|
|
122 Rscript $dir/new_imgt.r $outdir/new_IMGT_ca2/ $outdir/merged.txt "ca2" 2>&1
|
|
123
|
114
|
124 Rscript $dir/new_imgt.r $outdir/new_IMGT_cg/ $outdir/merged.txt "cg" 2>&1
|
116
|
125 Rscript $dir/new_imgt.r $outdir/new_IMGT_cg1/ $outdir/merged.txt "cg1" 2>&1
|
|
126 Rscript $dir/new_imgt.r $outdir/new_IMGT_cg2/ $outdir/merged.txt "cg2" 2>&1
|
|
127 Rscript $dir/new_imgt.r $outdir/new_IMGT_cg3/ $outdir/merged.txt "cg3" 2>&1
|
|
128 Rscript $dir/new_imgt.r $outdir/new_IMGT_cg4/ $outdir/merged.txt "cg4" 2>&1
|
|
129
|
114
|
130 Rscript $dir/new_imgt.r $outdir/new_IMGT_cm/ $outdir/merged.txt "cm" 2>&1
|
95
|
131
|
|
132
|
|
133 tmp="$PWD"
|
|
134 cd $outdir/new_IMGT/ #tar weirdness...
|
|
135 tar -cJf ../new_IMGT.txz *
|
|
136
|
99
|
137 cd $outdir/new_IMGT_ca/
|
|
138 tar -cJf ../new_IMGT_ca.txz *
|
|
139
|
117
|
140 cd $outdir/new_IMGT_ca1/
|
|
141 tar -cJf ../new_IMGT_ca1.txz *
|
|
142
|
|
143 cd $outdir/new_IMGT_ca2/
|
|
144 tar -cJf ../new_IMGT_ca2.txz *
|
|
145
|
99
|
146 cd $outdir/new_IMGT_cg/
|
|
147 tar -cJf ../new_IMGT_cg.txz *
|
|
148
|
117
|
149 cd $outdir/new_IMGT_cg1/
|
|
150 tar -cJf ../new_IMGT_cg1.txz *
|
|
151
|
|
152 cd $outdir/new_IMGT_cg2/
|
|
153 tar -cJf ../new_IMGT_cg2.txz *
|
|
154
|
|
155 cd $outdir/new_IMGT_cg3/
|
|
156 tar -cJf ../new_IMGT_cg3.txz *
|
|
157
|
|
158 cd $outdir/new_IMGT_cg4/
|
|
159 tar -cJf ../new_IMGT_cg4.txz *
|
|
160
|
99
|
161 cd $outdir/new_IMGT_cm/
|
|
162 tar -cJf ../new_IMGT_cm.txz *
|
|
163
|
95
|
164 cd $tmp
|
|
165
|
55
|
166 echo "---------------- mutation_analysis.r ----------------"
|
102
|
167 echo "---------------- mutation_analysis.r ----------------<br />" >> $log
|
55
|
168
|
82
|
169 classes="ca,ca1,ca2,cg,cg1,cg2,cg3,cg4,cm,unmatched"
|
4
|
170 echo "R mutation analysis"
|
82
|
171 Rscript $dir/mutation_analysis.r $outdir/merged.txt $classes $outdir ${include_fr1} 2>&1
|
53
|
172
|
55
|
173
|
|
174 echo "---------------- mutation_analysis.py ----------------"
|
102
|
175 echo "---------------- mutation_analysis.py ----------------<br />" >> $log
|
55
|
176
|
82
|
177 python $dir/mutation_analysis.py --input $outdir/merged.txt --genes $classes --includefr1 "${include_fr1}" --output $outdir/hotspot_analysis.txt
|
55
|
178
|
|
179 echo "---------------- aa_histogram.r ----------------"
|
105
|
180 echo "---------------- aa_histogram.r ----------------<br />" >> $log
|
55
|
181
|
107
|
182 Rscript $dir/aa_histogram.r $outdir/aa_id_mutations.txt $outdir/absent_aa_id.txt "ca,cg,cm" $outdir/ 2>&1
|
110
|
183 if [ -e "$outdir/aa_histogram_.png" ]; then
|
|
184 mv $outdir/aa_histogram_.png $outdir/aa_histogram.png
|
|
185 mv $outdir/aa_histogram_.txt $outdir/aa_histogram.txt
|
|
186 fi
|
4
|
187
|
0
|
188 genes=(ca ca1 ca2 cg cg1 cg2 cg3 cg4 cm)
|
|
189
|
53
|
190 funcs=(sum mean median)
|
110
|
191 funcs=(sum)
|
0
|
192
|
82
|
193 echo "---------------- sequence_overview.r ----------------"
|
102
|
194 echo "---------------- sequence_overview.r ----------------<br />" >> $log
|
82
|
195
|
|
196 mkdir $outdir/sequence_overview
|
|
197
|
90
|
198 #Rscript $dir/sequence_overview.r $outdir/identified_genes.txt $PWD/sequences.txt $outdir/merged.txt $outdir/sequence_overview $classes $outdir/hotspot_analysis_sum.txt 2>&1
|
100
|
199 Rscript $dir/sequence_overview.r $outdir/before_unique_filter.txt $outdir/merged.txt $outdir/sequence_overview $classes $outdir/hotspot_analysis_sum.txt 2>&1
|
82
|
200
|
|
201 echo "<table border='1'>" > $outdir/base_overview.html
|
|
202
|
92
|
203 while IFS=$'\t' read ID class seq A C G T
|
82
|
204 do
|
85
|
205 echo "<tr><td>$ID</td><td>$seq</td><td>$class</td><td>$A</td><td>$C</td><td>$G</td><td>$T</td></tr>" >> $outdir/base_overview.html
|
82
|
206 done < $outdir/sequence_overview/ntoverview.txt
|
|
207
|
62
|
208 echo "<html><center><h1>$title</h1></center>" > $output
|
110
|
209 echo "<script type='text/javascript' src='jquery-1.11.0.min.js'></script>" >> $output
|
|
210 echo "<script type='text/javascript' src='tabber.js'></script>" >> $output
|
|
211 echo "<script type='text/javascript' src='script.js'></script>" >> $output
|
|
212 echo "<link rel='stylesheet' type='text/css' href='style.css'>" >> $output
|
62
|
213
|
|
214 #display the matched/unmatched for clearity
|
|
215
|
98
|
216 matched_count="`cat $outdir/merged.txt | grep -v 'unmatched' | tail -n +2 | wc -l`"
|
62
|
217 unmatched_count="`cat $outdir/unmatched.txt | tail -n +2 | wc -l`"
|
|
218 total_count=$((matched_count + unmatched_count))
|
|
219 perc_count=$((unmatched_count / total_count * 100))
|
|
220 perc_count=`bc -l <<< "scale=2; ${unmatched_count} / ${total_count} * 100"`
|
|
221 perc_count=`bc -l <<< "scale=2; (${unmatched_count} / ${total_count} * 100 ) / 1"`
|
|
222
|
|
223 echo "<center><h2>Total: ${total_count}</h2></center>" >> $output
|
|
224 echo "<center><h2>Matched: ${matched_count} Unmatched: ${unmatched_count}</h2></center>" >> $output
|
|
225 echo "<center><h2>Percentage unmatched: ${perc_count}</h2></center>" >> $output
|
|
226
|
55
|
227 echo "---------------- main tables ----------------"
|
102
|
228 echo "---------------- main tables ----------------<br />" >> $log
|
110
|
229
|
|
230 echo "<div class='tabber'>" >> $output
|
|
231 echo "<div class='tabbertab' title='SHM Overview'>" >> $output
|
|
232
|
53
|
233 for func in ${funcs[@]}
|
4
|
234 do
|
55
|
235
|
|
236 echo "---------------- $func table ----------------"
|
102
|
237 echo "---------------- $func table ----------------<br />" >> $log
|
55
|
238
|
94
|
239 cat $outdir/mutations_${func}.txt $outdir/hotspot_analysis_${func}.txt > $outdir/data_${func}.txt
|
53
|
240
|
98
|
241 echo "<table border='1' width='100%'><caption><h3><a href='data_${func}.txt'>${func} table</a></h3></caption>" >> $output
|
58
|
242 echo "<tr><th>info</th>" >> $output
|
53
|
243 for gene in ${genes[@]}
|
|
244 do
|
|
245 tmp=`cat $outdir/${gene}_${func}_n.txt`
|
|
246 echo "<th><a href='matched_${gene}_${func}.txt'>${gene} (N = $tmp)</a></th>" >> $output
|
|
247 done
|
78
|
248
|
114
|
249 tmp=`cat $outdir/all_${func}_n.txt`
|
|
250 echo "<th><a href='matched_all_${func}.txt'>all (N = $tmp)</a></th>" >> $output
|
78
|
251 tmp=`cat $outdir/unmatched_${func}_n.txt`
|
79
|
252 echo "<th><a href='unmatched.txt'>unmatched (N = ${unmatched_count})</a></th>" >> $output
|
4
|
253
|
78
|
254 while IFS=, read name cax cay caz ca1x ca1y ca1z ca2x ca2y ca2z cgx cgy cgz cg1x cg1y cg1z cg2x cg2y cg2z cg3x cg3y cg3z cg4x cg4y cg4z cmx cmy cmz unx uny unz allx ally allz
|
53
|
255 do
|
|
256 if [ "$name" == "FR S/R (ratio)" ] || [ "$name" == "CDR S/R (ratio)" ] ; then #meh
|
|
257 echo "<tr><td>$name</td><td>${cax}/${cay} (${caz})</td><td>${ca1x}/${ca1y} (${ca1z})</td><td>${ca2x}/${ca2y} (${ca2z})</td><td>${cgx}/${cgy} (${cgz})</td><td>${cg1x}/${cg1y} (${cg1z})</td><td>${cg2x}/${cg2y} (${cg2z})</td><td>${cg3x}/${cg3y} (${cg3z})</td><td>${cg4x}/${cg4y} (${cg4z})</td><td>${cmx}/${cmy} (${cmz})</td><td>${allx}/${ally} (${allz})</td></tr>" >> $output
|
|
258 else
|
114
|
259 echo "<tr><td>$name</td><td>${cax}/${cay} (${caz}%)</td><td>${ca1x}/${ca1y} (${ca1z}%)</td><td>${ca2x}/${ca2y} (${ca2z}%)</td><td>${cgx}/${cgy} (${cgz}%)</td><td>${cg1x}/${cg1y} (${cg1z}%)</td><td>${cg2x}/${cg2y} (${cg2z}%)</td><td>${cg3x}/${cg3y} (${cg3z}%)</td><td>${cg4x}/${cg4y} (${cg4z}%)</td><td>${cmx}/${cmy} (${cmz}%)</td><td>${allx}/${ally} (${allz}%)</td><td>${unx}/${uny} (${unz}%)</td></tr>" >> $output
|
53
|
260 fi
|
94
|
261 done < $outdir/data_${func}.txt
|
|
262 echo "</table>" >> $output
|
|
263 #echo "<a href='data_${func}.txt'>Download data</a>" >> $output
|
53
|
264 done
|
|
265
|
110
|
266 echo "</div>" >> $output #SHM overview tab end
|
|
267
|
|
268 echo "---------------- images ----------------"
|
|
269 echo "---------------- images ----------------<br />" >> $log
|
|
270
|
|
271 echo "<div class='tabbertab' title='SHM Frequency'>" >> $output
|
|
272
|
|
273 if [ -a $outdir/scatter.png ]
|
|
274 then
|
|
275 echo "<img src='scatter.png'/><br />" >> $output
|
|
276 echo "<a href='scatter.txt'>download data</a><br />" >> $output
|
|
277 fi
|
|
278 if [ -a $outdir/frequency_ranges.png ]
|
|
279 then
|
|
280 echo "<img src='frequency_ranges.png'/><br />" >> $output
|
|
281 echo "<a href='frequency_ranges_classes.txt'>download class data</a><br />" >> $output
|
|
282 echo "<a href='frequency_ranges_subclasses.txt'>download subclass data</a><br />" >> $output
|
|
283 fi
|
|
284
|
|
285 echo "</div>" >> $output #SHM frequency tab end
|
|
286
|
|
287 echo "<div class='tabbertab' title='Transition tables'>" >> $output
|
|
288
|
114
|
289 echo "<table border='0'>" >> $output
|
|
290
|
110
|
291 for gene in ${genes[@]}
|
|
292 do
|
114
|
293 echo "<tr>" >> $output
|
|
294 echo "<td><h1>${gene}</h1></td>" >> $output
|
|
295 echo "<td><img src='transitions_heatmap_${gene}.png' /></td>" >> $output
|
|
296 echo "<td><img src='transitions_stacked_${gene}.png' /></td>" >> $output
|
|
297 echo "<td><table border='1'>" >> $output
|
110
|
298 while IFS=, read from a c g t
|
|
299 do
|
|
300 echo "<tr><td>$from</td><td>$a</td><td>$c</td><td>$g</td><td>$t</td></tr>" >> $output
|
|
301 done < $outdir/transitions_${gene}_sum.txt
|
114
|
302 echo "</table></td>" >> $output
|
|
303
|
|
304 echo "</tr>" >> $output
|
110
|
305 done
|
55
|
306
|
114
|
307 echo "<tr>" >> $output
|
|
308 echo "<td><h1>All</h1></td>" >> $output
|
|
309 echo "<td><img src='transitions_heatmap_all.png' /></td>" >> $output
|
|
310 echo "<td><img src='transitions_stacked_all.png' /></td>" >> $output
|
|
311 echo "<td><table border='1'>" >> $output
|
110
|
312 while IFS=, read from a c g t
|
|
313 do
|
|
314 echo "<tr><td>$from</td><td>$a</td><td>$c</td><td>$g</td><td>$t</td></tr>" >> $output
|
|
315 done < $outdir/transitions_all_sum.txt
|
114
|
316 echo "</table></td>" >> $output
|
|
317
|
|
318 echo "</tr>" >> $output
|
|
319
|
110
|
320 echo "</table>" >> $output
|
|
321
|
|
322 echo "</div>" >> $output #transition tables tab end
|
|
323
|
|
324 echo "<div class='tabbertab' title='Antigen Selection'>" >> $output
|
|
325
|
|
326 if [ -a $outdir/aa_histogram.png ]
|
|
327 then
|
|
328 echo "<img src='aa_histogram.png'/><br />" >> $output
|
|
329 echo "<a href='aa_histogram.txt'>download data</a><br />" >> $output
|
|
330 echo "<img src='aa_histogram_ca.png'/><br />" >> $output
|
|
331 echo "<a href='aa_histogram_ca.txt'>download data</a><br />" >> $output
|
|
332 echo "<img src='aa_histogram_cg.png'/><br />" >> $output
|
|
333 echo "<a href='aa_histogram_cg.txt'>download data</a><br />" >> $output
|
|
334 echo "<img src='aa_histogram_cm.png'/><br />" >> $output
|
|
335 echo "<a href='aa_histogram_cm.txt'>download data</a><br />" >> $output
|
|
336 fi
|
|
337
|
|
338 echo "<embed src='baseline_ca.pdf' width='700px' height='1000px'>" >> $output
|
|
339 echo "<embed src='baseline_cg.pdf' width='700px' height='1000px'>" >> $output
|
|
340 echo "<embed src='baseline_cm.pdf' width='700px' height='1000px'>" >> $output
|
|
341
|
|
342 echo "</div>" >> $output #antigen selection tab end
|
|
343
|
|
344 echo "<div class='tabbertab' title='CSR'>" >> $output
|
|
345
|
|
346 if [ -a $outdir/ca.png ]
|
|
347 then
|
|
348 echo "<img src='ca.png'/><br />" >> $output
|
|
349 echo "<a href='ca.txt'>download data</a><br />" >> $output
|
|
350 fi
|
|
351 if [ -a $outdir/cg.png ]
|
|
352 then
|
|
353 echo "<img src='cg.png'/><br />" >> $output
|
|
354 echo "<a href='cg.txt'>download data</a><br />" >> $output
|
|
355 fi
|
|
356
|
|
357 echo "</div>" >> $output #CSR tab end
|
|
358
|
|
359 echo "<div class='tabbertab' title='Downloads'>" >> $output
|
94
|
360
|
114
|
361 echo "<table border='1' width='700px'>" >> $output
|
|
362 echo "<tr><td>The complete dataset</td><td><a href='merged.txt'>Download</a></td></tr>" >> $output
|
|
363 echo "<tr><td>The alignment info on the unmatched sequences</td><td><a href='unmatched.txt'>Download</a></td></tr>" >> $output
|
|
364 echo "<tr><td>Motif data per sequence ID</td><td><a href='motif_per_seq.txt'>Download</a></td></tr>" >> $output
|
|
365 echo "<tr><td>Mutation data per sequence ID</td><td><a href='mutation_by_id.txt'>Download</a></td></tr>" >> $output
|
|
366 echo "<tr><td>AA mutation data per sequence ID</td><td><a href='aa_id_mutations.txt'>Download</a></td></tr>" >> $output
|
|
367 echo "<tr><td>Absent AA location data per sequence ID</td><td><a href='absent_aa_id.txt'>Download</a></td></tr>" >> $output
|
|
368 echo "<tr><td>CDR1+FR2+CDR2+FR3+CDR3 sequences that show up more than once</td><td><a href='sequence_overview/index.html'>Download</a></td></tr>" >> $output
|
|
369 echo "<tr><td>Base count for every sequence</td><td><a href='base_overview.html'>Download</a></td></tr>" >> $output
|
|
370 echo "<tr><td>Baseline PDF (<href a='http://selection.med.yale.edu/baseline/'>http://selection.med.yale.edu/baseline/</a>)</td><td><a href='baseline.pdf'>Download</a></td></tr>" >> $output
|
|
371 echo "<tr><td>Baseline data</td><td><a href='baseline.txt'>Download</a></td></tr>" >> $output
|
|
372 echo "<tr><td>Baseline ca PDF</td><td><a href='baseline_ca.pdf'>Download</a></td></tr>" >> $output
|
|
373 echo "<tr><td>Baseline ca data</td><td><a href='baseline_ca.txt'>Download</a></td></tr>" >> $output
|
|
374 echo "<tr><td>Baseline cg PDF</td><td><a href='baseline_cg.pdf'>Download</a></td></tr>" >> $output
|
|
375 echo "<tr><td>Baseline cg data</td><td><a href='baseline_cg.txt'>Download</a></td></tr>" >> $output
|
|
376 echo "<tr><td>Baseline cm PDF</td><td><a href='baseline_cm.pdf'>Download</a></td></tr>" >> $output
|
|
377 echo "<tr><td>Baseline cm data</td><td><a href='baseline_cm.txt'>Download</a></td></tr>" >> $output
|
|
378 echo "<tr><td>An IMGT archive with just the matched and filtered sequences</td><td><a href='new_IMGT.txz'>Download</a></td></tr>" >> $output
|
|
379 echo "<tr><td>An IMGT archive with just the matched and filtered ca sequences</td><td><a href='new_IMGT_ca.txz'>Download</a></td></tr>" >> $output
|
116
|
380 echo "<tr><td>An IMGT archive with just the matched and filtered ca1 sequences</td><td><a href='new_IMGT_ca1.txz'>Download</a></td></tr>" >> $output
|
|
381 echo "<tr><td>An IMGT archive with just the matched and filtered ca2 sequences</td><td><a href='new_IMGT_ca2.txz'>Download</a></td></tr>" >> $output
|
114
|
382 echo "<tr><td>An IMGT archive with just the matched and filtered cg sequences</td><td><a href='new_IMGT_cg.txz'>Download</a></td></tr>" >> $output
|
116
|
383 echo "<tr><td>An IMGT archive with just the matched and filtered cg1 sequences</td><td><a href='new_IMGT_cg1.txz'>Download</a></td></tr>" >> $output
|
|
384 echo "<tr><td>An IMGT archive with just the matched and filtered cg2 sequences</td><td><a href='new_IMGT_cg2.txz'>Download</a></td></tr>" >> $output
|
|
385 echo "<tr><td>An IMGT archive with just the matched and filtered cg3 sequences</td><td><a href='new_IMGT_cg3.txz'>Download</a></td></tr>" >> $output
|
|
386 echo "<tr><td>An IMGT archive with just the matched and filtered cg4 sequences</td><td><a href='new_IMGT_cg4.txz'>Download</a></td></tr>" >> $output
|
114
|
387 echo "<tr><td>An IMGT archive with just the matched and filtered cm sequences</td><td><a href='new_IMGT_cm.txz'>Download</a></td></tr>" >> $output
|
120
|
388 echo "<tr><td>The Change-O DB file with defined clones</td><td><a href='change_o/change-o-db-defined_clones.txt'>Download</a></td></tr>" >> $output
|
|
389 echo "<tr><td>The Change-O DB defined clones summary file</td><td><a href='change_o/change-o-defined_clones-summary.txt'>Download</a></td></tr>" >> $output
|
114
|
390 echo "</table>" >> $output
|
99
|
391
|
110
|
392 echo "</div>" >> $output #downloads tab end
|
55
|
393
|
110
|
394 echo "</div>" >> $output #tabs end
|
0
|
395
|
|
396 echo "</html>" >> $output
|
2
|
397
|
95
|
398 echo "---------------- baseline ----------------"
|
102
|
399 echo "---------------- baseline ----------------<br />" >> $log
|
101
|
400 tmp="$PWD"
|
|
401
|
|
402 mkdir $outdir/baseline
|
|
403
|
|
404
|
|
405 mkdir $outdir/baseline/ca_cg_cm
|
102
|
406 if [[ $(wc -l < $outdir/new_IMGT/1_Summary.txt) -gt "1" ]]; then
|
|
407 cd $outdir/baseline/ca_cg_cm
|
114
|
408 bash $dir/baseline/wrapper.sh 1 1 1 1 0 0 "25:26:38:55:65:104:-" $outdir/new_IMGT.txz "ca_cg_cm" "$dir/baseline/IMGT-reference-seqs-IGHV-2015-11-05.fa" "$outdir/baseline.pdf" "Sequence.ID" "$outdir/baseline.txt"
|
102
|
409 else
|
|
410 echo "No sequences" > "$outdir/baseline.txt"
|
|
411 fi
|
101
|
412
|
|
413 mkdir $outdir/baseline/ca
|
102
|
414 if [[ $(wc -l < $outdir/new_IMGT_ca/1_Summary.txt) -gt "1" ]]; then
|
|
415 cd $outdir/baseline/ca
|
114
|
416 bash $dir/baseline/wrapper.sh 1 1 1 1 0 0 "25:26:38:55:65:104:-" $outdir/new_IMGT_ca.txz "ca" "$dir/baseline/IMGT-reference-seqs-IGHV-2015-11-05.fa" "$outdir/baseline_ca.pdf" "Sequence.ID" "$outdir/baseline_ca.txt"
|
102
|
417 else
|
|
418 echo "No ca sequences" > "$outdir/baseline_ca.txt"
|
|
419 fi
|
101
|
420
|
|
421 mkdir $outdir/baseline/cg
|
102
|
422 if [[ $(wc -l < $outdir/new_IMGT_cg/1_Summary.txt) -gt "1" ]]; then
|
|
423 cd $outdir/baseline/cg
|
114
|
424 bash $dir/baseline/wrapper.sh 1 1 1 1 0 0 "25:26:38:55:65:104:-" $outdir/new_IMGT_cg.txz "cg" "$dir/baseline/IMGT-reference-seqs-IGHV-2015-11-05.fa" "$outdir/baseline_cg.pdf" "Sequence.ID" "$outdir/baseline_cg.txt"
|
102
|
425 else
|
|
426 echo "No cg sequences" > "$outdir/baseline_cg.txt"
|
|
427 fi
|
101
|
428
|
|
429 mkdir $outdir/baseline/cm
|
102
|
430 if [[ $(wc -l < $outdir/new_IMGT_cm/1_Summary.txt) -gt "1" ]]; then
|
|
431 cd $outdir/baseline/cm
|
114
|
432 bash $dir/baseline/wrapper.sh 1 1 1 1 0 0 "25:26:38:55:65:104:-" $outdir/new_IMGT_cm.txz "cm" "$dir/baseline/IMGT-reference-seqs-IGHV-2015-11-05.fa" "$outdir/baseline_cm.pdf" "Sequence.ID" "$outdir/baseline_cm.txt"
|
102
|
433 else
|
|
434 echo "No cm sequences" > "$outdir/baseline_cm.txt"
|
|
435 fi
|
47
|
436
|
101
|
437 cd $tmp
|
|
438
|
82
|
439 echo "---------------- naive_output.r ----------------"
|
102
|
440 echo "---------------- naive_output.r ----------------<br />" >> $log
|
55
|
441
|
47
|
442 if [[ "$naive_output" != "None" ]]
|
|
443 then
|
114
|
444 cp $outdir/new_IMGT_ca.txz ${naive_output_ca}
|
|
445 cp $outdir/new_IMGT_cg.txz ${naive_output_cg}
|
|
446 cp $outdir/new_IMGT_cm.txz ${naive_output_cm}
|
47
|
447 fi
|
|
448
|
81
|
449 echo "</table>" >> $outdir/base_overview.html
|
|
450
|
120
|
451 echo "---------------- change-o MakeDB ----------------"
|
|
452 echo "---------------- change-o MakeDB ----------------<br />" >> $log
|
|
453
|
|
454 mkdir $outdir/change_o
|
|
455
|
|
456 tmp="$PWD"
|
|
457
|
|
458 cd $outdir/change_o
|
|
459
|
|
460 bash $dir/change_o/makedb.sh $input false false false $outdir/change_o/change-o-db.txt
|
|
461
|
|
462 echo "---------------- change-o DefineClones ----------------"
|
|
463 echo "---------------- change-o DefineClones ----------------<br />" >> $log
|
|
464
|
|
465 bash $dir/change_o/define_clones.sh bygroup $outdir/change_o/change-o-db.txt gene first ham none min complete 3.0 $outdir/change_o/change-o-db-defined_clones.txt $outdir/change_o/change-o-defined_clones-summary.txt
|
|
466
|
|
467 PWD="$tmp"
|
|
468
|
105
|
469 mv $log $outdir/log.html
|
|
470
|
110
|
471 echo "<html><center><h1><a href='index.html'>Click here for the results</a></h1>Tip: Open it in a new tab (middle mouse button or right mouse button -> 'open in new tab' on the link above)<br />" > $log
|
|
472 echo "<table border = 1>" >> $log
|
|
473 echo "<thead><tr><th>Info</th><th>Sequences</th><th>Percentage</th></tr></thead>" >> $log
|
|
474 tIFS="$TMP"
|
|
475 IFS=$'\t'
|
|
476 while read step seq perc
|
|
477 do
|
|
478 echo "<tr>" >> $log
|
|
479 echo "<td>$step</td>" >> $log
|
|
480 echo "<td>$seq</td>" >> $log
|
|
481 echo "<td>${perc}%</td>" >> $log
|
|
482 echo "</tr>" >> $log
|
|
483 done < $outdir/filtering_steps.txt
|
|
484 echo "</table border></center></html>" >> $log
|
|
485
|
|
486 IFS="$tIFS"
|
|
487
|
105
|
488
|
81
|
489 echo "---------------- Done! ----------------"
|
107
|
490 echo "---------------- Done! ----------------<br />" >> $outdir/log.html
|
47
|
491
|
110
|
492
|
|
493
|
|
494
|
|
495
|
|
496
|
|
497
|
|
498
|
|
499
|
|
500
|
|
501
|
|
502
|
|
503
|
|
504
|
|
505
|
|
506
|
|
507
|
|
508
|
|
509
|
|
510
|
|
511
|