#!/bin/sh
# Make sure only root can run our script
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi

TARGETDIR=/usr/share/metaphlan2/db_v20
FASTADIR=/var/lib/metaphlan2-data
FASTA=$FASTADIR/markers.fasta

check_data_md5sum () {
    tmp=`mktemp`
    cd $TARGETDIR
    md5sum *.bt2 | sort > $tmp
    diff -u $FASTADIR/bt2.md5 $tmp
    if [ $? ] ; then
        echo "Metaphlan2 data are properly created."
    else
        echo "Metaphlan2 data are created but md5sum is different."
        exit 1
    fi
    rm $tmp
    rm -f $FASTA
    exit 0
}

if [ ! -e $FASTA ] ; then
    # Input data $FASTA are missing
    if [ -e $TARGETDIR/mpa_v20_m200.1.bt2 ] ; then
        # seems data are created and we might not have anything to do
        check_data_md5sum
    fi
fi
mkdir -p $TARGETDIR
cd $TARGETDIR
bowtie2-build $FASTA $TARGETDIR/mpa_v20_m200
check_data_md5sum
