File: run_tests.sh

package info (click to toggle)
stringtie 2.1.4%2Bds-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 14,280 kB
  • sloc: cpp: 25,948; python: 214; makefile: 143; sh: 89
file content (62 lines) | stat: -rwxr-xr-x 1,755 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/env bash

function unpack_test_data() {
  t=test_data.tar.gz
  if [ ! -f $t ]; then
    echo "Error: file $t not found!"
    exit 1
  fi
  echo "..unpacking test data.."
  echo
  tar -xzf $t
  if [ ! -f test_data/human-chr19_P.gff ]; then
     echo "Error: invalid test data archive?"
     exit 1
  fi
  /bin/rm -f test_data.tar.gz
}

#if [ ! -f test_data/human-chr19_P.gff ]; then
  if [ -f test_data.tar.gz ]; then
    #extract the tarball and rename the directory
    echo "..Using existing ./test_data.tar.gz"
    unpack_test_data
  else
    echo "..Downloading test data.."
    #use curl to fetch the tarball from a specific github release or branch
    curl -sLO https://github.com/gpertea/stringtie/raw/test_data/test_data.tar.gz
    unpack_test_data
  fi
# fi
cd test_data
# array element format:
# 
arrins=("short_reads" "short_reads_and_superreads" "long_reads" "long_reads")
arrparms=("" "" "-L" "-L -G human-chr19_P.gff")
arrout=("short_reads" "short_reads_and_superreads" "long_reads" "long_reads_guided")
arrmsg=("Short reads"  "Short reads and super-reads" \
   "Long reads" "Long reads with annotation guides")
for i in ${!arrmsg[@]}; do
 fout="${arrout[$i]}.out.gtf"
 /bin/rm -f $fout
 fcmp="${arrout[$i]}.out_expected.gtf"
 if [ ! -f $fcmp ]; then
   echo "Error: file $fcmp does not exist! Re-download test data."
   exit 1
 fi
 n=$i
 ((n++))
 echo "Test ${n}: ${arrmsg[$i]}"
 fin=${arrins[$i]}.bam
 ../stringtie ${arrparms[$i]} -o $fout $fin
 if [ ! -f $fout ]; then
   echo "Error: file $fout not created! Failed running stringtie on $fin"
   exit 1
 fi
 if diff -q -I '^#' $fout $fcmp &>/dev/null; then
    echo "  OK."
 else
   echo "Error: test failed, output $fout different than expected ($fcmp)!"
   #exit 1
 fi
done