Mercurial > repos > davidvanzessen > combined_immune_repertoire_pipeline
diff combined.sh @ 9:8d83319a0f3d draft
Uploaded
author | davidvanzessen |
---|---|
date | Tue, 10 Dec 2013 05:53:08 -0500 |
parents | e6f28d0a0f14 |
children |
line wrap: on
line diff
--- a/combined.sh Mon Nov 25 09:21:55 2013 -0500 +++ b/combined.sh Tue Dec 10 05:53:08 2013 -0500 @@ -1,55 +1,42 @@ #!/bin/bash -#export IGDATA=/home/david/Galaxy/galaxy-dist/toolsheddependencies/igBlastn/1.0.0/davidvanzessen/igblast_human/1c64c977624e/ncbi-igblast-1.0.0/; +export IGDATA=/home/david/tmp/ncbi-igblast-1.0.0; clonalType=${@:(-3):1} html=${@:(-2):1} imageDir=${@:(-1):1} +dataCount=`expr $# - 3` +inputData=${@:(1):dataCount} dir="$(cd "$(dirname "$0")" && pwd)" -fileCount=`expr $# - 3` array=("$@") echo "<html><h3>Progress</h3><table><tr><td>info</td></tr>" > $html echo "<tr><td>-----------------------------------</td></tr>" >> $html -limit=`expr $fileCount / 2` -function blastAndParse { - echo "<tr><td>Starting blast of $2</td></tr>" >> $html - fileName=$(basename $1) - $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/$fileName - echo "<tr><td>Finished blast of $2</td></tr>" >> $html - - echo "<tr><td>Starting parse of $2</td></tr>" >> $html - parsedFileName="${fileName%.*}" - parsedFileName="$parsedFileName.parsed" - perl $dir/igparse.pl $PWD/$fileName 0 | grep -v "D:" | cut -f2- > $parsedFileName - echo "<tr><td>Finished parse of $2</td></tr>" >> $html -} - -for ((i=0;i<$fileCount;i=$((i+2)))) -do - next=$((i+1)) - blastAndParse ${array[$i]} ${array[$next]} & +id=${inputData[0]} +forwardSlash="/" +mergerInput=() +count=0 +for current in $inputData; do + if [[ "$current" != *"$forwardSlash"* ]]; then + id=$current + count=0 + mergerInput+=($id) + continue + fi + fileName=$(basename $current) + convertedFileName="${fileName%.*}" + convertedFileName="$PWD/$convertedFileName.converted" + bash $dir/imgtconvert.sh $current $id $count $convertedFileName + mergerInput+=($convertedFileName) + count=$((count+1)) done -wait echo "<tr><td>-----------------------------------</td></tr>" >> $html echo "<tr><td>merging</td></tr>" >> $html -count=0 -for ((i=0;i<$fileCount;i=$((i+2)))) -do - id=$((i+1)) - place=$((count+limit)) - fn=$(basename ${array[$i]}) - fn="${fn%.*}" - mergeInputs[$count]="$PWD/$fn.parsed" - mergeIDs[$place]=${array[$id]} - count=$((count+1)) -done - -python $dir/igblastmerge.py --input ${mergeInputs[*]} --id ${mergeIDs[*]} --output $PWD/merged.txt +python $dir/igblastmerge.py ${mergerInput[*]} --output $PWD/merged.txt echo "<tr><td>done</td></tr>" >> $html echo "<tr><td>-----------------------------------</td></tr>" >> $html @@ -68,10 +55,43 @@ samples=`cat $outputDir/samples.txt` count=1 -echo "<table border='1'><caption><h3>$clonalType</h3></caption>" >> $outputFile +echo "<table border='1'><caption><a href='allUnique.tsv'><h3>$clonalType</h3></a></caption>" >> $outputFile +hasReplicateColumn="$(if head -n 1 $inputFile | grep -q 'Replicate'; then echo 'Yes'; else echo 'No'; fi)" for sample in $samples; do - echo "<tr><td colspan='3' height='100'></td>" >> $outputFile + clonalityScore="$(cat $outputDir/ClonalityScore_$sample.csv)" + echo "<tr><td colspan='3' height='100'></td></tr>" >> $outputFile echo "<tr><td colspan='3'><h1>$sample</h1></td></tr>" >> $outputFile + + echo "$hasReplicateColumn" + #if its a 'new' merged file with replicate info + if [[ "$hasReplicateColumn" == "Yes" ]] ; then + echo "<tr><td colspan='3'><a href='clonality_$sample.tsv'><h2>Clonality Score: $clonalityScore</h2></a></td></tr>" >> $outputFile + + #replicate,reads,squared + echo "<tr><td colspan='3'><table border='1'><tr><th>Replicate ID</th><th>Number of Reads</th><th>Reads Squared</th></tr>" >> $outputFile + while IFS=, read replicate reads squared + do + + echo "<tr><td><a href='clonality_${sample}_$replicate.tsv'>$replicate</a></td><td>$reads</td><td>$squared</td></tr>" >> $outputFile + done < $outputDir/ReplicateReads_$sample.csv + + #sum of reads and reads squared + while IFS=, read readsSum squaredSum + do + echo "<tr><td>Sum</td><td>$readsSum</td><td>$squaredSum</td></tr>" >> $outputFile + done < $outputDir/ReplicateSumReads_$sample.csv + + echo "</table></td></tr>" >> $outputFile + + #overview + 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 + while IFS=, read type count weight weightedCount + do + echo "<tr><td>$type</td><td>$count</td><td>$weight</td><td>$weightedCount</td></tr>" >> $outputFile + done < $outputDir/ClonalityOverView_$sample.csv + echo "</table></td></tr>" >> $outputFile + fi + 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 mv "$outputDir/HeatmapVD_$sample.png" "$outputDir/VD_$sample.png" echo "<td><img src='VD_$sample.png'/></td>" >> $outputFile @@ -83,4 +103,4 @@ done echo "</table>" >> $outputFile -echo "</html>" >> $2 +echo "</html>" >> $outputFile