#!/bin/sh -e

pkg=fastx-toolkit

if [ "$ADTTMP" = "" ] ; then
  ADTTMP=$(mktemp -d /tmp/${pkg}-test.XXXXXX)
  trap "rm -rf $ADTTMP" 0 INT QUIT ABRT PIPE TERM
fi

cd $ADTTMP

cp -a /usr/share/doc/${pkg}/test-data/* .
gunzip -r *

check () {
  cmp -s $1 $2 || {
    echo "incorrect result"
    exit 1
  }
}

echo "testing fastq_to_fasta"
fastq_to_fasta -i fastq_to_fasta1.fastq -o out
check fastq_to_fasta1a.out out
fastq_to_fasta -i fastq_to_fasta1.fastq -r -n -o out
check fastq_to_fasta1b.out out

echo "testing fastx_quality_stats"
fastx_quality_stats -Q64 -i fastq_stats1.fastq -o out
check fastq_stats1.out out

echo "testing fastx_clipper"
fastx_clipper -i fastx_clipper1.fastq -a CAATTGGTTAATCCCCCTATATA -c -o out
#check fastx_clipper1a.out out

echo "testing fastx_renamer"
fastx_renamer -i fastx_renamer1.fastq -n SEQ -o out
check fastx_renamer1.out out

echo "testing fastx_trimmer"
fastx_trimmer -i fastx_trimmer1.fasta -f 5 -l 36 -o out
check fastx_trimmer1.out out
fastx_trimmer -i fastx_trimmer2.fastq -f 1 -l 27 -o out
check fastx_trimmer2.out out

echo "testing fastx_collapser"
fastx_collapser -i fasta_collapser1.fasta -o out

echo "testing fastx_artifacts_filter"
fastx_artifacts_filter -i fastx_artifacts1.fasta -o out
check fastx_artifacts1.out out
fastx_artifacts_filter -i fastx_artifacts2.fastq -o out
check fastx_artifacts2.out out

echo "testing fastq_quality_filter"
fastq_quality_filter -Q64 -i fastq_qual_filter1.fastq -q 33 -p 100 -o out
check fastq_qual_filter1a.out out
fastq_quality_filter -Q64 -i fastq_qual_filter1.fastq -q 20 -p 80 -o out
check fastq_qual_filter1b.out out

echo "testing fastx_reverse_complement"
fastx_reverse_complement -i fastx_rev_comp1.fasta -o out
check fastx_reverse_complement1.out out
fastx_reverse_complement -i fastx_rev_comp2.fastq -o out
check fastx_reverse_complement2.out out

echo "testing fasta_formatter"
fasta_formatter -i fasta_formatter1.fasta -o out
check fasta_formatter1.out out
fasta_formatter -i fasta_formatter1.fasta -w 60 -o out
check fasta_formatter2.out out

echo "testing fasta_nucleotide_changer"
fasta_nucleotide_changer -i fasta_nuc_changer1.fasta -r -o out
check fasta_nuc_changer1.out out
fasta_nucleotide_changer -i fasta_nuc_changer2.fasta -d -o out
check fasta_nuc_changer2.out out

echo "testing fastq_masker"
fastq_masker -Q64 -i fastq_masker.fastq -q 29 -r x -o out
check fastq_masker.out out

echo "testing fastq_quality_converter"
fastq_quality_converter -Q64 -i fastq_qual_conv1.fastq -n -o out
check fastq_qual_conv1.out out
fastq_quality_converter -Q64 -i fastq_qual_conv1.fastq -a -o out
check fastq_qual_conv1a.out out
fastq_quality_converter -Q64 -i fastq_qual_conv2.fastq -a -o out
check fastq_qual_conv2.out out
fastq_quality_converter -Q64 -i fastq_qual_conv2.fastq -n -o out
check fastq_qual_conv2n.out out
echo "testing fastq_quality_trimmer"
fastq_quality_trimmer -Q64 -i fastq_quality_trimmer.fastq -t 30 -l 16 -o out
check fastq_quality_trimmer.out out

echo "testing fastx_uncollapser"
fastx_uncollapser -i fasta_uncollapser1.fasta -o out
check fasta_uncollapser1.out out
