1
1
#
2
- # Copyright (C) 2018-2020 University of Oxford
2
+ # Copyright (C) 2018-2022 University of Oxford
3
3
#
4
4
# This file is part of tsinfer.
5
5
#
@@ -527,9 +527,8 @@ class TestMakeAncestorsTs:
527
527
Tests for the process of generating an ancestors tree sequence.
528
528
"""
529
529
530
- def verify_from_source (self , remove_leaves ):
531
- ts = msprime .simulate (15 , recombination_rate = 1 , mutation_rate = 2 , random_seed = 3 )
532
- samples = tsinfer .SampleData .from_tree_sequence (ts )
530
+ def verify_from_source (self , ts , remove_leaves ):
531
+ samples = tsinfer .SampleData .from_tree_sequence (ts , use_sites_time = False )
533
532
ancestors_ts = tsinfer .make_ancestors_ts (
534
533
samples , ts , remove_leaves = remove_leaves
535
534
)
@@ -538,11 +537,10 @@ def verify_from_source(self, remove_leaves):
538
537
final_ts = tsinfer .match_samples (samples , ancestors_ts , engine = engine )
539
538
tsinfer .verify (samples , final_ts )
540
539
541
- def test_infer_from_source_no_leaves (self ):
542
- self .verify_from_source (True )
543
-
544
- def test_infer_from_source (self ):
545
- self .verify_from_source (True )
540
+ @pytest .mark .parametrize ("remove_leaves" , [True , False ])
541
+ def test_infer_from_source (self , remove_leaves ):
542
+ ts = msprime .simulate (15 , recombination_rate = 1 , mutation_rate = 2 , random_seed = 3 )
543
+ self .verify_from_source (ts , remove_leaves = remove_leaves )
546
544
547
545
def verify_from_inferred (self , remove_leaves ):
548
546
ts = msprime .simulate (15 , recombination_rate = 1 , mutation_rate = 2 , random_seed = 3 )
@@ -556,11 +554,16 @@ def verify_from_inferred(self, remove_leaves):
556
554
final_ts = tsinfer .match_samples (samples , ancestors_ts , engine = engine )
557
555
tsinfer .verify (samples , final_ts )
558
556
559
- def test_infer_from_inferred_no_leaves (self ):
560
- self .verify_from_inferred (True )
557
+ @pytest .mark .parametrize ("remove_leaves" , [True , False ])
558
+ def test_infer_from_inferred (self , remove_leaves ):
559
+ self .verify_from_inferred (remove_leaves )
561
560
562
- def test_infer_from_inferred (self ):
563
- self .verify_from_inferred (False )
561
+ @pytest .mark .parametrize ("remove_leaves" , [True , False ])
562
+ def test_infer_from_source_multiple_mutations (self , remove_leaves ):
563
+ ts = msprime .sim_ancestry (5 , sequence_length = 100 , random_seed = 3 )
564
+ mts = msprime .sim_mutations (ts , rate = 0.1 , random_seed = 3 )
565
+ assert mts .num_mutations > mts .num_sites
566
+ self .verify_from_source (mts , remove_leaves = remove_leaves )
564
567
565
568
566
569
class TestCheckAncestorsTs :
0 commit comments