Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ports
Path: blob/main/biology/barrnap/files/patch-test_test.sh
46591 views
1
--- test/test.sh.orig 2026-04-13 08:23:19 UTC
2
+++ test/test.sh
3
@@ -4,8 +4,8 @@ setup () {
4
bats_require_minimum_version 1.5.0
5
dir=$(dirname "$BATS_TEST_FILENAME")
6
cd "$dir"
7
- cpus=$(nproc)
8
- exe="$dir/../bin/barrnap --threads $cpus"
9
+ cpus=${CPUS:-$(sysctl -n hw.ncpu)}
10
+ exe="$dir/../bin/barrnap --threads $cpus --dbdir $dir/../db"
11
dbs="bac arc fun"
12
tab=$'\t'
13
TRNA="${tab}tRNA${tab}"
14
@@ -14,6 +14,18 @@ setup () {
15
OPERON="${tab}operon${tab}"
16
SEQREG="##sequence-region"
17
}
18
+
19
+require_cmds() {
20
+ local cmd
21
+ for cmd in "$@"; do
22
+ command -v "$cmd" >/dev/null || skip "missing required command: $cmd"
23
+ done
24
+}
25
+
26
+require_db_models() {
27
+ find "$dir/../db" -name '*.cm' -print -quit | grep -q . || skip "missing bundled CM models"
28
+}
29
+
30
@test "Script syntax check" {
31
run -0 perl -c "$dir/../bin/barrnap"
32
}
33
@@ -47,33 +59,42 @@ setup () {
34
[[ "$output" =~ "--kingdom" ]]
35
}
36
@test "Null input" {
37
+ require_cmds cmsearch seqkit
38
run ! $exe null.fa
39
[[ "$output" =~ "ERROR" ]]
40
}
41
@test "Empry input" {
42
+ require_cmds cmsearch seqkit
43
run ! $exe empty.fa
44
[[ "$output" =~ "ERROR" ]]
45
}
46
@test "Weird poly-G sequence" {
47
+ require_cmds cmsearch seqkit
48
+ require_db_models
49
run -0 $exe --fast polyg.fa
50
[[ "$output" =~ "Found 0 features" ]]
51
}
52
@test "Input with no hits" {
53
+ require_cmds cmsearch seqkit
54
+ require_db_models
55
run -0 $exe nohits.fa
56
[[ "$output" =~ "Found 0 features" ]]
57
}
58
@test "Fast mode" {
59
+ require_cmds cmsearch seqkit
60
+ require_db_models
61
run -0 $exe -q --fast small.fa
62
[[ "$output" =~ $RRNA ]]
63
}
64
@test "Mini bacterial genome" {
65
+ require_cmds aragorn bedtools cmsearch cmscan diamond pyrodigal seqkit taxonkit transterm ziggypep
66
local outseq="${BATS_TMPDIR}/outseq.fa"
67
run -0 $exe --all --quiet \
68
--outseq "$outseq" \
69
--incseqreg --incseq --addids \
70
small.fa
71
[[ "$output" =~ $TRNA ]]
72
- [[ "$output" =~ $RRMA ]]
73
+ [[ "$output" =~ $RRNA ]]
74
[[ "$output" =~ $NCRNA ]]
75
[[ "$output" =~ "ID=5S" ]]
76
[[ "$output" =~ "ID=16S" ]]
77
@@ -90,9 +111,11 @@ barrnap_legacy() {
78
}
79
80
barrnap_legacy() {
81
+ require_cmds cmsearch seqkit
82
+ require_db_models
83
run -0 $exe --quiet \
84
--kingdom "$1" "$1.fa"
85
- [[ "$output" =~ $RRMA ]]
86
+ [[ "$output" =~ $RRNA ]]
87
[[ ! "$output" =~ $TRNA ]]
88
[[ ! "$output" =~ $NCRNA ]]
89
[[ ! "$output" =~ "##FASTA" ]]
90
@@ -100,6 +123,8 @@ barrnap_legacy() {
91
[[ ! "$output" =~ "ID=" ]]
92
}
93
@test "Bacteria" {
94
+ require_cmds cmsearch seqkit
95
+ require_db_models
96
#type barrnap_legacy
97
run barrnap_legacy "bac"
98
#echo "STATUS=$status" >&3
99
@@ -108,10 +133,14 @@ barrnap_legacy() {
100
#[[ "$FOO" =~ "5S_rRNA" ]]
101
}
102
@test "Archaea" {
103
+ require_cmds cmsearch seqkit
104
+ require_db_models
105
run -0 barrnap_legacy "arc"
106
#[[ "$output" =~ "5S_rRNA" ]]
107
}
108
@test "Fungi" {
109
+ require_cmds cmsearch seqkit
110
+ require_db_models
111
run -0 barrnap_legacy "fun"
112
#[[ "$output" =~ "28S_rRNA" ]]
113
}
114
115