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
|
100
|
198 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
|
199
|
|
200 echo "<table border='1'>" > $outdir/base_overview.html
|
|
201
|
92
|
202 while IFS=$'\t' read ID class seq A C G T
|
82
|
203 do
|
85
|
204 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
|
205 done < $outdir/sequence_overview/ntoverview.txt
|
|
206
|
62
|
207 echo "<html><center><h1>$title</h1></center>" > $output
|
121
|
208 echo "<meta name='viewport' content='width=device-width, initial-scale=1'>" >> $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
|
122
|
213 echo "<link rel='stylesheet' type='text/css' href='pure-min.css'>" >> $output
|
62
|
214
|
98
|
215 matched_count="`cat $outdir/merged.txt | grep -v 'unmatched' | tail -n +2 | wc -l`"
|
62
|
216 unmatched_count="`cat $outdir/unmatched.txt | tail -n +2 | wc -l`"
|
|
217 total_count=$((matched_count + unmatched_count))
|
|
218 perc_count=$((unmatched_count / total_count * 100))
|
|
219 perc_count=`bc -l <<< "scale=2; ${unmatched_count} / ${total_count} * 100"`
|
|
220 perc_count=`bc -l <<< "scale=2; (${unmatched_count} / ${total_count} * 100 ) / 1"`
|
|
221
|
|
222 echo "<center><h2>Total: ${total_count}</h2></center>" >> $output
|
|
223 echo "<center><h2>Matched: ${matched_count} Unmatched: ${unmatched_count}</h2></center>" >> $output
|
|
224 echo "<center><h2>Percentage unmatched: ${perc_count}</h2></center>" >> $output
|
|
225
|
55
|
226 echo "---------------- main tables ----------------"
|
102
|
227 echo "---------------- main tables ----------------<br />" >> $log
|
110
|
228
|
|
229 echo "<div class='tabber'>" >> $output
|
|
230 echo "<div class='tabbertab' title='SHM Overview'>" >> $output
|
|
231
|
53
|
232 for func in ${funcs[@]}
|
4
|
233 do
|
55
|
234
|
|
235 echo "---------------- $func table ----------------"
|
102
|
236 echo "---------------- $func table ----------------<br />" >> $log
|
55
|
237
|
94
|
238 cat $outdir/mutations_${func}.txt $outdir/hotspot_analysis_${func}.txt > $outdir/data_${func}.txt
|
123
|
239
|
121
|
240 echo "<table class='pure-table pure-table-striped'>" >> $output
|
|
241 echo "<thead><tr><th>info</th>" >> $output
|
53
|
242 for gene in ${genes[@]}
|
|
243 do
|
|
244 tmp=`cat $outdir/${gene}_${func}_n.txt`
|
|
245 echo "<th><a href='matched_${gene}_${func}.txt'>${gene} (N = $tmp)</a></th>" >> $output
|
|
246 done
|
78
|
247
|
114
|
248 tmp=`cat $outdir/all_${func}_n.txt`
|
|
249 echo "<th><a href='matched_all_${func}.txt'>all (N = $tmp)</a></th>" >> $output
|
78
|
250 tmp=`cat $outdir/unmatched_${func}_n.txt`
|
121
|
251 echo "<th><a href='unmatched.txt'>unmatched (N = ${unmatched_count})</a></th><tr></thead>" >> $output
|
4
|
252
|
78
|
253 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
|
254 do
|
|
255 if [ "$name" == "FR S/R (ratio)" ] || [ "$name" == "CDR S/R (ratio)" ] ; then #meh
|
|
256 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
|
|
257 else
|
114
|
258 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
|
259 fi
|
94
|
260 done < $outdir/data_${func}.txt
|
|
261 echo "</table>" >> $output
|
|
262 #echo "<a href='data_${func}.txt'>Download data</a>" >> $output
|
53
|
263 done
|
|
264
|
110
|
265 echo "</div>" >> $output #SHM overview tab end
|
|
266
|
|
267 echo "---------------- images ----------------"
|
|
268 echo "---------------- images ----------------<br />" >> $log
|
|
269
|
|
270 echo "<div class='tabbertab' title='SHM Frequency'>" >> $output
|
|
271
|
|
272 if [ -a $outdir/scatter.png ]
|
|
273 then
|
|
274 echo "<img src='scatter.png'/><br />" >> $output
|
|
275 echo "<a href='scatter.txt'>download data</a><br />" >> $output
|
|
276 fi
|
|
277 if [ -a $outdir/frequency_ranges.png ]
|
|
278 then
|
|
279 echo "<img src='frequency_ranges.png'/><br />" >> $output
|
|
280 echo "<a href='frequency_ranges_classes.txt'>download class data</a><br />" >> $output
|
|
281 echo "<a href='frequency_ranges_subclasses.txt'>download subclass data</a><br />" >> $output
|
|
282 fi
|
|
283
|
|
284 echo "</div>" >> $output #SHM frequency tab end
|
|
285
|
|
286 echo "<div class='tabbertab' title='Transition tables'>" >> $output
|
|
287
|
114
|
288 echo "<table border='0'>" >> $output
|
|
289
|
110
|
290 for gene in ${genes[@]}
|
|
291 do
|
114
|
292 echo "<tr>" >> $output
|
|
293 echo "<td><h1>${gene}</h1></td>" >> $output
|
|
294 echo "<td><img src='transitions_heatmap_${gene}.png' /></td>" >> $output
|
|
295 echo "<td><img src='transitions_stacked_${gene}.png' /></td>" >> $output
|
121
|
296 echo "<td><table class='pure-table transition-table pure-table-bordered'>" >> $output
|
110
|
297 while IFS=, read from a c g t
|
|
298 do
|
|
299 echo "<tr><td>$from</td><td>$a</td><td>$c</td><td>$g</td><td>$t</td></tr>" >> $output
|
|
300 done < $outdir/transitions_${gene}_sum.txt
|
114
|
301 echo "</table></td>" >> $output
|
|
302
|
|
303 echo "</tr>" >> $output
|
110
|
304 done
|
55
|
305
|
114
|
306 echo "<tr>" >> $output
|
|
307 echo "<td><h1>All</h1></td>" >> $output
|
|
308 echo "<td><img src='transitions_heatmap_all.png' /></td>" >> $output
|
|
309 echo "<td><img src='transitions_stacked_all.png' /></td>" >> $output
|
121
|
310 echo "<td><table class='pure-table transition-table pure-table-bordered'>" >> $output
|
110
|
311 while IFS=, read from a c g t
|
|
312 do
|
|
313 echo "<tr><td>$from</td><td>$a</td><td>$c</td><td>$g</td><td>$t</td></tr>" >> $output
|
|
314 done < $outdir/transitions_all_sum.txt
|
114
|
315 echo "</table></td>" >> $output
|
|
316
|
|
317 echo "</tr>" >> $output
|
|
318
|
110
|
319 echo "</table>" >> $output
|
|
320
|
|
321 echo "</div>" >> $output #transition tables tab end
|
|
322
|
|
323 echo "<div class='tabbertab' title='Antigen Selection'>" >> $output
|
|
324
|
|
325 if [ -a $outdir/aa_histogram.png ]
|
|
326 then
|
|
327 echo "<img src='aa_histogram.png'/><br />" >> $output
|
|
328 echo "<a href='aa_histogram.txt'>download data</a><br />" >> $output
|
|
329 echo "<img src='aa_histogram_ca.png'/><br />" >> $output
|
|
330 echo "<a href='aa_histogram_ca.txt'>download data</a><br />" >> $output
|
|
331 echo "<img src='aa_histogram_cg.png'/><br />" >> $output
|
|
332 echo "<a href='aa_histogram_cg.txt'>download data</a><br />" >> $output
|
|
333 echo "<img src='aa_histogram_cm.png'/><br />" >> $output
|
|
334 echo "<a href='aa_histogram_cm.txt'>download data</a><br />" >> $output
|
|
335 fi
|
|
336
|
|
337 echo "<embed src='baseline_ca.pdf' width='700px' height='1000px'>" >> $output
|
|
338 echo "<embed src='baseline_cg.pdf' width='700px' height='1000px'>" >> $output
|
|
339 echo "<embed src='baseline_cm.pdf' width='700px' height='1000px'>" >> $output
|
|
340
|
|
341 echo "</div>" >> $output #antigen selection tab end
|
|
342
|
|
343 echo "<div class='tabbertab' title='CSR'>" >> $output
|
|
344
|
|
345 if [ -a $outdir/ca.png ]
|
|
346 then
|
|
347 echo "<img src='ca.png'/><br />" >> $output
|
|
348 echo "<a href='ca.txt'>download data</a><br />" >> $output
|
|
349 fi
|
|
350 if [ -a $outdir/cg.png ]
|
|
351 then
|
|
352 echo "<img src='cg.png'/><br />" >> $output
|
|
353 echo "<a href='cg.txt'>download data</a><br />" >> $output
|
|
354 fi
|
|
355
|
|
356 echo "</div>" >> $output #CSR tab end
|
|
357
|
|
358 echo "<div class='tabbertab' title='Downloads'>" >> $output
|
94
|
359
|
121
|
360 echo "<table class='pure-table pure-table-striped'>" >> $output
|
|
361 echo "<thead><tr><th>info</th><th>link</th></tr></thead>" >> $output
|
114
|
362 echo "<tr><td>The complete dataset</td><td><a href='merged.txt'>Download</a></td></tr>" >> $output
|
123
|
363 echo "<tr><td>The SHM Overview table as a dataset</td><td><a href='data_sum.txt'>Download</a></td></tr>" >> $output
|
114
|
364 echo "<tr><td>The alignment info on the unmatched sequences</td><td><a href='unmatched.txt'>Download</a></td></tr>" >> $output
|
|
365 echo "<tr><td>Motif data per sequence ID</td><td><a href='motif_per_seq.txt'>Download</a></td></tr>" >> $output
|
|
366 echo "<tr><td>Mutation data per sequence ID</td><td><a href='mutation_by_id.txt'>Download</a></td></tr>" >> $output
|
|
367 echo "<tr><td>AA mutation data per sequence ID</td><td><a href='aa_id_mutations.txt'>Download</a></td></tr>" >> $output
|
|
368 echo "<tr><td>Absent AA location data per sequence ID</td><td><a href='absent_aa_id.txt'>Download</a></td></tr>" >> $output
|
|
369 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
|
|
370 echo "<tr><td>Base count for every sequence</td><td><a href='base_overview.html'>Download</a></td></tr>" >> $output
|
121
|
371 echo "<tr><td>Baseline PDF (<a href='http://selection.med.yale.edu/baseline/'>http://selection.med.yale.edu/baseline/</a>)</td><td><a href='baseline.pdf'>Download</a></td></tr>" >> $output
|
114
|
372 echo "<tr><td>Baseline data</td><td><a href='baseline.txt'>Download</a></td></tr>" >> $output
|
|
373 echo "<tr><td>Baseline ca PDF</td><td><a href='baseline_ca.pdf'>Download</a></td></tr>" >> $output
|
|
374 echo "<tr><td>Baseline ca data</td><td><a href='baseline_ca.txt'>Download</a></td></tr>" >> $output
|
|
375 echo "<tr><td>Baseline cg PDF</td><td><a href='baseline_cg.pdf'>Download</a></td></tr>" >> $output
|
|
376 echo "<tr><td>Baseline cg data</td><td><a href='baseline_cg.txt'>Download</a></td></tr>" >> $output
|
|
377 echo "<tr><td>Baseline cm PDF</td><td><a href='baseline_cm.pdf'>Download</a></td></tr>" >> $output
|
|
378 echo "<tr><td>Baseline cm data</td><td><a href='baseline_cm.txt'>Download</a></td></tr>" >> $output
|
|
379 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
|
|
380 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
|
381 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
|
|
382 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
|
383 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
|
384 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
|
|
385 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
|
|
386 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
|
|
387 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
|
388 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
|
389 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
|
|
390 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
|
391 echo "</table>" >> $output
|
99
|
392
|
110
|
393 echo "</div>" >> $output #downloads tab end
|
55
|
394
|
110
|
395 echo "</div>" >> $output #tabs end
|
0
|
396
|
|
397 echo "</html>" >> $output
|
2
|
398
|
95
|
399 echo "---------------- baseline ----------------"
|
102
|
400 echo "---------------- baseline ----------------<br />" >> $log
|
101
|
401 tmp="$PWD"
|
|
402
|
|
403 mkdir $outdir/baseline
|
|
404
|
|
405
|
|
406 mkdir $outdir/baseline/ca_cg_cm
|
102
|
407 if [[ $(wc -l < $outdir/new_IMGT/1_Summary.txt) -gt "1" ]]; then
|
|
408 cd $outdir/baseline/ca_cg_cm
|
114
|
409 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
|
410 else
|
|
411 echo "No sequences" > "$outdir/baseline.txt"
|
|
412 fi
|
101
|
413
|
|
414 mkdir $outdir/baseline/ca
|
102
|
415 if [[ $(wc -l < $outdir/new_IMGT_ca/1_Summary.txt) -gt "1" ]]; then
|
|
416 cd $outdir/baseline/ca
|
114
|
417 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
|
418 else
|
|
419 echo "No ca sequences" > "$outdir/baseline_ca.txt"
|
|
420 fi
|
101
|
421
|
|
422 mkdir $outdir/baseline/cg
|
102
|
423 if [[ $(wc -l < $outdir/new_IMGT_cg/1_Summary.txt) -gt "1" ]]; then
|
|
424 cd $outdir/baseline/cg
|
114
|
425 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
|
426 else
|
|
427 echo "No cg sequences" > "$outdir/baseline_cg.txt"
|
|
428 fi
|
101
|
429
|
|
430 mkdir $outdir/baseline/cm
|
102
|
431 if [[ $(wc -l < $outdir/new_IMGT_cm/1_Summary.txt) -gt "1" ]]; then
|
|
432 cd $outdir/baseline/cm
|
114
|
433 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
|
434 else
|
|
435 echo "No cm sequences" > "$outdir/baseline_cm.txt"
|
|
436 fi
|
47
|
437
|
101
|
438 cd $tmp
|
|
439
|
82
|
440 echo "---------------- naive_output.r ----------------"
|
102
|
441 echo "---------------- naive_output.r ----------------<br />" >> $log
|
55
|
442
|
47
|
443 if [[ "$naive_output" != "None" ]]
|
|
444 then
|
114
|
445 cp $outdir/new_IMGT_ca.txz ${naive_output_ca}
|
|
446 cp $outdir/new_IMGT_cg.txz ${naive_output_cg}
|
|
447 cp $outdir/new_IMGT_cm.txz ${naive_output_cm}
|
47
|
448 fi
|
|
449
|
81
|
450 echo "</table>" >> $outdir/base_overview.html
|
|
451
|
120
|
452 echo "---------------- change-o MakeDB ----------------"
|
|
453 echo "---------------- change-o MakeDB ----------------<br />" >> $log
|
|
454
|
|
455 mkdir $outdir/change_o
|
|
456
|
|
457 tmp="$PWD"
|
|
458
|
|
459 cd $outdir/change_o
|
|
460
|
|
461 bash $dir/change_o/makedb.sh $input false false false $outdir/change_o/change-o-db.txt
|
|
462
|
|
463 echo "---------------- change-o DefineClones ----------------"
|
|
464 echo "---------------- change-o DefineClones ----------------<br />" >> $log
|
|
465
|
|
466 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
|
|
467
|
|
468 PWD="$tmp"
|
|
469
|
105
|
470 mv $log $outdir/log.html
|
|
471
|
110
|
472 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
|
|
473 echo "<table border = 1>" >> $log
|
|
474 echo "<thead><tr><th>Info</th><th>Sequences</th><th>Percentage</th></tr></thead>" >> $log
|
|
475 tIFS="$TMP"
|
|
476 IFS=$'\t'
|
|
477 while read step seq perc
|
|
478 do
|
|
479 echo "<tr>" >> $log
|
|
480 echo "<td>$step</td>" >> $log
|
|
481 echo "<td>$seq</td>" >> $log
|
|
482 echo "<td>${perc}%</td>" >> $log
|
|
483 echo "</tr>" >> $log
|
|
484 done < $outdir/filtering_steps.txt
|
|
485 echo "</table border></center></html>" >> $log
|
|
486
|
|
487 IFS="$tIFS"
|
|
488
|
105
|
489
|
81
|
490 echo "---------------- Done! ----------------"
|
107
|
491 echo "---------------- Done! ----------------<br />" >> $outdir/log.html
|
47
|
492
|
110
|
493
|
|
494
|
|
495
|
|
496
|
|
497
|
|
498
|
|
499
|
|
500
|
|
501
|
|
502
|
|
503
|
|
504
|
|
505
|
|
506
|
|
507
|
|
508
|
|
509
|
|
510
|
|
511
|
|
512
|