#!/bin/sh -e
#
# for running the basic mummer 3 suite, should use nucmer instead when possible
# to avoid the confusing reverse coordinate system of the raw programs.
#
# NOTE:  be warned that all reverse matches will then
# be relative to the reverse complement of the query sequence.
#
# Edit this script as necessary to alter the matching and clustering values
#

usage () {
    echo "Usage: `basename $0` <fasta reference> <multi-fasta query> <prefix>"
    return 67 # EX_USAGE
}

if [ $# -ne 3 ] ; then
    echo "You provided $# arguments."
    usage
fi

ref="$1"
qry="$2"
pfx="$3"

bindir=/usr/bin

if  [ ! -e "$ref"  ] ; then
    echo "File for fasta reference $ref does not exist."
    usage
fi

if  [ ! -e "$qry"  ] ; then
    echo "File for fasta query $qry does not exist."
    usage
fi

if [ "$pfx" = "" ] ; then
    usage
fi

echo "Find MUMs"
$bindir/mummer -mumreference -b -l 20 "$ref" "$qry" > "$pfx".out
echo "Determine gaps"
$bindir/mgaps -l 100 -f .12 -s 600 < "$pfx".out > "$pfx".gaps
echo "Align gaps"
$bindir/combineMUMs -x -e .10 -W "$pfx".errorsgaps "$ref" "$qry" "$pfx".gaps > "$pfx".align
