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
|
121
|
213 echo "<link rel='stylesheet' href='http://yui.yahooapis.com/pure/0.6.0/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
|
53
|
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
|
|
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
|
121
|
370 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
|
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
|