#!/bin/sh

#use test.tar.xz from /usr/share/doc/subread/examples/ if executed with 
#autpkgtest
#use binaries and test dir from the source package if executed 
#by override_dh_auto_test:

set -e
pkg=subread
examplesdir=/usr/share/doc/$pkg/examples
if [ $# -eq 0 ]
then
    TMPDIR=$(mktemp -d)
    tar -xf ${examplesdir}/test.tar.xz -C $TMPDIR
    WORKDIR=${TMPDIR}/test
else 
    #run tests in the source package if executed during building process
    TMPDIR=$1
    cp -r ${TMPDIR}/test ${TMPDIR}/adt_test
    export PATH=${PATH}:${TMPDIR}/bin:${TMPDIR}:/bin/utilities
    WORKDIR=${TMPDIR}/adt_test
fi

cd $WORKDIR/featureCounts
featureCounts -a data/test-minimum.GTF -o test-minimum.FC data/test-minimum.sam

cd $WORKDIR/subjunc
mkdir tmp
subread-buildindex -o tmp/small1 ../chr901.fa 
subjunc --SAMoutput -i tmp/small1 -o junctions.sam -r data/junction-reads-A.fq \
-R data/junction-reads-B.fq
subjunc -i tmp/small1 -o junctionsNfusions.bam \
-r data/junction-reads-A.fq -R data/junction-reads-B.fq --allJunctions

cd $WORKDIR/subread-align
mkdir tmp
subread-buildindex -B -F -o tmp/small1 -M100 ../chr901.fa 
subread-align --SAMoutput -t0 -i tmp/small1 -r data/test-noerror-r1.fq \
    -o tmp/test-tmp.sam1 -H -J
subread-align --SAMoutput -t0 -u -i tmp/small1 -r data/test-noerror-r1.fq \
    -o tmp/test-tmp.sam2 -H -J
subread-align --SAMoutput -t0 -i tmp/small1 -r data/test-noerror-r1.fq \
    -R data/test-noerror-r2.fq -o tmp/test-tmp.sam3 -H -J
subread-align --SAMoutput -t0 -u -i tmp/small1 -r data/test-noerror-r1.fq \
    -R data/test-noerror-r2.fq -o tmp/test-tmp.sam4  -Q -J
subread-align --SAMoutput -t0 -i tmp/small1 -r data/test-error-r1.fq \
    -R data/test-error-r2.fq -o tmp/test-tmp.sam5 -H -J 
subread-align --SAMoutput -t0 -i tmp/small1 --gzFASTQinput -r data/test-err-mut-r1.fq.gz \
    -R data/test-err-mut-r2.fq.gz -o tmp/test-tmp.sam6 -H -J \
    --rg-id MyTestGroup --rg SM:sample1 --rg TP:1 --rg XX:YY

cd $WORKDIR/exactSNP
exactSNP -g ../chr901.fa -o test-out.VCF -i data/test-in.BAM -b 


if [ $# -eq 0 ]
then
    rm -rf $TMPDIR
else
    rm -rf $WORKDIR
fi
