81
|
1 #!/bin/bash
|
|
2 #set -e
|
|
3 dir="$(cd "$(dirname "$0")" && pwd)"
|
|
4 input=$1
|
|
5 method=$2
|
|
6 log=$3 #becomes the main html page at the end
|
|
7 outdir=$4
|
|
8 output="$outdir/index.html" #copied to $log location at the end
|
|
9 title="$5"
|
|
10 include_fr1=$6
|
|
11 functionality=$7
|
|
12 unique=$8
|
|
13 naive_output=$9
|
|
14 naive_output_ca=${10}
|
|
15 naive_output_cg=${11}
|
|
16 naive_output_cm=${12}
|
|
17 naive_output_ce=${13}
|
|
18 naive_output_all=${14}
|
|
19 filter_unique=${15}
|
|
20 filter_unique_count=${16}
|
|
21 class_filter=${17}
|
|
22 empty_region_filter=${18}
|
|
23 fast=${19}
|
|
24
|
|
25 mkdir $outdir
|
|
26
|
|
27 tar -xzf $dir/style.tar.gz -C $outdir
|
|
28
|
|
29 echo "---------------- read parameters ----------------"
|
|
30 echo "---------------- read parameters ----------------<br />" > $log
|
|
31
|
|
32 echo "unpacking IMGT file"
|
|
33
|
|
34 type="`file $input`"
|
|
35 if [[ "$type" == *"Zip archive"* ]] ; then
|
|
36 echo "Zip archive"
|
|
37 echo "unzip $input -d $PWD/files/"
|
|
38 unzip $input -d $PWD/files/
|
|
39 elif [[ "$type" == *"XZ compressed data"* ]] ; then
|
|
40 echo "ZX archive"
|
|
41 echo "tar -xJf $input -C $PWD/files/"
|
|
42 mkdir -p "$PWD/files/$title"
|
|
43 tar -xJf $input -C "$PWD/files/$title"
|
|
44 else
|
|
45 echo "Unrecognized format $type"
|
|
46 echo "Unrecognized format $type" > $log
|
|
47 exit 1
|
|
48 fi
|
|
49
|
|
50 cat "`find $PWD/files/ -name "1_*"`" > $PWD/summary.txt
|
|
51 cat "`find $PWD/files/ -name "2_*"`" > $PWD/gapped_nt.txt
|
|
52 cat "`find $PWD/files/ -name "3_*"`" > $PWD/sequences.txt
|
|
53 cat "`find $PWD/files/ -name "4_*"`" > $PWD/gapped_aa.txt
|
|
54 cat "`find $PWD/files/ -name "5_*"`" > $PWD/aa.txt
|
|
55 cat "`find $PWD/files/ -name "6_*"`" > $PWD/junction.txt
|
|
56 cat "`find $PWD/files/ -name "7_*"`" > $PWD/mutationanalysis.txt
|
|
57 cat "`find $PWD/files/ -name "8_*"`" > $PWD/mutationstats.txt
|
|
58 cat "`find $PWD/files/ -name "9_*"`" > $PWD/aa_change_stats.txt
|
|
59 cat "`find $PWD/files/ -name "10_*"`" > $PWD/hotspots.txt
|
|
60
|
|
61 echo "---------------- unique id check ----------------"
|
|
62
|
|
63 Rscript $dir/check_unique_id.r $PWD/summary.txt $PWD/gapped_nt.txt $PWD/sequences.txt $PWD/gapped_aa.txt $PWD/aa.txt $PWD/junction.txt $PWD/mutationanalysis.txt $PWD/mutationstats.txt $PWD/aa_change_stats.txt $PWD/hotspots.txt
|
|
64
|
|
65 if [[ ${#BLASTN_DIR} -ge 5 ]] ; then
|
|
66 echo "On server, using BLASTN_DIR env: ${BLASTN_DIR}"
|
|
67 else
|
|
68 BLASTN_DIR="/home/galaxy/Downloads/ncbi-blast-2.4.0+/bin"
|
|
69 echo "Dev Galaxy set BLASTN_DIR to: ${BLASTN_DIR}"
|
|
70 fi
|
|
71
|
|
72 echo "---------------- class identification ----------------"
|
|
73 echo "---------------- class identification ----------------<br />" >> $log
|
|
74
|
|
75 python $dir/gene_identification.py --input $PWD/summary.txt --output $outdir/identified_genes.txt
|
|
76
|
|
77 echo "---------------- merge_and_filter.r ----------------"
|
|
78 echo "---------------- merge_and_filter.r ----------------<br />" >> $log
|
|
79
|
|
80 Rscript $dir/merge_and_filter.r $PWD/summary.txt $PWD/sequences.txt $PWD/mutationanalysis.txt $PWD/mutationstats.txt $PWD/hotspots.txt "$PWD/gapped_aa.txt" $outdir/identified_genes.txt $outdir/merged.txt $outdir/before_unique_filter.txt $outdir/unmatched.txt $method $functionality $unique ${filter_unique} ${filter_unique_count} ${class_filter} ${empty_region_filter} 2>&1
|
|
81
|
|
82 if [[ "${naive_output}" == "yes" ]] || [[ "$fast" == "no" ]] ; then
|
|
83
|
|
84 echo "---------------- creating new IMGT zips ----------------"
|
|
85 echo "---------------- creating new IMGT zips ----------------<br />" >> $log
|
|
86
|
|
87 mkdir $outdir/new_IMGT
|
|
88
|
|
89 cp $PWD/summary.txt "$outdir/new_IMGT/1_Summary.txt"
|
|
90 cp $PWD/gapped_nt.txt "$outdir/new_IMGT/2_IMGT-gapped-nt-sequences.txt"
|
|
91 cp $PWD/sequences.txt "$outdir/new_IMGT/3_Nt-sequences.txt"
|
|
92 cp $PWD/gapped_aa.txt "$outdir/new_IMGT/4_IMGT-gapped-AA-sequences.txt"
|
|
93 cp $PWD/aa.txt "$outdir/new_IMGT/5_AA-sequences.txt"
|
|
94 cp $PWD/junction.txt "$outdir/new_IMGT/6_Junction.txt"
|
|
95 cp $PWD/mutationanalysis.txt "$outdir/new_IMGT/7_V-REGION-mutation-and-AA-change-table.txt"
|
|
96 cp $PWD/mutationstats.txt "$outdir/new_IMGT/8_V-REGION-nt-mutation-statistics.txt"
|
|
97 cp $PWD/aa_change_stats.txt "$outdir/new_IMGT/9_V-REGION-AA-change-statistics.txt"
|
|
98 cp $PWD/hotspots.txt "$outdir/new_IMGT/10_V-REGION-mutation-hotspots.txt"
|
|
99
|
|
100 mkdir $outdir/new_IMGT_IGA
|
|
101 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGA
|
|
102
|
|
103 mkdir $outdir/new_IMGT_IGA1
|
|
104 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGA1
|
|
105
|
|
106 mkdir $outdir/new_IMGT_IGA2
|
|
107 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGA2
|
|
108
|
|
109 mkdir $outdir/new_IMGT_IGG
|
|
110 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGG
|
|
111
|
|
112 mkdir $outdir/new_IMGT_IGG1
|
|
113 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGG1
|
|
114
|
|
115 mkdir $outdir/new_IMGT_IGG2
|
|
116 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGG2
|
|
117
|
|
118 mkdir $outdir/new_IMGT_IGG3
|
|
119 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGG3
|
|
120
|
|
121 mkdir $outdir/new_IMGT_IGG4
|
|
122 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGG4
|
|
123
|
|
124 mkdir $outdir/new_IMGT_IGM
|
|
125 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGM
|
|
126
|
|
127 mkdir $outdir/new_IMGT_IGE
|
|
128 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGE
|
|
129
|
|
130 Rscript $dir/new_imgt.r $outdir/new_IMGT/ $outdir/merged.txt "-" 2>&1
|
|
131
|
|
132 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGA/ $outdir/merged.txt "IGA" 2>&1
|
|
133 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGA1/ $outdir/merged.txt "IGA1" 2>&1
|
|
134 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGA2/ $outdir/merged.txt "IGA2" 2>&1
|
|
135
|
|
136 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGG/ $outdir/merged.txt "IGG" 2>&1
|
|
137 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGG1/ $outdir/merged.txt "IGG1" 2>&1
|
|
138 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGG2/ $outdir/merged.txt "IGG2" 2>&1
|
|
139 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGG3/ $outdir/merged.txt "IGG3" 2>&1
|
|
140 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGG4/ $outdir/merged.txt "IGG4" 2>&1
|
|
141
|
|
142 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGM/ $outdir/merged.txt "IGM" 2>&1
|
|
143
|
|
144 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGE/ $outdir/merged.txt "IGE" 2>&1
|
|
145
|
|
146
|
|
147 tmp="$PWD"
|
|
148 cd $outdir/new_IMGT/ #tar weirdness...
|
|
149 tar -cJf ../new_IMGT.txz *
|
|
150
|
|
151 cd $outdir/new_IMGT_IGA/
|
|
152 tar -cJf ../new_IMGT_IGA.txz *
|
|
153
|
|
154 cd $outdir/new_IMGT_IGA1/
|
|
155 tar -cJf ../new_IMGT_IGA1.txz *
|
|
156
|
|
157 cd $outdir/new_IMGT_IGA2/
|
|
158 tar -cJf ../new_IMGT_IGA2.txz *
|
|
159
|
|
160 cd $outdir/new_IMGT_IGG/
|
|
161 tar -cJf ../new_IMGT_IGG.txz *
|
|
162
|
|
163 cd $outdir/new_IMGT_IGG1/
|
|
164 tar -cJf ../new_IMGT_IGG1.txz *
|
|
165
|
|
166 cd $outdir/new_IMGT_IGG2/
|
|
167 tar -cJf ../new_IMGT_IGG2.txz *
|
|
168
|
|
169 cd $outdir/new_IMGT_IGG3/
|
|
170 tar -cJf ../new_IMGT_IGG3.txz *
|
|
171
|
|
172 cd $outdir/new_IMGT_IGG4/
|
|
173 tar -cJf ../new_IMGT_IGG4.txz *
|
|
174
|
|
175 cd $outdir/new_IMGT_IGM/
|
|
176 tar -cJf ../new_IMGT_IGM.txz *
|
|
177
|
|
178 cd $outdir/new_IMGT_IGE/
|
|
179 tar -cJf ../new_IMGT_IGE.txz *
|
|
180
|
|
181 cd $tmp
|
|
182 fi
|
|
183
|
|
184 echo "---------------- shm_csr.r ----------------"
|
|
185 echo "---------------- shm_csr.r ----------------<br />" >> $log
|
|
186
|
|
187 classes="IGA,IGA1,IGA2,IGG,IGG1,IGG2,IGG3,IGG4,IGM,IGE,unmatched"
|
|
188 echo "R mutation analysis"
|
|
189 Rscript $dir/shm_csr.r $outdir/merged.txt $classes $outdir ${empty_region_filter} 2>&1
|
|
190
|
|
191 echo "---------------- plot_pdfs.r ----------------"
|
|
192 echo "---------------- plot_pdfs.r ----------------<br />" >> $log
|
|
193
|
|
194 echo "Rscript $dir/shm_csr.r $outdir/pdfplots.RData $outdir 2>&1"
|
|
195
|
|
196 Rscript $dir/plot_pdf.r "$outdir/pdfplots.RData" "$outdir" 2>&1
|
|
197
|
|
198 echo "---------------- shm_csr.py ----------------"
|
|
199 echo "---------------- shm_csr.py ----------------<br />" >> $log
|
|
200
|
|
201 python $dir/shm_csr.py --input $outdir/merged.txt --genes $classes --empty_region_filter "${empty_region_filter}" --output $outdir/hotspot_analysis.txt
|
|
202
|
|
203 echo "---------------- aa_histogram.r ----------------"
|
|
204 echo "---------------- aa_histogram.r ----------------<br />" >> $log
|
|
205
|
|
206 Rscript $dir/aa_histogram.r $outdir/aa_id_mutations.txt $outdir/absent_aa_id.txt "IGA,IGG,IGM,IGE" $outdir/ 2>&1
|
|
207 if [ -e "$outdir/aa_histogram_.png" ]; then
|
|
208 mv $outdir/aa_histogram_.png $outdir/aa_histogram.png
|
|
209 mv $outdir/aa_histogram_.pdf $outdir/aa_histogram.pdf
|
|
210 mv $outdir/aa_histogram_.txt $outdir/aa_histogram.txt
|
|
211 mv $outdir/aa_histogram_absent_.txt $outdir/aa_histogram_absent.txt
|
|
212 mv $outdir/aa_histogram_count_.txt $outdir/aa_histogram_count.txt
|
|
213 mv $outdir/aa_histogram_sum_.txt $outdir/aa_histogram_sum.txt
|
|
214 fi
|
|
215
|
|
216 genes=(IGA IGA1 IGA2 IGG IGG1 IGG2 IGG3 IGG4 IGM IGE)
|
|
217
|
|
218 funcs=(sum mean median)
|
|
219 funcs=(sum)
|
|
220
|
|
221 echo "---------------- sequence_overview.r ----------------"
|
|
222 echo "---------------- sequence_overview.r ----------------<br />" >> $log
|
|
223
|
|
224 mkdir $outdir/sequence_overview
|
|
225
|
|
226 Rscript $dir/sequence_overview.r $outdir/before_unique_filter.txt $outdir/merged.txt $outdir/sequence_overview $classes $outdir/hotspot_analysis_sum.txt ${empty_region_filter} 2>&1
|
|
227
|
|
228 echo "<table border='1'>" > $outdir/base_overview.html
|
|
229
|
|
230 while IFS=$'\t' read ID class seq A C G T
|
|
231 do
|
|
232 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
|
|
233 done < $outdir/sequence_overview/ntoverview.txt
|
|
234
|
|
235 echo "<html><center><h1>$title</h1></center>" > $output
|
|
236 echo "<meta name='viewport' content='width=device-width, initial-scale=1'>" >> $output
|
|
237 echo "<script type='text/javascript' src='jquery-1.11.0.min.js'></script>" >> $output
|
|
238 echo "<script type='text/javascript' src='tabber.js'></script>" >> $output
|
|
239 echo "<script type='text/javascript' src='script.js'></script>" >> $output
|
|
240 echo "<link rel='stylesheet' type='text/css' href='style.css'>" >> $output
|
|
241 echo "<link rel='stylesheet' type='text/css' href='pure-min.css'>" >> $output
|
|
242
|
|
243 matched_count="`cat $outdir/merged.txt | grep -v 'unmatched' | tail -n +2 | wc -l`"
|
|
244 unmatched_count="`cat $outdir/unmatched.txt | tail -n +2 | wc -l`"
|
|
245 total_count=$((matched_count + unmatched_count))
|
|
246 perc_count=$((unmatched_count / total_count * 100))
|
|
247 perc_count=`bc -l <<< "scale=2; ${unmatched_count} / ${total_count} * 100"`
|
|
248 perc_count=`bc -l <<< "scale=2; (${unmatched_count} / ${total_count} * 100 ) / 1"`
|
|
249
|
|
250 echo "<center><h2>Total: ${total_count}</h2></center>" >> $output
|
|
251 echo "<center><h2>Matched: ${matched_count} Unmatched: ${unmatched_count}</h2></center>" >> $output
|
|
252 echo "<center><h2>Percentage unmatched: ${perc_count}</h2></center>" >> $output
|
|
253
|
|
254 echo "---------------- main tables ----------------"
|
|
255 echo "---------------- main tables ----------------<br />" >> $log
|
|
256
|
|
257 echo "<div class='tabber'>" >> $output
|
|
258 echo "<div class='tabbertab' title='SHM Overview' style='width: 3000px;'>" >> $output
|
|
259
|
|
260 for func in ${funcs[@]}
|
|
261 do
|
|
262
|
|
263 echo "---------------- $func table ----------------"
|
|
264 echo "---------------- $func table ----------------<br />" >> $log
|
|
265
|
|
266 cat $outdir/mutations_${func}.txt $outdir/shm_overview_tandem_row.txt $outdir/hotspot_analysis_${func}.txt > $outdir/data_${func}.txt
|
|
267
|
|
268 echo "---------------- pattern_plots.r ----------------"
|
|
269 echo "---------------- pattern_plots.r ----------------<br />" >> $log
|
|
270
|
|
271 Rscript $dir/pattern_plots.r $outdir/data_${func}.txt $outdir/aid_motives $outdir/relative_mutations $outdir/absolute_mutations $outdir/shm_overview.txt 2>&1
|
|
272
|
|
273 echo "<table class='pure-table pure-table-striped'>" >> $output
|
|
274 echo "<thead><tr><th>info</th>" >> $output
|
|
275
|
|
276 if [ "${class_filter}" != "101_101" ] ; then
|
|
277
|
|
278 for gene in ${genes[@]}
|
|
279 do
|
|
280 tmp=`cat $outdir/${gene}_${func}_n.txt`
|
|
281 echo "<th><a href='matched_${gene}_${func}.txt'>${gene} (N = $tmp)</a></th>" >> $output
|
|
282 done
|
|
283
|
|
284 tmp=`cat $outdir/all_${func}_n.txt`
|
|
285 echo "<th><a href='matched_all_${func}.txt'>all (N = $tmp)</a></th>" >> $output
|
|
286 tmp=`cat $outdir/unmatched_${func}_n.txt`
|
|
287 echo "<th><a href='unmatched.txt'>unmatched (N = ${unmatched_count})</a></th><tr></thead>" >> $output
|
|
288
|
|
289 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 cex cey cez unx uny unz allx ally allz
|
|
290 do
|
|
291 if [ "$name" == "FR R/S (ratio)" ] || [ "$name" == "CDR R/S (ratio)" ] || [ "$name" == "Tandems/Expected (ratio)" ] ; then #meh
|
|
292 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>${cex}/${cey} (${cez})</td><td>${allx}/${ally} (${allz})</td><td>${unx}/${uny} (${unz})</td></tr>" >> $output
|
|
293 elif [ "$name" == "Median of Number of Mutations (%)" ] ; then
|
|
294 echo "<tr><td>$name</td><td>${caz}%</td><td>${ca1z}%</td><td>${ca2z}%</td><td>${cgz}%</td><td>${cg1z}%</td><td>${cg2z}%</td><td>${cg3z}%</td><td>${cg4z}%</td><td>${cmz}%</td><td>${cez}%</td><td>${allz}%</td><td>${unz}%</td></tr>" >> $output
|
|
295 else
|
|
296 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>${cex}/${cey} (${cez}%)</td><td>${allx}/${ally} (${allz}%)</td><td>${unx}/${uny} (${unz}%)</td></tr>" >> $output
|
|
297 fi
|
|
298 done < $outdir/data_${func}.txt
|
|
299
|
|
300 else
|
|
301 tmp=`cat $outdir/all_${func}_n.txt`
|
|
302 echo "<th><a href='matched_all_${func}.txt'>all (N = $tmp)</a></th>" >> $output
|
|
303
|
|
304 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 cex cey cez unx uny unz allx ally allz
|
|
305 do
|
|
306 if [ "$name" == "FR R/S (ratio)" ] || [ "$name" == "CDR R/S (ratio)" ] ; then #meh
|
|
307 echo "<tr><td>$name</td><td>${allx}/${ally}</td></tr>" >> $output
|
|
308 elif [ "$name" == "Median of Number of Mutations (%)" ] ; then
|
|
309 echo "<tr><td>$name</td><td>${allz}%</td></tr>" >> $output
|
|
310 else
|
|
311 echo "<tr><td>$name</td><td>${allx}/${ally} (${allz}%)</td></tr>" >> $output
|
|
312 fi
|
|
313 done < $outdir/data_${func}.txt
|
|
314
|
|
315 fi
|
|
316 echo "</table>" >> $output
|
|
317 #echo "<a href='data_${func}.txt'>Download data</a>" >> $output
|
|
318 done
|
|
319
|
|
320 echo "<a href='aid_motives.pdf'><img src='aid_motives.png' /></a><br />" >> $output
|
|
321 echo "<a href='relative_mutations.pdf'><img src='relative_mutations.png' /></a><br />" >> $output
|
|
322 echo "<a href='absolute_mutations.pdf'><img src='absolute_mutations.png' /></a><br />" >> $output
|
|
323 echo "<br />" >> $output
|
|
324 cat $dir/shm_overview.htm >> $output
|
|
325 echo "</div>" >> $output #SHM overview tab end
|
|
326
|
|
327 echo "---------------- images ----------------"
|
|
328 echo "---------------- images ----------------<br />" >> $log
|
|
329
|
|
330 echo "<div class='tabbertab' title='SHM Frequency' style='width: 3000px;'></a>" >> $output
|
|
331
|
|
332 if [ -a $outdir/scatter.png ]
|
|
333 then
|
|
334 echo "<a href='scatter.pdf'><img src='scatter.png'/><br />" >> $output
|
|
335 fi
|
|
336 if [ -a $outdir/frequency_ranges.png ]
|
|
337 then
|
|
338 echo "<a href='frequency_ranges.pdf'><img src='frequency_ranges.png'/></a><br />" >> $output
|
|
339 fi
|
|
340
|
|
341 echo "<br />" >> $output
|
|
342 cat $dir/shm_frequency.htm >> $output
|
|
343
|
|
344 echo "</div>" >> $output #SHM frequency tab end
|
|
345
|
|
346 echo "<div class='tabbertab' title='Transition tables' style='width: 3000px;'>" >> $output
|
|
347
|
|
348 echo "<table border='0'>" >> $output
|
|
349
|
|
350 for gene in ${genes[@]}
|
|
351 do
|
|
352 echo "<tr>" >> $output
|
|
353 echo "<td><h1>${gene}</h1></td>" >> $output
|
|
354
|
|
355 if [ -e $outdir/transitions_heatmap_${gene}.png ]
|
|
356 then
|
|
357 echo "<td><a href='transitions_heatmap_${gene}.pdf'><img src='transitions_heatmap_${gene}.png' /></a></td>" >> $output
|
|
358 else
|
|
359 echo "<td></td>" >> $output
|
|
360 fi
|
|
361
|
|
362 if [ -e $outdir/transitions_stacked_${gene}.png ]
|
|
363 then
|
|
364 echo "<td><a href='transitions_stacked_${gene}.pdf'><img src='transitions_stacked_${gene}.png' /></a></td>" >> $output
|
|
365 else
|
|
366 echo "<td></td>" >> $output
|
|
367 fi
|
|
368
|
|
369 echo "<td><table style='border-left-width: 1;' class='pure-table transition-table pure-table-bordered'>" >> $output
|
|
370 echo "<tr><td></td><td colspan="5"><center>To</center></td></tr>" >> $output
|
|
371 first="true"
|
|
372 while IFS=, read from a c g t
|
|
373 do
|
|
374 if [ "$first" == "true" ] ; then
|
|
375 echo "<tr><td rowspan='5'>From</td><td>$from</td><td>$a</td><td>$c</td><td>$g</td><td>$t</td></tr>" >> $output
|
|
376 first="false"
|
|
377 else
|
|
378 echo "<tr><td>$from</td><td>$a</td><td>$c</td><td>$g</td><td>$t</td></tr>" >> $output
|
|
379 fi
|
|
380 done < $outdir/transitions_${gene}_sum.txt
|
|
381 echo "</table></td>" >> $output
|
|
382
|
|
383 echo "</tr>" >> $output
|
|
384 done
|
|
385
|
|
386 echo "<tr>" >> $output
|
|
387 echo "<td><h1>All</h1></td>" >> $output
|
|
388 echo "<td><a href='transitions_heatmap_all.pdf'><img src='transitions_heatmap_all.png' /></a></td>" >> $output
|
|
389 echo "<td><a href='transitions_stacked_all.pdf'><img src='transitions_stacked_all.png' /></a></td>" >> $output
|
|
390 echo "<td><table style='border-left-width: 1;' class='pure-table transition-table pure-table-bordered'>" >> $output
|
|
391 echo "<tr><td></td><td colspan="5"><center>To</center></td></tr>" >> $output
|
|
392 first="true"
|
|
393 while IFS=, read from a c g t
|
|
394 do
|
|
395 if [ "$first" == "true" ] ; then
|
|
396 echo "<tr><td rowspan='5'>From</td><td>$from</td><td>$a</td><td>$c</td><td>$g</td><td>$t</td></tr>" >> $output
|
|
397 first="false"
|
|
398 else
|
|
399 echo "<tr><td>$from</td><td>$a</td><td>$c</td><td>$g</td><td>$t</td></tr>" >> $output
|
|
400 fi
|
|
401 done < $outdir/transitions_all_sum.txt
|
|
402 echo "</table></td>" >> $output
|
|
403
|
|
404 echo "</tr>" >> $output
|
|
405
|
|
406 echo "</table>" >> $output
|
|
407
|
|
408 echo "<br />" >> $output
|
|
409 cat $dir/shm_transition.htm >> $output
|
|
410
|
|
411 echo "</div>" >> $output #transition tables tab end
|
|
412
|
|
413 echo "<div class='tabbertab' title='Antigen Selection'>" >> $output
|
|
414
|
|
415 if [ -e $outdir/aa_histogram.png ]
|
|
416 then
|
|
417 echo "<a href='aa_histogram.pdf'><img src='aa_histogram.png'/></a><br />" >> $output
|
|
418 fi
|
|
419
|
|
420 if [ -e $outdir/aa_histogram_IGA.png ]
|
|
421 then
|
|
422 echo "<a href='aa_histogram_IGA.pdf'><img src='aa_histogram_IGA.png'/></a><br />" >> $output
|
|
423 fi
|
|
424
|
|
425 if [ -e $outdir/aa_histogram_IGG.png ]
|
|
426 then
|
|
427 echo "<a href='aa_histogram_IGG.pdf'><img src='aa_histogram_IGG.png'/></a><br />" >> $output
|
|
428 fi
|
|
429
|
|
430 if [ -e $outdir/aa_histogram_IGM.png ]
|
|
431 then
|
|
432 echo "<a href='aa_histogram_IGM.pdf'><img src='aa_histogram_IGM.png'/></a><br />" >> $output
|
|
433 fi
|
|
434
|
|
435 if [ -e $outdir/aa_histogram_IGE.png ]
|
|
436 then
|
|
437 echo "<a href='aa_histogram_IGE.pdf'><img src='aa_histogram_IGE.png'/></a><br />" >> $output
|
|
438 fi
|
|
439
|
|
440
|
|
441
|
|
442 if [[ "$fast" == "no" ]] ; then
|
|
443
|
|
444
|
|
445
|
|
446 echo "---------------- baseline ----------------"
|
|
447 echo "---------------- baseline ----------------<br />" >> $log
|
|
448 tmp="$PWD"
|
|
449
|
|
450 mkdir $outdir/baseline
|
|
451
|
|
452 echo "<center><h1>BASELINe</h1>" >> $output
|
|
453 header_substring="Based on CDR1, FR2, CDR2, FR3 (27:27:38:55:65:104:-)"
|
|
454
|
|
455 baseline_boundaries="27:27:38:55:65:104:-"
|
|
456
|
|
457 if [[ "${empty_region_filter}" == "leader" ]] ; then
|
|
458 baseline_boundaries="1:26:38:55:65:104:-"
|
|
459 header_substring="Based on FR1, CDR1, FR2, CDR2, FR3 (1:26:38:55:65:104,-)"
|
|
460 fi
|
|
461
|
|
462 echo "<p>${header_substring}</p></center>" >> $output
|
|
463
|
|
464 mkdir $outdir/baseline/IGA_IGG_IGM
|
|
465 if [[ $(wc -l < $outdir/new_IMGT/1_Summary.txt) -gt "1" ]]; then
|
|
466 cd $outdir/baseline/IGA_IGG_IGM
|
|
467 bash $dir/baseline/wrapper.sh 1 1 1 1 0 0 "${baseline_boundaries}" $outdir/new_IMGT.txz "IGA_IGG_IGM_IGE" "$dir/baseline/IMGTVHreferencedataset20161215.fa" "$outdir/baseline.pdf" "Sequence.ID" "$outdir/baseline.txt"
|
|
468 else
|
|
469 echo "No sequences" > "$outdir/baseline.txt"
|
|
470 fi
|
|
471
|
|
472 mkdir $outdir/baseline/IGA
|
|
473 if [[ $(wc -l < $outdir/new_IMGT_IGA/1_Summary.txt) -gt "1" ]]; then
|
|
474 cd $outdir/baseline/IGA
|
|
475 bash $dir/baseline/wrapper.sh 1 1 1 1 0 0 "${baseline_boundaries}" $outdir/new_IMGT_IGA.txz "IGA" "$dir/baseline/IMGTVHreferencedataset20161215.fa" "$outdir/baseline_IGA.pdf" "Sequence.ID" "$outdir/baseline_IGA.txt"
|
|
476 else
|
|
477 echo "No IGA sequences" > "$outdir/baseline_IGA.txt"
|
|
478 fi
|
|
479
|
|
480 mkdir $outdir/baseline/IGG
|
|
481 if [[ $(wc -l < $outdir/new_IMGT_IGG/1_Summary.txt) -gt "1" ]]; then
|
|
482 cd $outdir/baseline/IGG
|
|
483 bash $dir/baseline/wrapper.sh 1 1 1 1 0 0 "${baseline_boundaries}" $outdir/new_IMGT_IGG.txz "IGG" "$dir/baseline/IMGTVHreferencedataset20161215.fa" "$outdir/baseline_IGG.pdf" "Sequence.ID" "$outdir/baseline_IGG.txt"
|
|
484 else
|
|
485 echo "No IGG sequences" > "$outdir/baseline_IGG.txt"
|
|
486 fi
|
|
487
|
|
488 mkdir $outdir/baseline/IGM
|
|
489 if [[ $(wc -l < $outdir/new_IMGT_IGM/1_Summary.txt) -gt "1" ]]; then
|
|
490 cd $outdir/baseline/IGM
|
|
491 bash $dir/baseline/wrapper.sh 1 1 1 1 0 0 "${baseline_boundaries}" $outdir/new_IMGT_IGM.txz "IGM" "$dir/baseline/IMGTVHreferencedataset20161215.fa" "$outdir/baseline_IGM.pdf" "Sequence.ID" "$outdir/baseline_IGM.txt"
|
|
492 else
|
|
493 echo "No IGM sequences" > "$outdir/baseline_IGM.txt"
|
|
494 fi
|
|
495
|
|
496 mkdir $outdir/baseline/IGE
|
|
497 if [[ $(wc -l < $outdir/new_IMGT_IGE/1_Summary.txt) -gt "1" ]]; then
|
|
498 cd $outdir/baseline/IGE
|
|
499 bash $dir/baseline/wrapper.sh 1 1 1 1 0 0 "${baseline_boundaries}" $outdir/new_IMGT_IGE.txz "IGE" "$dir/baseline/IMGTVHreferencedataset20161215.fa" "$outdir/baseline_IGE.pdf" "Sequence.ID" "$outdir/baseline_IGE.txt"
|
|
500 else
|
|
501 echo "No IGE sequences" > "$outdir/baseline_IGE.txt"
|
|
502 fi
|
|
503
|
|
504 cd $tmp
|
|
505
|
|
506 echo "Cleaning up *.RData files"
|
|
507 find $outdir/baseline -name "*.RData" -type f -delete
|
|
508
|
|
509 if [ -e $outdir/baseline.pdf ]
|
|
510 then
|
|
511 echo "<embed src='baseline.pdf' width='700px' height='1000px'>" >> $output
|
|
512 fi
|
|
513
|
|
514 if [ -e $outdir/baseline_IGA.pdf ]
|
|
515 then
|
|
516 echo "<embed src='baseline_IGA.pdf' width='700px' height='1000px'>" >> $output
|
|
517 fi
|
|
518
|
|
519 if [ -e $outdir/baseline_IGG.pdf ]
|
|
520 then
|
|
521 echo "<embed src='baseline_IGG.pdf' width='700px' height='1000px'>" >> $output
|
|
522 fi
|
|
523
|
|
524 if [ -e $outdir/baseline_IGM.pdf ]
|
|
525 then
|
|
526 echo "<embed src='baseline_IGM.pdf' width='700px' height='1000px'>" >> $output
|
|
527 fi
|
|
528
|
|
529 if [ -e $outdir/baseline_IGE.pdf ]
|
|
530 then
|
|
531 echo "<embed src='baseline_IGE.pdf' width='700px' height='1000px'>" >> $output
|
|
532 fi
|
|
533 fi
|
|
534
|
|
535 echo "<br />" >> $output
|
|
536 cat $dir/shm_selection.htm >> $output
|
|
537
|
|
538 echo "</div>" >> $output #antigen selection tab end
|
|
539
|
|
540 echo "<div class='tabbertab' title='CSR'>" >> $output #CSR tab
|
|
541
|
|
542 if [ -e $outdir/IGA.png ]
|
|
543 then
|
|
544 echo "<a href='IGA.pdf'><img src='IGA.png'/></a><br />" >> $output
|
|
545 fi
|
|
546 if [ -e $outdir/IGG.png ]
|
|
547 then
|
|
548 echo "<a href='IGG.pdf'><img src='IGG.png'/></a><br />" >> $output
|
|
549 fi
|
|
550
|
|
551 echo "<br />" >> $output
|
|
552 cat $dir/shm_csr.htm >> $output
|
|
553
|
|
554 echo "</div>" >> $output #CSR tab end
|
|
555
|
|
556 if [[ "$fast" == "no" ]] ; then
|
|
557
|
|
558 echo "---------------- change-o MakeDB ----------------"
|
|
559
|
|
560 mkdir $outdir/change_o
|
|
561
|
|
562 tmp="$PWD"
|
|
563
|
|
564 cd $outdir/change_o
|
|
565
|
|
566 bash $dir/change_o/makedb.sh $outdir/new_IMGT.txz false false false $outdir/change_o/change-o-db.txt
|
|
567 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
|
|
568 Rscript $dir/change_o/select_first_in_clone.r $outdir/change_o/change-o-db-defined_clones.txt $outdir/change_o/change-o-db-defined_first_clones.txt 2>&1
|
|
569
|
|
570 mkdir $outdir/new_IMGT_changeo
|
|
571 cp $outdir/new_IMGT/* $outdir/new_IMGT_changeo
|
|
572
|
|
573 Rscript $dir/new_imgt.r $outdir/new_IMGT_changeo $outdir/change_o/change-o-db-defined_first_clones.txt "-" 2>&1
|
|
574
|
|
575 cd $outdir/new_IMGT_changeo
|
|
576 tar -cJf ../new_IMGT_first_seq_of_clone.txz *
|
|
577 cd $outdir/change_o
|
|
578
|
|
579 rm -rf $outdir/new_IMGT_changeo
|
|
580
|
|
581 Rscript $dir/merge.r $outdir/change_o/change-o-db-defined_clones.txt $outdir/merged.txt "all" "Sequence.ID,best_match" "SEQUENCE_ID" "Sequence.ID" $outdir/change_o/change-o-db-defined_clones.txt 2>&1
|
|
582 echo "Rscript $dir/merge.r $outdir/change_o/change-o-db-defined_clones.txt $outdir/$outdir/merged.txt 'all' 'Sequence.ID,best_match' 'Sequence.ID' 'Sequence.ID' '\t' $outdir/change_o/change-o-db-defined_clones.txt 2>&1"
|
|
583
|
|
584 if [[ $(wc -l < $outdir/new_IMGT_IGA/1_Summary.txt) -gt "1" ]]; then
|
|
585 bash $dir/change_o/makedb.sh $outdir/new_IMGT_IGA.txz false false false $outdir/change_o/change-o-db-IGA.txt
|
|
586 bash $dir/change_o/define_clones.sh bygroup $outdir/change_o/change-o-db-IGA.txt gene first ham none min complete 3.0 $outdir/change_o/change-o-db-defined_clones-IGA.txt $outdir/change_o/change-o-defined_clones-summary-IGA.txt
|
|
587 Rscript $dir/change_o/select_first_in_clone.r $outdir/change_o/change-o-db-defined_clones-IGA.txt $outdir/change_o/change-o-db-defined_first_clones-IGA.txt 2>&1
|
|
588
|
|
589 mkdir $outdir/new_IMGT_IGA_changeo
|
|
590 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGA_changeo
|
|
591
|
|
592 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGA_changeo $outdir/change_o/change-o-db-defined_first_clones-IGA.txt "-" 2>&1
|
|
593
|
|
594 cd $outdir/new_IMGT_IGA_changeo
|
|
595 tar -cJf ../new_IMGT_IGA_first_seq_of_clone.txz *
|
|
596
|
|
597 rm -rf $outdir/new_IMGT_IGA_changeo
|
|
598
|
|
599 cd $outdir/change_o
|
|
600 else
|
|
601 echo "No IGA sequences" > "$outdir/change_o/change-o-db-defined_clones-IGA.txt"
|
|
602 echo "No IGA sequences" > "$outdir/change_o/change-o-defined_clones-summary-IGA.txt"
|
|
603 fi
|
|
604
|
|
605 if [[ $(wc -l < $outdir/new_IMGT_IGG/1_Summary.txt) -gt "1" ]]; then
|
|
606 bash $dir/change_o/makedb.sh $outdir/new_IMGT_IGG.txz false false false $outdir/change_o/change-o-db-IGG.txt
|
|
607 bash $dir/change_o/define_clones.sh bygroup $outdir/change_o/change-o-db-IGG.txt gene first ham none min complete 3.0 $outdir/change_o/change-o-db-defined_clones-IGG.txt $outdir/change_o/change-o-defined_clones-summary-IGG.txt
|
|
608 Rscript $dir/change_o/select_first_in_clone.r $outdir/change_o/change-o-db-defined_clones-IGG.txt $outdir/change_o/change-o-db-defined_first_clones-IGG.txt 2>&1
|
|
609
|
|
610 mkdir $outdir/new_IMGT_IGG_changeo
|
|
611 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGG_changeo
|
|
612
|
|
613 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGG_changeo $outdir/change_o/change-o-db-defined_first_clones-IGG.txt "-" 2>&1
|
|
614
|
|
615 cd $outdir/new_IMGT_IGG_changeo
|
|
616 tar -cJf ../new_IMGT_IGG_first_seq_of_clone.txz *
|
|
617 rm -rf $outdir/new_IMGT_IGG_changeo
|
|
618
|
|
619 cd $outdir/change_o
|
|
620 else
|
|
621 echo "No IGG sequences" > "$outdir/change_o/change-o-db-defined_clones-IGG.txt"
|
|
622 echo "No IGG sequences" > "$outdir/change_o/change-o-defined_clones-summary-IGG.txt"
|
|
623 fi
|
|
624
|
|
625 if [[ $(wc -l < $outdir/new_IMGT_IGM/1_Summary.txt) -gt "1" ]]; then
|
|
626 bash $dir/change_o/makedb.sh $outdir/new_IMGT_IGM.txz false false false $outdir/change_o/change-o-db-IGM.txt
|
|
627 bash $dir/change_o/define_clones.sh bygroup $outdir/change_o/change-o-db-IGM.txt gene first ham none min complete 3.0 $outdir/change_o/change-o-db-defined_clones-IGM.txt $outdir/change_o/change-o-defined_clones-summary-IGM.txt
|
|
628 Rscript $dir/change_o/select_first_in_clone.r $outdir/change_o/change-o-db-defined_clones-IGM.txt $outdir/change_o/change-o-db-defined_first_clones-IGM.txt 2>&1
|
|
629
|
|
630 mkdir $outdir/new_IMGT_IGM_changeo
|
|
631 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGM_changeo
|
|
632
|
|
633 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGM_changeo $outdir/change_o/change-o-db-defined_first_clones-IGM.txt "-" 2>&1
|
|
634
|
|
635 cd $outdir/new_IMGT_IGM_changeo
|
|
636 tar -cJf ../new_IMGT_IGM_first_seq_of_clone.txz *
|
|
637
|
|
638 rm -rf $outdir/new_IMGT_IGM_changeo
|
|
639
|
|
640 cd $outdir/change_o
|
|
641 else
|
|
642 echo "No IGM sequences" > "$outdir/change_o/change-o-db-defined_clones-IGM.txt"
|
|
643 echo "No IGM sequences" > "$outdir/change_o/change-o-defined_clones-summary-IGM.txt"
|
|
644 fi
|
|
645
|
|
646 if [[ $(wc -l < $outdir/new_IMGT_IGE/1_Summary.txt) -gt "1" ]]; then
|
|
647 bash $dir/change_o/makedb.sh $outdir/new_IMGT_IGE.txz false false false $outdir/change_o/change-o-db-IGE.txt
|
|
648 bash $dir/change_o/define_clones.sh bygroup $outdir/change_o/change-o-db-IGE.txt gene first ham none min complete 3.0 $outdir/change_o/change-o-db-defined_clones-IGE.txt $outdir/change_o/change-o-defined_clones-summary-IGE.txt
|
|
649 Rscript $dir/change_o/select_first_in_clone.r $outdir/change_o/change-o-db-defined_clones-IGE.txt $outdir/change_o/change-o-db-defined_first_clones-IGE.txt 2>&1
|
|
650
|
|
651 mkdir $outdir/new_IMGT_IGE_changeo
|
|
652 cp $outdir/new_IMGT/* $outdir/new_IMGT_IGE_changeo
|
|
653
|
|
654 Rscript $dir/new_imgt.r $outdir/new_IMGT_IGE_changeo $outdir/change_o/change-o-db-defined_first_clones-IGE.txt "-" 2>&1
|
|
655
|
|
656 cd $outdir/new_IMGT_IGE_changeo
|
|
657 tar -cJf ../new_IMGT_IGE_first_seq_of_clone.txz *
|
|
658
|
|
659 rm -rf $outdir/new_IMGT_IGE_changeo
|
|
660
|
|
661 cd $outdir/change_o
|
|
662 else
|
|
663 echo "No IGE sequences" > "$outdir/change_o/change-o-db-defined_clones-IGE.txt"
|
|
664 echo "No IGE sequences" > "$outdir/change_o/change-o-defined_clones-summary-IGE.txt"
|
|
665 fi
|
|
666
|
|
667 cd "$tmp"
|
|
668
|
|
669 rm -rf $outdir/new_IMGT
|
|
670 rm -rf $outdir/new_IMGT_IGA/
|
|
671 rm -rf $outdir/new_IMGT_IGA1/
|
|
672 rm -rf $outdir/new_IMGT_IGA2/
|
|
673 rm -rf $outdir/new_IMGT_IGG/
|
|
674 rm -rf $outdir/new_IMGT_IGG1/
|
|
675 rm -rf $outdir/new_IMGT_IGG2/
|
|
676 rm -rf $outdir/new_IMGT_IGG3/
|
|
677 rm -rf $outdir/new_IMGT_IGG4/
|
|
678 rm -rf $outdir/new_IMGT_IGM/
|
|
679 rm -rf $outdir/new_IMGT_IGE/
|
|
680
|
|
681 echo "<div class='tabbertab' title='Clonal Relation' style='width: 7000px;'>" >> $output #clonality tab
|
|
682
|
|
683 function clonality_table {
|
|
684 local infile=$1
|
|
685 local outfile=$2
|
|
686
|
|
687 echo "<table class='pure-table pure-table-striped'>" >> $outfile
|
|
688 echo "<thead><tr><th>Clone size</th><th>Nr of clones</th><th>Nr of sequences</th></tr></thead>" >> $outfile
|
|
689
|
|
690 first='true'
|
|
691
|
|
692 while read size clones seqs
|
|
693 do
|
|
694 if [[ "$first" == "true" ]]; then
|
|
695 first="false"
|
|
696 continue
|
|
697 fi
|
|
698 echo "<tr><td>$size</td><td>$clones</td><td>$seqs</td></tr>" >> $outfile
|
|
699 done < $infile
|
|
700
|
|
701 echo "</table>" >> $outfile
|
|
702 }
|
|
703 echo "<div class='tabber'>" >> $output
|
|
704
|
|
705 echo "<div class='tabbertab' title='All'>" >> $output
|
|
706 clonality_table $outdir/change_o/change-o-defined_clones-summary.txt $output
|
|
707 echo "</div>" >> $output
|
|
708
|
|
709 echo "<div class='tabbertab' title='IGA'>" >> $output
|
|
710 clonality_table $outdir/change_o/change-o-defined_clones-summary-IGA.txt $output
|
|
711 echo "</div>" >> $output
|
|
712
|
|
713 echo "<div class='tabbertab' title='IGG'>" >> $output
|
|
714 clonality_table $outdir/change_o/change-o-defined_clones-summary-IGG.txt $output
|
|
715 echo "</div>" >> $output
|
|
716
|
|
717 echo "<div class='tabbertab' title='IGM'>" >> $output
|
|
718 clonality_table $outdir/change_o/change-o-defined_clones-summary-IGM.txt $output
|
|
719 echo "</div>" >> $output
|
|
720
|
|
721 echo "<div class='tabbertab' title='IGE'>" >> $output
|
|
722 clonality_table $outdir/change_o/change-o-defined_clones-summary-IGM.txt $output
|
|
723 echo "</div>" >> $output
|
|
724
|
|
725 echo "<div class='tabbertab' title='Overlap' style='width: 7000px;'>" >> $output
|
|
726 cat "$outdir/sequence_overview/index.html" | sed -e 's:</td>:</td>\n:g' | sed "s:href='\(.*\).html:href='sequence_overview/\1.html:g" >> $output # rewrite href to 'sequence_overview/..."
|
|
727 echo "</div>" >> $output
|
|
728
|
|
729 echo "</div>" >> $output #clonality tabber end
|
|
730
|
|
731 echo "<br />" >> $output
|
|
732 cat $dir/shm_clonality.htm >> $output
|
|
733
|
|
734 echo "</div>" >> $output #clonality tab end
|
|
735
|
|
736 fi
|
|
737
|
|
738 echo "<div class='tabbertab' title='Downloads'>" >> $output
|
|
739
|
|
740 echo "<table class='pure-table pure-table-striped'>" >> $output
|
|
741 echo "<thead><tr><th>info</th><th>link</th></tr></thead>" >> $output
|
|
742 echo "<tr><td>The complete dataset</td><td><a href='merged.txt' download='merged.txt' >Download</a></td></tr>" >> $output
|
|
743 echo "<tr><td>The filtered dataset</td><td><a href='filtered.txt' download='filtered.txt' >Download</a></td></tr>" >> $output
|
|
744 echo "<tr><td>The alignment info on the unmatched sequences</td><td><a href='unmatched.txt' download='unmatched.txt' >Download</a></td></tr>" >> $output
|
|
745
|
|
746 echo "<tr><td colspan='2' style='background-color:#E0E0E0;'>SHM Overview</td></tr>" >> $output
|
|
747 echo "<tr><td>The SHM Overview table as a dataset</td><td><a href='shm_overview.txt' download='shm_overview.txt' >Download</a></td></tr>" >> $output
|
|
748 echo "<tr><td>Motif data per sequence ID</td><td><a href='motif_per_seq.txt' download='motif_per_seq.txt' >Download</a></td></tr>" >> $output
|
|
749 echo "<tr><td>Mutation data per sequence ID</td><td><a href='mutation_by_id.txt' download='mutation_by_id.txt' >Download</a></td></tr>" >> $output
|
|
750 echo "<tr><td>Base count for every sequence</td><td><a href='base_overview.html'>View</a></td></tr>" >> $output
|
|
751 echo "<tr><td>The data used to generate the percentage of mutations in AID and pol eta motives plot</td><td><a href='aid_motives.txt' download='aid_motives.txt' >Download</a></td></tr>" >> $output
|
|
752 echo "<tr><td>The data used to generate the relative mutation patterns plot</td><td><a href='relative_mutations.txt' download='relative_mutations.txt' >Download</a></td></tr>" >> $output
|
|
753 echo "<tr><td>The data used to generate the absolute mutation patterns plot</td><td><a href='absolute_mutations.txt' download='absolute_mutations.txt' >Download</a></td></tr>" >> $output
|
|
754 echo "<tr><td>Data about tandem mutations by ID</td><td><a href='tandems_by_id.txt' download='tandems_by_id.txt' >Download</a></td></tr>" >> $output
|
|
755
|
|
756 echo "<tr><td colspan='2' style='background-color:#E0E0E0;'>SHM Frequency</td></tr>" >> $output
|
|
757 echo "<tr><td>The data generate the frequency scatter plot</td><td><a href='scatter.txt' download='scatter.txt' >Download</a></td></tr>" >> $output
|
|
758 echo "<tr><td>The data used to generate the frequency by class plot</td><td><a href='frequency_ranges_classes.txt' download='frequency_ranges_classes.txt' >Download</a></td></tr>" >> $output
|
|
759 echo "<tr><td>The data for frequency by subclass</td><td><a href='frequency_ranges_subclasses.txt' download='frequency_ranges_subclasses.txt' >Download</a></td></tr>" >> $output
|
|
760
|
|
761 echo "<tr><td colspan='2' style='background-color:#E0E0E0;'>Transition Tables</td></tr>" >> $output
|
|
762 echo "<tr><td>The data for the 'all' transition plot</td><td><a href='transitions_all_sum.txt' download='transitions_all_sum.txt' >Download</a></td></tr>" >> $output
|
|
763 echo "<tr><td>The data for the 'IGA' transition plot</td><td><a href='transitions_IGA_sum.txt' download='transitions_IGA_sum.txt' >Download</a></td></tr>" >> $output
|
|
764 echo "<tr><td>The data for the 'IGA1' transition plot</td><td><a href='transitions_IGA1_sum.txt' download='transitions_IGA1_sum.txt' >Download</a></td></tr>" >> $output
|
|
765 echo "<tr><td>The data for the 'IGA2' transition plot</td><td><a href='transitions_IGA2_sum.txt' download='transitions_IGA2_sum.txt' >Download</a></td></tr>" >> $output
|
|
766 echo "<tr><td>The data for the 'IGG' transition plot</td><td><a href='transitions_IGG_sum.txt' download='transitions_IGG_sum.txt' >Download</a></td></tr>" >> $output
|
|
767 echo "<tr><td>The data for the 'IGG1' transition plot</td><td><a href='transitions_IGG1_sum.txt' download='transitions_IGG1_sum.txt' >Download</a></td></tr>" >> $output
|
|
768 echo "<tr><td>The data for the 'IGG2' transition plot</td><td><a href='transitions_IGG2_sum.txt' download='transitions_IGG2_sum.txt' >Download</a></td></tr>" >> $output
|
|
769 echo "<tr><td>The data for the 'IGG3' transition plot</td><td><a href='transitions_IGG3_sum.txt' download='transitions_IGG3_sum.txt' >Download</a></td></tr>" >> $output
|
|
770 echo "<tr><td>The data for the 'IGG4' transition plot</td><td><a href='transitions_IGG4_sum.txt' download='transitions_IGG4_sum.txt' >Download</a></td></tr>" >> $output
|
|
771 echo "<tr><td>The data for the 'IGM' transition plot</td><td><a href='transitions_IGM_sum.txt' download='transitions_IGM_sum.txt' >Download</a></td></tr>" >> $output
|
|
772 echo "<tr><td>The data for the 'IGE' transition plot</td><td><a href='transitions_IGE_sum.txt' download='transitions_IGE_sum.txt' >Download</a></td></tr>" >> $output
|
|
773
|
|
774 echo "<tr><td colspan='2' style='background-color:#E0E0E0;'>Antigen Selection</td></tr>" >> $output
|
|
775 echo "<tr><td>AA mutation data per sequence ID</td><td><a href='aa_id_mutations.txt' download='aa_id_mutations.txt' >Download</a></td></tr>" >> $output
|
|
776 echo "<tr><td>Presence of AA per sequence ID</td><td><a href='absent_aa_id.txt' download='absent_aa_id.txt' >Download</a></td></tr>" >> $output
|
|
777
|
|
778 echo "<tr><td>The data used to generate the aa mutation frequency plot</td><td><a href='aa_histogram_sum.txt' download='aa_histogram_sum.txt' >Download</a></td></tr>" >> $output
|
|
779 echo "<tr><td>The data used to generate the aa mutation frequency plot for IGA</td><td><a href='aa_histogram_sum_IGA.txt' download='aa_histogram_sum_IGA.txt' >Download</a></td></tr>" >> $output
|
|
780 echo "<tr><td>The data used to generate the aa mutation frequency plot for IGG</td><td><a href='aa_histogram_sum_IGG.txt' download='aa_histogram_sum_IGG.txt' >Download</a></td></tr>" >> $output
|
|
781 echo "<tr><td>The data used to generate the aa mutation frequency plot for IGM</td><td><a href='aa_histogram_sum_IGM.txt' download='aa_histogram_sum_IGM.txt' >Download</a></td></tr>" >> $output
|
|
782 echo "<tr><td>The data used to generate the aa mutation frequency plot for IGE</td><td><a href='aa_histogram_sum_IGE.txt' download='aa_histogram_sum_IGE.txt' >Download</a></td></tr>" >> $output
|
|
783
|
|
784 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='baseline.pdf' >Download</a></td></tr>" >> $output
|
|
785 echo "<tr><td>Baseline data</td><td><a href='baseline.txt' download='baseline.txt' >Download</a></td></tr>" >> $output
|
|
786 echo "<tr><td>Baseline IGA PDF</td><td><a href='baseline_IGA.pdf' download='baseline_IGA.pdf' >Download</a></td></tr>" >> $output
|
|
787 echo "<tr><td>Baseline IGA data</td><td><a href='baseline_IGA.txt' download='baseline_IGA.txt' >Download</a></td></tr>" >> $output
|
|
788 echo "<tr><td>Baseline IGG PDF</td><td><a href='baseline_IGG.pdf' download='baseline_IGG.pdf' >Download</a></td></tr>" >> $output
|
|
789 echo "<tr><td>Baseline IGG data</td><td><a href='baseline_IGG.txt' download='baseline_IGG.txt' >Download</a></td></tr>" >> $output
|
|
790 echo "<tr><td>Baseline IGM PDF</td><td><a href='baseline_IGM.pdf' download='baseline_IGM.pdf' >Download</a></td></tr>" >> $output
|
|
791 echo "<tr><td>Baseline IGM data</td><td><a href='baseline_IGM.txt' download='baseline_IGM.txt' >Download</a></td></tr>" >> $output
|
|
792 echo "<tr><td>Baseline IGE PDF</td><td><a href='baseline_IGE.pdf' download='baseline_IGE.pdf' >Download</a></td></tr>" >> $output
|
|
793 echo "<tr><td>Baseline IGE data</td><td><a href='baseline_IGE.txt' download='baseline_IGE.txt' >Download</a></td></tr>" >> $output
|
|
794
|
|
795 echo "<tr><td colspan='2' style='background-color:#E0E0E0;'>CSR</td></tr>" >> $output
|
|
796 echo "<tr><td>The data for the IGA subclass distribution plot</td><td><a href='IGA_pie.txt' download='IGA_pie.txt' >Download</a></td></tr>" >> $output
|
|
797 echo "<tr><td>The data for the IGG subclass distribution plot</td><td><a href='IGG_pie.txt' download='IGG_pie.txt' >Download</a></td></tr>" >> $output
|
|
798
|
|
799
|
|
800 echo "<tr><td colspan='2' style='background-color:#E0E0E0;'>Clonal Relation</td></tr>" >> $output
|
|
801 echo "<tr><td>Sequence overlap between subclasses</td><td><a href='sequence_overview/index.html'>View</a></td></tr>" >> $output
|
|
802 echo "<tr><td>The Change-O DB file with defined clones and subclass annotation</td><td><a href='change_o/change-o-db-defined_clones.txt' download='change_o/change-o-db-defined_clones.txt' >Download</a></td></tr>" >> $output
|
|
803 echo "<tr><td>The Change-O DB defined clones summary file</td><td><a href='change_o/change-o-defined_clones-summary.txt' download='change_o/change-o-defined_clones-summary.txt' >Download</a></td></tr>" >> $output
|
|
804 echo "<tr><td>An IMGT archive with just just the first sequence of a clone</td><td><a href='new_IMGT_first_seq_of_clone.txz' download='new_IMGT_first_seq_of_clone.txz' >Download</a></td></tr>" >> $output
|
|
805
|
|
806 echo "<tr><td>The Change-O DB file with defined clones of IGA</td><td><a href='change_o/change-o-db-defined_clones-IGA.txt' download='change_o/change-o-db-defined_clones-IGA.txt' >Download</a></td></tr>" >> $output
|
|
807 echo "<tr><td>The Change-O DB defined clones summary file of IGA</td><td><a href='change_o/change-o-defined_clones-summary-IGA.txt' download='change_o/change-o-defined_clones-summary-IGA.txt' >Download</a></td></tr>" >> $output
|
|
808 echo "<tr><td>An IMGT archive with just just the first sequence of a clone (IGA)</td><td><a href='new_IMGT_IGA_first_seq_of_clone.txz' download='new_IMGT_IGA_first_seq_of_clone.txz' >Download</a></td></tr>" >> $output
|
|
809
|
|
810 echo "<tr><td>The Change-O DB file with defined clones of IGG</td><td><a href='change_o/change-o-db-defined_clones-IGG.txt' download='change_o/change-o-db-defined_clones-IGG.txt' >Download</a></td></tr>" >> $output
|
|
811 echo "<tr><td>The Change-O DB defined clones summary file of IGG</td><td><a href='change_o/change-o-defined_clones-summary-IGG.txt' download='change_o/change-o-defined_clones-summary-IGG.txt' >Download</a></td></tr>" >> $output
|
|
812 echo "<tr><td>An IMGT archive with just just the first sequence of a clone (IGG)</td><td><a href='new_IMGT_IGG_first_seq_of_clone.txz' download='new_IMGT_IGG_first_seq_of_clone.txz' >Download</a></td></tr>" >> $output
|
|
813
|
|
814 echo "<tr><td>The Change-O DB file with defined clones of IGM</td><td><a href='change_o/change-o-db-defined_clones-IGM.txt' download='change_o/change-o-db-defined_clones-IGM.txt' >Download</a></td></tr>" >> $output
|
|
815 echo "<tr><td>The Change-O DB defined clones summary file of IGM</td><td><a href='change_o/change-o-defined_clones-summary-IGM.txt' download='change_o/change-o-defined_clones-summary-IGM.txt' >Download</a></td></tr>" >> $output
|
|
816 echo "<tr><td>An IMGT archive with just just the first sequence of a clone (IGM)</td><td><a href='new_IMGT_IGM_first_seq_of_clone.txz' download='new_IMGT_IGM_first_seq_of_clone.txz' >Download</a></td></tr>" >> $output
|
|
817
|
|
818 echo "<tr><td>The Change-O DB file with defined clones of IGE</td><td><a href='change_o/change-o-db-defined_clones-IGE.txt' download='change_o/change-o-db-defined_clones-IGE.txt' >Download</a></td></tr>" >> $output
|
|
819 echo "<tr><td>The Change-O DB defined clones summary file of IGE</td><td><a href='change_o/change-o-defined_clones-summary-IGE.txt' download='change_o/change-o-defined_clones-summary-IGE.txt' >Download</a></td></tr>" >> $output
|
|
820 echo "<tr><td>An IMGT archive with just just the first sequence of a clone (IGE)</td><td><a href='new_IMGT_IGE_first_seq_of_clone.txz' download='new_IMGT_IGE_first_seq_of_clone.txz' >Download</a></td></tr>" >> $output
|
|
821
|
|
822 echo "<tr><td colspan='2' style='background-color:#E0E0E0;'>Filtered IMGT output files</td></tr>" >> $output
|
|
823 echo "<tr><td>An IMGT archive with just the matched and filtered sequences</td><td><a href='new_IMGT.txz' download='new_IMGT.txz' >Download</a></td></tr>" >> $output
|
|
824 echo "<tr><td>An IMGT archive with just the matched and filtered IGA sequences</td><td><a href='new_IMGT_IGA.txz' download='new_IMGT_IGA.txz' >Download</a></td></tr>" >> $output
|
|
825 echo "<tr><td>An IMGT archive with just the matched and filtered IGA1 sequences</td><td><a href='new_IMGT_IGA1.txz' download='new_IMGT_IGA1.txz' >Download</a></td></tr>" >> $output
|
|
826 echo "<tr><td>An IMGT archive with just the matched and filtered IGA2 sequences</td><td><a href='new_IMGT_IGA2.txz' download='new_IMGT_IGA2.txz' >Download</a></td></tr>" >> $output
|
|
827 echo "<tr><td>An IMGT archive with just the matched and filtered IGG sequences</td><td><a href='new_IMGT_IGG.txz' download='new_IMGT_IGG.txz' >Download</a></td></tr>" >> $output
|
|
828 echo "<tr><td>An IMGT archive with just the matched and filtered IGG1 sequences</td><td><a href='new_IMGT_IGG1.txz' download='new_IMGT_IGG1.txz' >Download</a></td></tr>" >> $output
|
|
829 echo "<tr><td>An IMGT archive with just the matched and filtered IGG2 sequences</td><td><a href='new_IMGT_IGG2.txz' download='new_IMGT_IGG2.txz' >Download</a></td></tr>" >> $output
|
|
830 echo "<tr><td>An IMGT archive with just the matched and filtered IGG3 sequences</td><td><a href='new_IMGT_IGG3.txz' download='new_IMGT_IGG3.txz' >Download</a></td></tr>" >> $output
|
|
831 echo "<tr><td>An IMGT archive with just the matched and filtered IGG4 sequences</td><td><a href='new_IMGT_IGG4.txz' download='new_IMGT_IGG4.txz' >Download</a></td></tr>" >> $output
|
|
832 echo "<tr><td>An IMGT archive with just the matched and filtered IGM sequences</td><td><a href='new_IMGT_IGM.txz' download='new_IMGT_IGM.txz' >Download</a></td></tr>" >> $output
|
|
833 echo "<tr><td>An IMGT archive with just the matched and filtered IGE sequences</td><td><a href='new_IMGT_IGE.txz' download='new_IMGT_IGE.txz' >Download</a></td></tr>" >> $output
|
|
834
|
|
835 echo "</table>" >> $output
|
|
836
|
|
837 echo "<br />" >> $output
|
|
838 cat $dir/shm_downloads.htm >> $output
|
|
839
|
|
840 echo "</div>" >> $output #downloads tab end
|
|
841
|
|
842 echo "</div>" >> $output #tabs end
|
|
843
|
|
844 echo "</html>" >> $output
|
|
845
|
|
846
|
|
847 echo "---------------- naive_output.r ----------------"
|
|
848 echo "---------------- naive_output.r ----------------<br />" >> $log
|
|
849
|
|
850 if [[ "$naive_output" == "yes" ]]
|
|
851 then
|
|
852 echo "output naive output"
|
|
853 if [[ "${class_filter}" == "101_101" ]]
|
|
854 then
|
|
855 echo "copy new_IMGT.txz to ${naive_output_all}"
|
|
856 cp $outdir/new_IMGT.txz ${naive_output_all}
|
|
857 else
|
|
858 echo "copy for classes"
|
|
859 cp $outdir/new_IMGT_IGA.txz ${naive_output_ca}
|
|
860 cp $outdir/new_IMGT_IGG.txz ${naive_output_cg}
|
|
861 cp $outdir/new_IMGT_IGM.txz ${naive_output_cm}
|
|
862 cp $outdir/new_IMGT_IGE.txz ${naive_output_ce}
|
|
863 fi
|
|
864 fi
|
|
865
|
|
866 echo "</table>" >> $outdir/base_overview.html
|
|
867
|
|
868 mv $log $outdir/log.html
|
|
869
|
|
870 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
|
|
871 echo "<table border = 1>" >> $log
|
|
872 echo "<thead><tr><th>Info</th><th>Sequences</th><th>Percentage</th></tr></thead>" >> $log
|
|
873 tIFS="$TMP"
|
|
874 IFS=$'\t'
|
|
875 while read step seq perc
|
|
876 do
|
|
877 echo "<tr>" >> $log
|
|
878 echo "<td>$step</td>" >> $log
|
|
879 echo "<td>$seq</td>" >> $log
|
|
880 echo "<td>${perc}%</td>" >> $log
|
|
881 echo "</tr>" >> $log
|
|
882 done < $outdir/filtering_steps.txt
|
|
883 echo "</table>" >> $log
|
|
884 echo "<br />" >> $log
|
|
885 cat $dir/shm_first.htm >> $log
|
|
886 echo "</center></html>" >> $log
|
|
887
|
|
888 IFS="$tIFS"
|
|
889
|
|
890
|
|
891 echo "---------------- Done! ----------------"
|
|
892 echo "---------------- Done! ----------------<br />" >> $outdir/log.html
|
|
893
|
|
894
|
|
895
|
|
896
|
|
897
|
|
898
|
|
899
|
|
900
|
|
901
|
|
902
|
|
903
|
|
904
|
|
905
|
|
906
|
|
907
|
|
908
|
|
909
|
|
910
|
|
911
|
|
912
|
|
913
|