Mercurial > repos > davidvanzessen > sff_extract_demultiplex
diff wrapper.sh @ 0:cb08a27e5fc2 draft
Uploaded
author | davidvanzessen |
---|---|
date | Mon, 29 Aug 2016 05:44:57 -0400 |
parents | |
children | 44ec2a1009fc |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wrapper.sh Mon Aug 29 05:44:57 2016 -0400 @@ -0,0 +1,67 @@ +#!/bin/bash +input="$1" +output="$2" +outDir="$3" +mkdir "$outDir" +EOL="$4" +mismatches="$5" +partial="$6" +name=$(basename "$7") +ext="${name##*.}" +name="${name%.*}" +name="${name// /_}" +prefix="${name}_" +dir="$(cd "$(dirname "$0")" && pwd)" + +unzip $dir/fastqc_v0.11.2.zip -d $PWD/ > $PWD/unziplog.log +chmod 755 $PWD/FastQC/fastqc + +declare -A trim_start +declare -A trim_end +for ((i=8;i<=$#;i=i+4)) +do + j=$((i+1)) + start_int=$((i+2)) + end_int=$((i+3)) + id="${!i}" + echo "$id, ${start_int}, ${end_int}" + trim_start[$id]=${!start_int} + trim_end[$id]=${!end_int} + echo -e "$id\t${!j}" >> $outDir/barcodes.txt + +done +trim_start["unmatched"]=0 +trim_end["unmatched"]=0 + +echo "trim_start = ${trim_start[@]}" +echo "trim_end = ${trim_end[@]}" + +workdir=$PWD +cd $outDir +echo "$3" +filetype=`file $input` +result="" +if [[ $filetype == *ASCII* ]] +then + result=`cat $input | $dir/fastx_barcode_splitter.pl --bcfile $outDir/barcodes.txt --prefix "$prefix" --suffix ".fastq" --$EOL --mismatches $mismatches --partial $partial` +else + result=`$dir/sff2fastq $input | $dir/fastx_barcode_splitter.pl --bcfile $outDir/barcodes.txt --prefix "$prefix" --suffix ".fastq" --$EOL --mismatches $mismatches --partial $partial` +fi + +echo "$result" | tail -n +2 | sed 's/\t/,/g' > output.txt +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 +while IFS=, read barcode count location + do + if [ "total" == "$barcode" ] + then + echo "<tr><td>$barcode</td><td>$count</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>" >> $output + break + fi + file="${name}_${barcode}" + mkdir "$outDir/fastqc_$barcode" + $workdir/FastQC/fastqc "$file.fastq" -o "$outDir" 2> /dev/null + cat "$file.fastq" | awk 'NR%4==1{printf ">%s\n", substr($0,2)}NR%4==2{print}' > "$file.fasta" + python $dir/trim.py --input "$file.fasta" --output "${file}_trimmed.fasta" --start "${trim_start[$barcode]}" --end "${trim_end[$barcode]}" + 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 +done < output.txt +echo "</tbody></body></html>" >> $output