#!/bin/bash

cd “#{jobs_dir}/../” echo “#{script_name} is starting at $(date +%Y%m%d%H%M%S)” >> “#{jobs_dir}/finished_jobs” # File Checking if [ ! -s “#{input}” ];then

echo "Error: Missing " #{input}
exit 100

fi if [ ! -s “#{input2}” ];then

echo "Error: Missing " #{input2}
exit 100

fi

#{samp_options.join(“ \n ”)} \

#{run_local}

# check if file size less than 1MB if [ $(stat –printf=“%s” “#{output}”) -le 1024000 ] then

echo "Error with output."
exit 100

fi

# check STDOUT has correct termination string HASENDING=$(tail -5 #{jobs_dir}/#{script_name}.err | grep “ sequences have been processed.”)

if [ -n “$HASENDING” ] then

OK=1

else

#echo " empty variable"
echo "Improper stdout termination"
exit 100

fi

check for correct number of sequences processed, based on fastq records PROCESSED=$(tail -5 #{jobs_dir}/#{script_name}.err | grep “ sequences have been processed.” | grep -o “[0-9]\+”)

echo “checking stdout file: ” #{jobs_dir}/#{script_name}.err echo “bwa processed” $PROCESSED

if [[ “#{fastq}” =~ gz$ ]] then

LINESFASTQ1=$(gunzip -c "#{fastq}" | wc -l)
LINESFASTQ2=$(gunzip -c "#{fastq2}" | wc -l)

else # non gz files

LINESFASTQ1=$(wc -l "#{fastq}" | cut -d" " -f1 )
LINESFASTQ2=$(wc -l "#{fastq2}" | cut -d" " -f1 )

fi

echo “Fastq1 number lines:= ” $LINESFASTQ1 echo “Fastq2 number lines:= ” $LINESFASTQ2

if (( “$LINESFASTQ1” >= “$LINESFASTQ2” )) then

SEQLINES=$[ $LINESFASTQ2 / 4 ]

else

SEQLINES=$[ $LINESFASTQ1 / 4 ]

fi

echo “Estimated Minimum Sequences:= ” $SEQLINES

if (( “$PROCESSED” >= “$SEQLINES” )) then

echo "Complete."

else

echo "Error, incorrect number of processed sequences"
exit 100

fi echo “#{script_name} is finished at $(date +%Y%m%d%H%M%S)” >> “#{jobs_dir}/finished_jobs”