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