#! /bin/bash
VERSION=1.0.3
PREFIX=$1

# If no user input, print usage
if [[ $# == 0 ]]; then
    echo "bactopia-variants - v${VERSION}"
    echo ""
    echo "bactopia-variants <OPT1> ... <OPTN>"
    echo ""
    exit
fi

if [ "$is_compressed" == "true" ]; then
    gzip -c -d $reference > $final_reference
fi
snippy \\
    $options.args \\
    --cpus $task.cpus \\
    --outdir $prefix \\
    --reference $final_reference \\
    --prefix $prefix \\
    $read_inputs

# Add GenBank annotations
vcf-annotator ${prefix}/${prefix}.vcf ${final_reference} > ${prefix}/${prefix}.annotated.vcf

# Get per-base coverage
grep "^##contig" ${prefix}/${prefix}.vcf > ${prefix}/${prefix}.full-coverage.txt
genomeCoverageBed -ibam ${prefix}/${prefix}.bam -d >> ${prefix}/${prefix}.full-coverage.txt
cleanup-coverage.py ${prefix}/${prefix}.full-coverage.txt > ${prefix}/${prefix}.coverage.txt
rm ${prefix}/${prefix}.full-coverage.txt

# Mask low coverage regions
mask-consensus.py \\
    ${prefix} \\
    ${reference_name} \\
    ${prefix}/${prefix}.consensus.subs.fa \\
    ${prefix}/${prefix}.subs.vcf \\
    ${prefix}/${prefix}.coverage.txt \\
    --mincov ${params.mincov} > ${prefix}/${prefix}.consensus.subs.masked.fa

# Clean Up
rm -rf ${prefix}/reference ${prefix}/ref.fa* ${prefix}/${prefix}.vcf.gz*
if [[ ${params.skip_compression} == "false" ]]; then
    find ${prefix}/ -type f | \
        grep -v -E "\\.bam\$|\\.bai\$|\\.log\$|\\.txt\$|\\.html\$|\\.tab\$" | \
        xargs -I {} pigz -n --best -p ${task.cpus} {}
    pigz -n --best -p ${task.cpus} ${prefix}/${prefix}.coverage.txt
fi

mv ${prefix}/ results/
mv results/*.log ./
