#!/bin/bash

version='1.1.0'
name=$(basename "$0")

usage()
{
    echo "This is oligoN-design $name v$version"
    echo "https://github.com/MiguelMSandin/oligoN-design"
    echo ""
    echo "This script is simply to test all scripts from OligoN-design. It will run all sripts, and print their version to the console."
    echo ""
    echo "Usage: oligoNtest"
    echo ""
    echo "  -p    A path to the scripts. By default, it will take the directory name of the command to run this function."
    echo "  -h    Show this help message and exit."
    echo "  -V    Print version information and exit."
    echo ""
}

PATHTOSCRIPTS="$(dirname "$0")/"

while getopts "hVp:" opt; do
        case ${opt} in
                h )
                        usage
                        exit
                        ;;
                V )
                        echo "$name v$version"
                        exit
                        ;;
                t )
                        PATHTOSCRIPTS=$OPTARG
                        ;;
        esac
done

if [[ ${PATHTOSCRIPTS} == */ ]]
then
        PATHTOSCRIPTS="${PATHTOSCRIPTS}/"
fi

echo ""
echo "Unsupervised run"
${PATHTOSCRIPTS}oligoNdesign -V

echo ""
echo "Basic workflow"
${PATHTOSCRIPTS}alignOligo -V
${PATHTOSCRIPTS}bindLogs -V
${PATHTOSCRIPTS}findOligo -V
${PATHTOSCRIPTS}rateAccess -V
${PATHTOSCRIPTS}selectLog -V
${PATHTOSCRIPTS}testOligo -V

echo ""
echo "Thorough design"
${PATHTOSCRIPTS}filterLog -V
${PATHTOSCRIPTS}getMismatchSeq -V
${PATHTOSCRIPTS}logStats -V
${PATHTOSCRIPTS}testThorough -V

echo ""
echo "Expert design"
${PATHTOSCRIPTS}alignmentConsensus -V
${PATHTOSCRIPTS}breakFasta -V
${PATHTOSCRIPTS}getHomolog -V
${PATHTOSCRIPTS}getHomologStats -V
${PATHTOSCRIPTS}identifyRegions -V
${PATHTOSCRIPTS}testTarget -V
${PATHTOSCRIPTS}trimRegion -V

echo ""
echo "Auxiliary and helper functions"
${PATHTOSCRIPTS}detailed2table -V
${PATHTOSCRIPTS}fastaRevCom -V
${PATHTOSCRIPTS}fastaChangeBases -V
${PATHTOSCRIPTS}hairPins -V
${PATHTOSCRIPTS}multi2linefasta -V
${PATHTOSCRIPTS}sequenceSelect -V
${PATHTOSCRIPTS}selfDimer -V
${PATHTOSCRIPTS}table2fasta -V

echo ""
