@@ -29,7 +29,12 @@ def fx_ti_2020_02_15(fx_ts_map):
2929@pytest .fixture
3030def fx_ts_min_2020_02_15 (fx_ts_map ):
3131 ts = fx_ts_map ["2020-02-15" ]
32- return sc2ts .minimise_metadata (ts )
32+ field_mapping = {
33+ "strain" : "sample_id" ,
34+ "Viridian_pangolin" : "pango" ,
35+ "Viridian_scorpio" : "scorpio" ,
36+ }
37+ return sc2ts .minimise_metadata (ts , field_mapping )
3338
3439
3540@pytest .fixture
@@ -55,6 +60,7 @@ def test_copying_table(self, fx_ti_recombinant_example_1):
5560 assert "TestChild" in ct_via_ti
5661 assert ct_via_ti == ct_via_ts
5762
63+
5864class TestTreeInfo :
5965 def test_tree_info_values (self , fx_ti_2020_02_13 ):
6066 ti = fx_ti_2020_02_13
@@ -229,18 +235,30 @@ class TestDataFuncs:
229235
230236 def test_example_node (self , fx_ts_min_2020_02_15 , fx_ti_2020_02_15 ):
231237 ts = fx_ts_min_2020_02_15
232- df = sc2ts .node_data (fx_ts_min_2020_02_15 )
233238 ti = fx_ti_2020_02_15
239+ df = sc2ts .node_data (ts )
234240 assert df .shape [0 ] == ti .ts .num_nodes
235241 nt .assert_array_equal (ti .nodes_num_mutations , df ["num_mutations" ])
236242 nt .assert_array_equal (np .arange (ti .ts .num_nodes ), df ["node_id" ])
237243 nt .assert_array_equal (
238244 ti .nodes_max_descendant_samples , df ["max_descendant_samples" ]
239245 )
246+ print (ti .nodes_date .dtype )
247+ print (df ["date" ].dtype )
240248 nt .assert_array_equal (ti .nodes_date , df ["date" ])
241249 assert list (np .where (df ["is_recombinant" ])[0 ]) == list (ti .recombinants )
242250 assert list (np .where (df ["is_sample" ])[0 ]) == list (ts .samples ())
243251
252+ def test_example_node_no_date (self , fx_ts_min_2020_02_15 , fx_ti_2020_02_15 ):
253+ ts = fx_ts_min_2020_02_15
254+ df1 = sc2ts .node_data (ts )
255+ tables = ts .dump_tables ()
256+ tables .metadata = {}
257+ df2 = sc2ts .node_data (tables .tree_sequence ())
258+ assert set (df1 ) == set (df2 ) | {"date" }
259+ for col in df2 :
260+ nt .assert_array_equal (df1 [col ].values , df2 [col ].values )
261+
244262 def test_example_mutation (self , fx_ts_min_2020_02_15 , fx_ti_2020_02_15 ):
245263 ts = fx_ts_min_2020_02_15
246264 df = sc2ts .mutation_data (fx_ts_min_2020_02_15 )
@@ -253,3 +271,13 @@ def test_example_mutation(self, fx_ts_min_2020_02_15, fx_ti_2020_02_15):
253271 nt .assert_array_equal (ti .mutations_inherited_state , df ["inherited_state" ])
254272 nt .assert_array_equal (ts .mutations_node , df ["node" ])
255273 nt .assert_array_equal (ts .mutations_parent , df ["parent" ])
274+
275+ def test_example_mutation_no_date (self , fx_ts_min_2020_02_15 , fx_ti_2020_02_15 ):
276+ ts = fx_ts_min_2020_02_15
277+ df1 = sc2ts .mutation_data (ts )
278+ tables = ts .dump_tables ()
279+ tables .metadata = {}
280+ df2 = sc2ts .mutation_data (tables .tree_sequence ())
281+ assert set (df1 ) == set (df2 ) | {"date" }
282+ for col in df2 :
283+ nt .assert_array_equal (df1 [col ].values , df2 [col ].values )
0 commit comments