annotate wrapper.sh @ 6:6b348d07da49 draft

Uploaded
author davidvanzessen
date Mon, 14 Jul 2014 05:47:08 -0400
parents 35b55f1c0c59
children 18ede27dc6b0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
1 #!/bin/bash
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
2 input=$1
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
3 output=$2
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
4 outDir=$3
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
5 mkdir $outDir
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
6 EOL=$4
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
7 mismatches=$5
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
8 partial=$6
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
9 name=$(basename "$7")
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
10 ext="${name##*.}"
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
11 name="${name%.*}"
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
12 prefix=$name"_"
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
13 dir="$(cd "$(dirname "$0")" && pwd)"
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
14
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
15 unzip $dir/fastqc_v0.11.2.zip -d $PWD/ > $PWD/unziplog.log
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
16 chmod 755 $PWD/FastQC/fastqc
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
17
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
18 declare -A trim_start
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
19 declare -A trim_end
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
20 for ((i=8;i<=$#;i=i+4))
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
21 do
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
22 j=$((i+1))
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
23 start_int=$((i+2))
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
24 end_int=$((i+3))
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
25 id="${!i}"
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
26 echo "$id"
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
27 trim_start[$id]=${!start_int}
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
28 trim_end[$id]=${!end_int}
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
29 echo -e "$id\t${!j}" >> $outDir/barcodes.txt
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
30
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
31 done
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
32 trim_start["unmatched"]=0
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
33 trim_end["unmatched"]=0
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
34
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
35 echo "trim_start = ${trim_start[@]}"
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
36 echo "trim_end = ${trim_end[@]}"
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
37
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
38 workdir=$PWD
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
39 cd $outDir
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
40 echo "$3"
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
41 result=`$dir/sff2fastq $input | $dir/fastx_barcode_splitter.pl --bcfile $outDir/barcodes.txt --prefix "$prefix" --suffix ".fastq" --$EOL --mismatches $mismatches --partial $partial`
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
42 echo "$result" | tail -n +2 | sed 's/\t/,/g' > output.txt
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
43 echo "<html><head><title>$name demultiplex</title></head><body><table border='1'><thead><tr><th>ID</th><th>Count</th><th>FASTQ</th><th>FASTA</th><th>Trimmed FASTA</th><th>FASTQC</th></tr></thead><tbody>" >> $output
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
44 while IFS=, read barcode count location
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
45 do
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
46 if [ "total" == "$barcode" ]
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
47 then
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
48 echo "<tr><td>$barcode</td><td>$count</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>" >> $output
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
49 break
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
50 fi
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
51 file=$name"_"$barcode
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
52 mkdir $outDir/fastqc_$barcode
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
53 $workdir/FastQC/fastqc $file.fastq -o $outDir 2> /dev/null
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
54 cat $file.fastq | awk 'NR%4==1{printf ">%s\n", substr($0,2)}NR%4==2{print}' > $file.fasta
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
55 python $dir/trim.py --input $file.fasta --output ${file}_trimmed.fasta --start ${trim_start[$barcode]} --end ${trim_end[$barcode]}
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
56 echo "<tr><td>$barcode</td><td>$count</td><td><a href='$file.fastq'>$file.fastq</a></td><td><a href='$file.fasta'>$file.fasta</a></td><td><a href='${file}_trimmed.fasta'>${file}_trimmed.fasta</a></td><td><a href='${name}_${barcode}_fastqc.html'>Report</a></td></tr>" >> $output
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
57 done < output.txt
35b55f1c0c59 Uploaded
davidvanzessen
parents:
diff changeset
58 echo "</tbody></body></html>" >> $output