Skip to content

Commit 9c6e17b

Browse files
committed
Fix up CI workflow
1 parent 692e4b6 commit 9c6e17b

3 files changed

Lines changed: 59 additions & 26 deletions

File tree

.github/workflows/test.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88

99
jobs:
1010
test:
11-
runs-on: ubuntu-latest
11+
runs-on: ubuntu-22.04
1212
strategy:
1313
fail-fast: false
1414
matrix:
@@ -35,6 +35,14 @@ jobs:
3535
pip install .
3636
pip install -r requirements-dev.txt
3737
38+
- name: Verify installation
39+
run: |
40+
which Magphi
41+
Magphi --check
42+
blastn -version
43+
samtools --version | head -1
44+
bedtools --version
45+
3846
- name: Run unit tests
3947
working-directory: unit_tests
4048
run: python Magphi_test.py

functional_tests/Magphi-test.sh

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ function call_new_test {
207207
# 1. Parse command line arguments.
208208
parse_args $@
209209
# 2. Change to test directory
210-
cd $test_data_dir
210+
cd "$test_data_dir" || exit_with_error "could not cd to $test_data_dir" 1
211211
# 2. Run tests
212212
## Test commandline exit status
213213
# Test output for no arguments
@@ -240,61 +240,61 @@ test_exit_status "$test_program -g empty_file -S -s empty_file > /dev/null 2>&1"
240240

241241
# Run test for evidence level when no seed hits are found
242242
call_new_test "Run test for evidence level when no seed hits are found"
243-
Magphi -g evidence_levels_simple_genome.fasta -S -s no_primers_match_primers.fasta -o test_out_folder
243+
$test_program -g evidence_levels_simple_genome.fasta -S -s no_primers_match_primers.fasta -o test_out_folder
244244
test_output_file test_out_folder/master_seed_evidence.csv no_primers_match_evidence_levels.expected
245245
rm -r test_out_folder
246246

247247
# Run test for evidence level when a single seed hit is found
248248
call_new_test "Test for evidence level when a single seed hit is found"
249-
Magphi -g evidence_levels_simple_genome.fasta -S -s single_primer_match_primers.fasta -o test_out_folder
249+
$test_program -g evidence_levels_simple_genome.fasta -S -s single_primer_match_primers.fasta -o test_out_folder
250250
test_output_file test_out_folder/master_seed_evidence.csv one_primer_match_evidence_level.expected
251251
rm -r test_out_folder
252252

253253
# Run test for evidence level when two primers hit multiple times on same contig, but cannot connect
254254
call_new_test "Test for evidence level when two primers hit multiple times on same contig, but cannot connect"
255-
Magphi -g evidence_levels_simple_genome.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1
255+
$test_program -g evidence_levels_simple_genome.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1
256256
test_output_file test_out_folder/master_seed_evidence.csv two_primers_multiple_hits_single_contig_no_connections.expected
257257
rm -r test_out_folder
258258

259259
# Run test for evidence level when two primers hit the same contig multiple times and they can connect multiple ways
260260
call_new_test "Test for evidence level when two primers hit the same contig multiple times and they can connect multiple ways"
261-
Magphi -g evidence_levels_simple_genome.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1000
261+
$test_program -g evidence_levels_simple_genome.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1000
262262
test_output_file test_out_folder/master_seed_evidence.csv two_primers_multiple_hits_single_contig_multiple_connections.expected
263263
rm -r test_out_folder
264264

265265
# Run test for evidence level when two primers hit multiple contigs multiple times and no connection between them
266266
call_new_test "Test for evidence level when two primers hit multiple contigs multiple times and no connection between them"
267-
Magphi -g evidence_levels_simple_two_contigs.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1
267+
$test_program -g evidence_levels_simple_two_contigs.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1
268268
test_output_file test_out_folder/master_seed_evidence.csv two_primers_two_contigs_multipe_hits_no_connection.expected
269269
rm -r test_out_folder
270270

271271
# run test for evidence level when two seeds hit multiple contigs multiple times and multiple connections
272272
call_new_test "Test for evidence level when two seeds hit multiple contigs multiple times and multiple connections"
273-
Magphi -g evidence_levels_simple_two_contigs.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1000
273+
$test_program -g evidence_levels_simple_two_contigs.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1000
274274
test_output_file test_out_folder/master_seed_evidence.csv two_primers_two_contigs_multi_hit_multi_connect.expected
275275
rm -r test_out_folder
276276

277277
# Run test for evidence level when two seeds overlap and are excluded because primers are deleted
278278
call_new_test "Test for evidence level when two seeds overlap and are excluded because primers are deleted"
279-
Magphi -g evidence_levels_overlap_two_contigs.fasta -S -s overlap_primers.fasta -o test_out_folder -md 1
279+
$test_program -g evidence_levels_overlap_two_contigs.fasta -S -s overlap_primers.fasta -o test_out_folder -md 1
280280
test_output_file test_out_folder/master_seed_evidence.csv evidence_levels_overlapping_seeds.expected
281281
rm -r test_out_folder
282282

283283
# Run test for evidence level when one seed is on the edge of a contig and is deleted due to being excluded
284284
call_new_test "Test for evidence level when one seed is on the edge of a contig and is deleted due to being excluded"
285-
Magphi -g evidence_levels_overlap_two_contigs.fasta -S -s contig_edge_primers.fasta -o test_out_folder -md 180
285+
$test_program -g evidence_levels_overlap_two_contigs.fasta -S -s contig_edge_primers.fasta -o test_out_folder -md 180
286286
test_output_file test_out_folder/master_seed_evidence.csv evidence_levels_contig_edge.expected
287287
rm -r test_out_folder
288288

289289
# Run test for evidence level when only two unique seeds hit but can not connect
290290
call_new_test "Test for evidence level when only two unique seeds hit but can not connect"
291-
Magphi -g two_contigs_two_primers_single_hit.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1
291+
$test_program -g two_contigs_two_primers_single_hit.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1
292292
test_output_file test_out_folder/master_seed_evidence.csv evidence_levels_simple_hits_cross_contig_no_connect.expected
293293
rm -r test_out_folder
294294

295295
# Run test for evidence level when only two unique seeds hit with connection but no annotation
296296
call_new_test "Test for evidence level when only two unique seeds hit with connection but no annotation"
297-
Magphi -g two_contigs_two_primers_single_hit.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -b -md 70
297+
$test_program -g two_contigs_two_primers_single_hit.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -b -md 70
298298
test_output_file test_out_folder/master_seed_evidence.csv evidence_levels_simple_hits_cross_contig_connected/master_seed_evidence.csv
299299
test_output_file test_out_folder/inter_seed_distance.csv evidence_levels_simple_hits_cross_contig_connected/inter_seed_distance.csv
300300
test_output_file test_out_folder/two_primers_simple/two_contigs_two_primers_single_hit-two_primers_simple_1_break.fasta evidence_levels_simple_hits_cross_contig_connected/two_contigs_two_primers_single_hit-two_primers_simple_1_break.fasta
@@ -303,7 +303,7 @@ rm -r test_out_folder
303303

304304
# Run test for evidence level when only two unique seeds hit with connection and annotation
305305
call_new_test "Test for evidence level when only two unique seeds hit with connection and annotation"
306-
Magphi -g two_contigs_two_primers_single_hit.gff -S -s two_seeds_w_annotation_between.fasta -o test_out_folder -b -md 375
306+
$test_program -g two_contigs_two_primers_single_hit.gff -S -s two_seeds_w_annotation_between.fasta -o test_out_folder -b -md 375
307307
test_output_file test_out_folder/master_seed_evidence.csv evidence_levels_simple_primers_connect_cross_contig_with_annotations/master_seed_evidence.csv
308308
test_output_file test_out_folder/inter_seed_distance.csv evidence_levels_simple_primers_connect_cross_contig_with_annotations/inter_seed_distance.csv
309309
test_output_file test_out_folder/annotation_num_matrix.csv evidence_levels_simple_primers_connect_cross_contig_with_annotations/annotation_num_matrix.csv
@@ -315,13 +315,13 @@ rm -r test_out_folder
315315

316316
# Run test on a gff with a single contig no connection between primers
317317
call_new_test 'Test of a gff with a single contig no connection between primers'
318-
Magphi -g evidence_levels_single_contig.gff -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1
318+
$test_program -g evidence_levels_single_contig.gff -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 1
319319
test_output_file test_out_folder/master_seed_evidence.csv evidence_levels_single_contig_no_connection/master_seed_evidence.csv
320320
rm -r test_out_folder
321321

322322
# Run test on a gff with a single contig with connection between primers
323323
call_new_test "Test of a gff with a single contig with connection between primers"
324-
Magphi -g evidence_levels_single_contig.gff -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 100
324+
$test_program -g evidence_levels_single_contig.gff -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 100
325325
test_output_file test_out_folder/master_seed_evidence.csv evidence_levels_single_contig_connection/master_seed_evidence.csv
326326
test_output_file test_out_folder/inter_seed_distance.csv evidence_levels_single_contig_connection/inter_seed_distance.csv
327327
test_output_file test_out_folder/two_primers_simple/evidence_levels_single_contig-two_primers_simple.fasta evidence_levels_single_contig_connection/evidence_levels_single_contig-two_primers_simple.fasta
@@ -330,7 +330,7 @@ rm -r test_out_folder
330330

331331
# Run test on a gff with a single contig with connection and annotation between primers - exclude seeds
332332
call_new_test "Test of a gff with a single contig with connection and annotation between primers - exclude seeds"
333-
Magphi -g evidence_levels_single_contig.gff -S -s two_seeds_w_annotation_between.fasta -o test_out_folder -md 750 -is
333+
$test_program -g evidence_levels_single_contig.gff -S -s two_seeds_w_annotation_between.fasta -o test_out_folder -md 750 -is
334334
test_output_file test_out_folder/master_seed_evidence.csv evidence_level_single_contigs_connect_annotations_include_seeds/master_seed_evidence.csv
335335
test_output_file test_out_folder/inter_seed_distance.csv evidence_level_single_contigs_connect_annotations_include_seeds/inter_seed_distance.csv
336336
test_output_file test_out_folder/annotation_primers/evidence_levels_single_contig-annotation_primers.gff evidence_level_single_contigs_connect_annotations_include_seeds/evidence_levels_single_contig-annotation_primers.gff
@@ -340,7 +340,7 @@ rm -r test_out_folder
340340

341341
# Test output when seeds hit multiple times and one and only one connection can be made between seeds on same contig
342342
call_new_test "Test output when seeds hit multiple times and one and only one connection can be made between seeds on same contig"
343-
Magphi -g evidence_levels_simple_two_contigs.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 130
343+
$test_program -g evidence_levels_simple_two_contigs.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -md 130
344344
test_output_file test_out_folder/master_seed_evidence.csv evidence_level_multi_hit_multi_contig_single_same_contig_overlap/master_seed_evidence.csv
345345
test_output_file test_out_folder/inter_seed_distance.csv evidence_level_multi_hit_multi_contig_single_same_contig_overlap/inter_seed_distance.csv
346346
test_output_file test_out_folder/contig_hit_matrix.csv evidence_level_multi_hit_multi_contig_single_same_contig_overlap/contig_hit_matrix.csv
@@ -349,7 +349,7 @@ rm -r test_out_folder
349349

350350
# Test output when seeds hit multiple times and one and only one connection can be made between seeds on different contig
351351
call_new_test "Test output when seeds hit multiple times and one and only one connection can be made between seeds on different contig"
352-
Magphi -g evidence_levels_simple_two_contigs_cross_conenct.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -b -md 180
352+
$test_program -g evidence_levels_simple_two_contigs_cross_conenct.fasta -S -s two_primers_simple_match_primers.fasta -o test_out_folder -b -md 180
353353
test_output_file test_out_folder/master_seed_evidence.csv evidence_level_multi_seed_hit_cross_contig_connect/master_seed_evidence.csv
354354
test_output_file test_out_folder/inter_seed_distance.csv evidence_level_multi_seed_hit_cross_contig_connect/inter_seed_distance.csv
355355
test_output_file test_out_folder/contig_hit_matrix.csv evidence_level_multi_seed_hit_cross_contig_connect/contig_hit_matrix.csv
@@ -359,7 +359,7 @@ rm -r test_out_folder
359359

360360
# Test gzipped gff file
361361
call_new_test 'Test gzipped file'
362-
test_exit_status "Magphi -g evidence_levels_single_contig.gff.gz -S -s two_seeds_w_annotation_between.fasta -o test_out_folder -md 750 -is" 0
362+
test_exit_status "$test_program -g evidence_levels_single_contig.gff.gz -S -s two_seeds_w_annotation_between.fasta -o test_out_folder -md 750 -is" 0
363363
test_output_file test_out_folder/master_seed_evidence.csv evidence_level_single_contigs_connect_annotations_include_seeds/master_seed_evidence.csv
364364
test_output_file test_out_folder/inter_seed_distance.csv evidence_level_single_contigs_connect_annotations_include_seeds/inter_seed_distance.csv
365365
test_output_file test_out_folder/annotation_primers/evidence_levels_single_contig-annotation_primers.gff evidence_level_single_contigs_connect_annotations_include_seeds/evidence_levels_single_contig-annotation_primers.gff
@@ -369,7 +369,7 @@ rm -r test_out_folder
369369

370370
# Test gzipped fasta file evidence level when only two unique seeds hit with connection but no annotation
371371
call_new_test "Test gzipped fasta file evidence level when only two unique seeds hit with connection but no annotation"
372-
Magphi -g two_contigs_two_primers_single_hit.fasta.gz -S -s two_primers_simple_match_primers.fasta -o test_out_folder -b -md 70
372+
$test_program -g two_contigs_two_primers_single_hit.fasta.gz -S -s two_primers_simple_match_primers.fasta -o test_out_folder -b -md 70
373373
test_output_file test_out_folder/master_seed_evidence.csv evidence_levels_simple_hits_cross_contig_connected/master_seed_evidence.csv
374374
test_output_file test_out_folder/inter_seed_distance.csv evidence_levels_simple_hits_cross_contig_connected/inter_seed_distance.csv
375375
test_output_file test_out_folder/two_primers_simple/two_contigs_two_primers_single_hit-two_primers_simple_1_break.fasta evidence_levels_simple_hits_cross_contig_connected/two_contigs_two_primers_single_hit-two_primers_simple_1_break.fasta
@@ -379,7 +379,7 @@ rm -r test_out_folder
379379

380380
# Chaws problem.
381381
call_new_test "Test larger mock up of problem reported in emm4"
382-
Magphi -g \
382+
$test_program -g \
383383
gff3_files_larger_test/*.gff -S -s larger_test_primers.fa -o test_out_folder -md 15000 -is
384384
test_output_file test_out_folder/annotation_num_matrix.csv larger_Magphi_test/annotation_num_matrix.csv
385385
test_output_file test_out_folder/inter_seed_distance.csv larger_Magphi_test/inter_seed_distance.csv
@@ -390,23 +390,23 @@ rm -r test_out_folder
390390

391391
# Test input seeds being proteins and the tblastn function
392392
call_new_test "Test input seeds being proteins and the tblastn function - with correct -p flag"
393-
Magphi -g tblasn_test/tblastn_genome.fasta -S -s tblasn_test/prot_seeds.fasta -o test_out_folder -md 140 -p
393+
$test_program -g tblasn_test/tblastn_genome.fasta -S -s tblasn_test/prot_seeds.fasta -o test_out_folder -md 140 -p
394394
test_output_file test_out_folder/master_seed_evidence.csv tblastn_simple_expected/master_seed_evidence.expected
395395
test_output_file test_out_folder/inter_seed_distance.csv tblastn_simple_expected/inter_seed_distance.expected
396396
test_output_file test_out_folder/contig_hit_matrix.csv tblastn_simple_expected/contig_hit_matrix.expected
397397
rm -r test_out_folder
398398

399399
# Test input seeds being proteins and the tblastn function
400400
call_new_test "Test input seeds being proteins and the tblastn function - No -p flag"
401-
Magphi -g tblasn_test/tblastn_genome.fasta -S -s tblasn_test/prot_seeds.fasta -o test_out_folder -md 140
401+
$test_program -g tblasn_test/tblastn_genome.fasta -S -s tblasn_test/prot_seeds.fasta -o test_out_folder -md 140
402402
test_output_file test_out_folder/master_seed_evidence.csv tblastn_simple_expected/master_seed_evidence.expected
403403
test_output_file test_out_folder/inter_seed_distance.csv tblastn_simple_expected/inter_seed_distance.expected
404404
test_output_file test_out_folder/contig_hit_matrix.csv tblastn_simple_expected/contig_hit_matrix.expected
405405
rm -r test_out_folder
406406

407407
# Test output fasta when they are reverse complemented to orient seed
408408
call_new_test "Test output fasta when they are reverse complemented to orient seed"
409-
Magphi -g Fix_start_genome.fasta -s fixstart_seeds.fasta -o test_out_folder -b -md 5
409+
$test_program -g Fix_start_genome.fasta -s fixstart_seeds.fasta -o test_out_folder -b -md 5
410410
test_output_file test_out_folder/fixstart/Fix_start_genome-fixstart.fasta fix_start/Fix_start_genome-fixstart_rev_comp.fasta.expected
411411
rm -r test_out_folder
412412

@@ -424,7 +424,7 @@ rm -r test_out_folder
424424

425425
# Test output gff when they are reverse complemented to orient seed
426426
call_new_test "Test output gff when they are reverse complemented to orient seed"
427-
Magphi -g Fix_start_genome.gff -s fixstart_seeds.fasta -o test_out_folder -b -md 5
427+
$test_program -g Fix_start_genome.gff -s fixstart_seeds.fasta -o test_out_folder -b -md 5
428428
test_output_file test_out_folder/fixstart/Fix_start_genome-fixstart.gff fix_start/Fix_start_genome-fixstart_reverse_complemented.gff.expected
429429
rm -r test_out_folder
430430

@@ -442,7 +442,7 @@ rm -r test_out_folder
442442

443443
# Test output gff when two genes are present and they are reverse complemented to orient seed
444444
call_new_test "Test output gff when two genes are present and they are reverse complemented to orient seed"
445-
Magphi -g Fix_start_genome_2.gff -s fixstart_seeds.fasta -o test_out_folder -b -md 5
445+
$test_program -g Fix_start_genome_2.gff -s fixstart_seeds.fasta -o test_out_folder -b -md 5
446446
test_output_file test_out_folder/fixstart/Fix_start_genome_2-fixstart.gff fix_start/Fix_start_genome_2-fixstart_reverse_complement.gff.expected
447447
rm -r test_out_folder
448448

0 commit comments

Comments
 (0)