annotate combined.sh @ 2:364b169ffb30 draft

Uploaded
author davidvanzessen
date Thu, 23 Jan 2014 08:30:59 -0500
parents 7b0d9c107680
children 6364030a16b8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
1 #!/bin/bash
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
2
1
7b0d9c107680 Uploaded
davidvanzessen
parents: 0
diff changeset
3 mkdir $PWD/igblastdatabase
7b0d9c107680 Uploaded
davidvanzessen
parents: 0
diff changeset
4 unzip $dir/database.zip -d $PWD/igblastdatabase/
7b0d9c107680 Uploaded
davidvanzessen
parents: 0
diff changeset
5
7b0d9c107680 Uploaded
davidvanzessen
parents: 0
diff changeset
6 export IGDATA=$PWD/igblastdatabase/
0
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
7
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
8 clonalType=${@:(-3):1}
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
9 html=${@:(-2):1}
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
10 imageDir=${@:(-1):1}
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
11 dataCount=`expr $# - 3`
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
12 inputData=${@:(1):dataCount}
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
13 dir="$(cd "$(dirname "$0")" && pwd)"
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
14 array=("$@")
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
15 echo "<html><h3>Progress</h3><table><tr><td>info</td></tr>" > $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
16 echo "<tr><td>-----------------------------------</td></tr>" >> $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
17
1
7b0d9c107680 Uploaded
davidvanzessen
parents: 0
diff changeset
18
7b0d9c107680 Uploaded
davidvanzessen
parents: 0
diff changeset
19
0
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
20 function blastAndParse {
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
21 echo "<tr><td>Starting blast of sample $3 of patient $2</td></tr>" >> $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
22 echo "$IGDATA/bin/igblastn -germline_db_V $IGDATA/database/human_gl_V -germline_db_J $IGDATA/database/human_gl_J -germline_db_D $IGDATA/database/human_gl_D -domain_system imgt -query $1 -auxiliary_data $IGDATA/optional_file/human_gl.aux -show_translation -outfmt 3 > $PWD/$4"
2
364b169ffb30 Uploaded
davidvanzessen
parents: 1
diff changeset
23 igblastn -germline_db_V $PWD/igblastdatabase/database/human_gl_V -germline_db_J $PWD/igblastdatabase/database/human_gl_J -germline_db_D $PWD/igblastdatabase/database/human_gl_D -domain_system imgt -query $1 -auxiliary_data $PWD/igblastdatabase/optional_file/human_gl.aux -show_translation -outfmt 3 > $PWD/$4
0
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
24 echo "<tr><td>Finished blast of sample $3 of patient $2</td></tr>" >> $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
25
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
26 echo "<tr><td>Starting parse of sample $3 of patient $2</td></tr>" >> $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
27 perl $dir/igparse.pl $PWD/$4 0 | grep -v "D:" | cut -f2- > $5
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
28 echo "<tr><td>Finished parse of sample $3 of patient $2</td></tr>" >> $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
29 }
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
30
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
31 id=${inputData[0]}
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
32 forwardSlash="/"
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
33 mergerInput=()
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
34 count=0
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
35 for current in $inputData; do
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
36 if [[ "$current" != *"$forwardSlash"* ]]; then
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
37 id=$current
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
38 count=0
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
39 mergerInput+=($id)
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
40 continue
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
41 fi
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
42 fileName=$(basename $current)
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
43 parsedFileName="${fileName%.*}"
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
44 parsedFileName="$PWD/$parsedFileName.parsed"
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
45 blastAndParse $current $id $count $fileName $parsedFileName &
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
46 mergerInput+=($parsedFileName)
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
47 count=$((count+1))
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
48 done
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
49 wait
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
50
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
51
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
52
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
53 echo "<tr><td>-----------------------------------</td></tr>" >> $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
54 echo "<tr><td>merging</td></tr>" >> $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
55
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
56 python $dir/igblastmerge.py ${mergerInput[*]} --output $PWD/merged.txt
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
57
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
58 echo "<tr><td>done</td></tr>" >> $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
59 echo "<tr><td>-----------------------------------</td></tr>" >> $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
60 echo "<tr><td>plotting</td></tr>" >> $html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
61
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
62
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
63 inputFile=$PWD/merged.txt
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
64 outputFile=$html
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
65 outputDir=$imageDir
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
66 mkdir $outputDir
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
67 Rscript --verbose $dir/RScript.r $inputFile $outputDir $outputDir $clonalType 2>&1
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
68 echo "<html>" > $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
69 echo "<img src='VPlot.png'/>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
70 echo "<img src='DPlot.png'/>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
71 echo "<img src='JPlot.png'/>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
72
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
73 samples=`cat $outputDir/samples.txt`
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
74 count=1
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
75 echo "<table border='1'><caption><a href='allUnique.tsv'><h3>$clonalType</h3></a></caption>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
76 hasReplicateColumn="$(if head -n 1 $inputFile | grep -q 'Replicate'; then echo 'Yes'; else echo 'No'; fi)"
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
77 for sample in $samples; do
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
78 clonalityScore="$(cat $outputDir/ClonalityScore_$sample.csv)"
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
79 echo "<tr><td colspan='3' height='100'></td></tr>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
80 echo "<tr><td colspan='3'><h1>$sample</h1></td></tr>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
81
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
82 echo "$hasReplicateColumn"
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
83 #if its a 'new' merged file with replicate info
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
84 if [[ "$hasReplicateColumn" == "Yes" ]] ; then
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
85 echo "<tr><td colspan='3'><a href='clonality_$sample.tsv'><h2>Clonality Score: $clonalityScore</h2></a></td></tr>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
86
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
87 #replicate,reads,squared
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
88 echo "<tr><td colspan='3'><table border='1'><tr><th>Replicate ID</th><th>Number of Reads</th><th>Reads Squared</th></tr>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
89 while IFS=, read replicate reads squared
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
90 do
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
91
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
92 echo "<tr><td><a href='clonality_${sample}_$replicate.tsv'>$replicate</a></td><td>$reads</td><td>$squared</td></tr>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
93 done < $outputDir/ReplicateReads_$sample.csv
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
94
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
95 #sum of reads and reads squared
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
96 while IFS=, read readsSum squaredSum
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
97 do
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
98 echo "<tr><td>Sum</td><td>$readsSum</td><td>$squaredSum</td></tr>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
99 done < $outputDir/ReplicateSumReads_$sample.csv
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
100
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
101 echo "</table></td></tr>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
102
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
103 #overview
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
104 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
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
105 while IFS=, read type count weight weightedCount
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
106 do
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
107 echo "<tr><td>$type</td><td>$count</td><td>$weight</td><td>$weightedCount</td></tr>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
108 done < $outputDir/ClonalityOverView_$sample.csv
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
109 echo "</table></td></tr>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
110 fi
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
111
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
112 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
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
113 mv "$outputDir/HeatmapVD_$sample.png" "$outputDir/VD_$sample.png"
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
114 echo "<td><img src='VD_$sample.png'/></td>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
115 mv "$outputDir/HeatmapVJ_$sample.png" "$outputDir/VJ_$sample.png"
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
116 echo "<td><img src='VJ_$sample.png'/></td>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
117 mv "$outputDir/HeatmapDJ_$sample.png" "$outputDir/DJ_$sample.png"
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
118 echo "<td><img src='DJ_$sample.png'/></td></tr>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
119 count=$((count+1))
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
120 done
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
121 echo "</table>" >> $outputFile
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
122
d52f6a986108 Uploaded
davidvanzessen
parents:
diff changeset
123 echo "</html>" >> $outputFile