#!/bin/bash

cd “#{jobs_dir}/../” echo “#{script_name} is starting at $(date +%Y%m%d%H%M%S)” >> “#{jobs_dir}/finished_jobs” #{samp_options.join(“ \n ”)} \

#{run_local}

# check file size less than 1MB # # if [ $(stat –printf=“%s” “#{sam_dir}/#{line}_sequence.aligned.sam.gz”) -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

echo "OUTPUT ok."

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 [[ “#{seq}” =~ gz$ ]] then

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

else # non gz files

LINESFASTQ1=$(wc -l "#{seq}" )
LINESFASTQ2=$(wc -l "#{seq2}" )

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”