-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathjustfile
More file actions
96 lines (79 loc) · 2.79 KB
/
justfile
File metadata and controls
96 lines (79 loc) · 2.79 KB
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# Clean trash files
clean:
rm -rf iirs.out
rm -f rand.fasta
rm -f IUPACpal.out
rm -f perf.data*
rm -rf tmp
clippy *args:
cargo clippy --all-targets --all-features {{args}} -- \
-W clippy::nursery -W clippy::pedantic \
-A clippy::must_use_candidate \
-A clippy::manual_range_contains \
-A clippy::cast_sign_loss \
-A clippy::missing_errors_doc \
-A clippy::inline_always \
# -A clippy::cast_possible_truncation \
# -A clippy::cast_possible_wrap \
# -A clippy::cast_precision_loss \
# Test input.fasta - testseq
test:
cargo run --release -- \
-s testseq -m 3 -g 5
# Test input.fasta - banana
testbanana:
cargo run --release -- \
-s banana -m 3 -g 5
# Test input.fasta - star
teststar:
cargo run --release -- \
-s tstar -m 2 -g 5 -F csv
# Test truncation edge case
testedge:
cargo run --release -- \
-f tests/test_data/truncation_edge_case.fasta -m 8 -M 100 -g 10 -x 6
# Test ALL_SEQUENCES with --output-file
testallseq:
mkdir tmp
cargo run --release -- \
-s ALL_SEQUENCES -m 3 -g 5 -o "tmp"
# Test ALL_SEQUENCES with --output-file when only one sequence is present
testallseqone:
cargo run --release -- \
-f tests/test_data/test3.fasta -s ALL_SEQUENCES -m 3 -g 5 -o "tmp"
# Test alys
testalys *features:
cargo run --release --features '{{ features }}' -- \
-f tests/test_data/alys.fna -s NZ_CP059564.1 -m 3 -M 100 -g 20 -q
# Perf test for alys (sequential)
testalys-perf *features:
cargo build --profile=release-with-debug --features '{{ features }}'
sudo perf record -g "target/release-with-debug/iirs" -f tests/test_data/alys.fna -s NZ_CP059564.1 -m 3 -M 100 -g 20
sudo perf report
# Test full N (stress test the algorithm and not the writing)
testn *features:
cargo run --release --features '{{ features }}' -- \
-f tests/test_data/200000N.fasta -m 2 -M 100 -g 20 -x 1
BENCH_RUN := "cargo run --release --quiet --manifest-path 'bench/Cargo.toml'"
# Build with features
build *features:
cargo build --release --features '{{ features }}'
# Write results.csv
compare *features: (build features)
{{ BENCH_RUN }} --bin logs -- --write
# Test that the results of the rust / cpp binaries are the same
compare-correct *features: (build features)
{{ BENCH_RUN }} --bin logs -- --verbose --random-bench 1000 20
{{ BENCH_RUN }} --bin logs -- --verbose --random-bench 5000 10
{{ BENCH_RUN }} --bin logs -- --verbose --random-bench 20000 5
# Test how the results of the rust / cpp binaries perform
compare-performance *features: (build features)
{{ BENCH_RUN }} --bin logs -- --verbose --random-bench 1000000 1
# Does not play nice with parallel
# Make a heatmap
heatmap *features: (build features)
{{ BENCH_RUN }} --bin logs -- --write
python3 bench/heatmaps.py
# Bench against alys
bench *features: (build features)
{{ BENCH_RUN }} --bin bench