0
|
1 #!/bin/bash
|
|
2
|
9
|
3 export IGDATA=/home/david/tmp/ncbi-igblast-1.0.0;
|
2
|
4
|
|
5 clonalType=${@:(-3):1}
|
0
|
6 html=${@:(-2):1}
|
|
7 imageDir=${@:(-1):1}
|
9
|
8 dataCount=`expr $# - 3`
|
|
9 inputData=${@:(1):dataCount}
|
0
|
10 dir="$(cd "$(dirname "$0")" && pwd)"
|
|
11 array=("$@")
|
|
12 echo "<html><h3>Progress</h3><table><tr><td>info</td></tr>" > $html
|
|
13 echo "<tr><td>-----------------------------------</td></tr>" >> $html
|
|
14
|
9
|
15 id=${inputData[0]}
|
|
16 forwardSlash="/"
|
|
17 mergerInput=()
|
|
18 count=0
|
|
19 for current in $inputData; do
|
|
20 if [[ "$current" != *"$forwardSlash"* ]]; then
|
|
21 id=$current
|
|
22 count=0
|
|
23 mergerInput+=($id)
|
|
24 continue
|
|
25 fi
|
|
26 fileName=$(basename $current)
|
|
27 convertedFileName="${fileName%.*}"
|
|
28 convertedFileName="$PWD/$convertedFileName.converted"
|
|
29 bash $dir/imgtconvert.sh $current $id $count $convertedFileName
|
|
30 mergerInput+=($convertedFileName)
|
|
31 count=$((count+1))
|
0
|
32 done
|
|
33
|
|
34
|
|
35
|
|
36 echo "<tr><td>-----------------------------------</td></tr>" >> $html
|
|
37 echo "<tr><td>merging</td></tr>" >> $html
|
|
38
|
9
|
39 python $dir/igblastmerge.py ${mergerInput[*]} --output $PWD/merged.txt
|
0
|
40
|
|
41 echo "<tr><td>done</td></tr>" >> $html
|
|
42 echo "<tr><td>-----------------------------------</td></tr>" >> $html
|
|
43 echo "<tr><td>plotting</td></tr>" >> $html
|
|
44
|
|
45
|
|
46 inputFile=$PWD/merged.txt
|
|
47 outputFile=$html
|
|
48 outputDir=$imageDir
|
|
49 mkdir $outputDir
|
2
|
50 Rscript --verbose $dir/RScript.r $inputFile $outputDir $outputDir $clonalType 2>&1
|
0
|
51 echo "<html>" > $outputFile
|
|
52 echo "<img src='VPlot.png'/>" >> $outputFile
|
|
53 echo "<img src='DPlot.png'/>" >> $outputFile
|
|
54 echo "<img src='JPlot.png'/>" >> $outputFile
|
|
55
|
|
56 samples=`cat $outputDir/samples.txt`
|
|
57 count=1
|
9
|
58 echo "<table border='1'><caption><a href='allUnique.tsv'><h3>$clonalType</h3></a></caption>" >> $outputFile
|
|
59 hasReplicateColumn="$(if head -n 1 $inputFile | grep -q 'Replicate'; then echo 'Yes'; else echo 'No'; fi)"
|
0
|
60 for sample in $samples; do
|
9
|
61 clonalityScore="$(cat $outputDir/ClonalityScore_$sample.csv)"
|
|
62 echo "<tr><td colspan='3' height='100'></td></tr>" >> $outputFile
|
0
|
63 echo "<tr><td colspan='3'><h1>$sample</h1></td></tr>" >> $outputFile
|
9
|
64
|
|
65 echo "$hasReplicateColumn"
|
|
66 #if its a 'new' merged file with replicate info
|
|
67 if [[ "$hasReplicateColumn" == "Yes" ]] ; then
|
|
68 echo "<tr><td colspan='3'><a href='clonality_$sample.tsv'><h2>Clonality Score: $clonalityScore</h2></a></td></tr>" >> $outputFile
|
|
69
|
|
70 #replicate,reads,squared
|
|
71 echo "<tr><td colspan='3'><table border='1'><tr><th>Replicate ID</th><th>Number of Reads</th><th>Reads Squared</th></tr>" >> $outputFile
|
|
72 while IFS=, read replicate reads squared
|
|
73 do
|
|
74
|
|
75 echo "<tr><td><a href='clonality_${sample}_$replicate.tsv'>$replicate</a></td><td>$reads</td><td>$squared</td></tr>" >> $outputFile
|
|
76 done < $outputDir/ReplicateReads_$sample.csv
|
|
77
|
|
78 #sum of reads and reads squared
|
|
79 while IFS=, read readsSum squaredSum
|
|
80 do
|
|
81 echo "<tr><td>Sum</td><td>$readsSum</td><td>$squaredSum</td></tr>" >> $outputFile
|
|
82 done < $outputDir/ReplicateSumReads_$sample.csv
|
|
83
|
|
84 echo "</table></td></tr>" >> $outputFile
|
|
85
|
|
86 #overview
|
|
87 echo "<tr><td colspan='3'><table border='1'><tr><th>Coincidence Type</th><th>Raw Coincidence Freq</th><th>Coincidence Weight</th><th>Coincidences, Weighted</th></tr>" >> $outputFile
|
|
88 while IFS=, read type count weight weightedCount
|
|
89 do
|
|
90 echo "<tr><td>$type</td><td>$count</td><td>$weight</td><td>$weightedCount</td></tr>" >> $outputFile
|
|
91 done < $outputDir/ClonalityOverView_$sample.csv
|
|
92 echo "</table></td></tr>" >> $outputFile
|
|
93 fi
|
|
94
|
0
|
95 echo "<tr><td><h2>V-D Heatmap:</h2></td><td><h2>V-J Heatmap:</h2></td><td><h2>D-J Heatmap:</h2></td></tr><tr>" >> $outputFile
|
|
96 mv "$outputDir/HeatmapVD_$sample.png" "$outputDir/VD_$sample.png"
|
|
97 echo "<td><img src='VD_$sample.png'/></td>" >> $outputFile
|
|
98 mv "$outputDir/HeatmapVJ_$sample.png" "$outputDir/VJ_$sample.png"
|
|
99 echo "<td><img src='VJ_$sample.png'/></td>" >> $outputFile
|
|
100 mv "$outputDir/HeatmapDJ_$sample.png" "$outputDir/DJ_$sample.png"
|
|
101 echo "<td><img src='DJ_$sample.png'/></td></tr>" >> $outputFile
|
|
102 count=$((count+1))
|
|
103 done
|
|
104 echo "</table>" >> $outputFile
|
|
105
|
9
|
106 echo "</html>" >> $outputFile
|