def test_regions_to_process_fails_with_bad_shard_args(self, task, num_shards): with self.assertRaises(ValueError): make_examples.regions_to_process( contigs=_make_contigs([('z', 100), ('a', 100), ('n', 100)]), partition_size=10, task_id=task, num_shards=num_shards)
def test_regions_to_process_partition(self, max_size, calling_regions, expected): contigs = _make_contigs([('1', 100), ('2', 76), ('3', 121)]) self.assertCountEqual( _from_literals_list(expected), make_examples.regions_to_process( contigs, max_size, calling_regions=_from_literals(calling_regions)))
def get_regions(task_id, num_shards): return make_examples.regions_to_process(contigs=_make_contigs([ ('z', 100), ('a', 100), ('n', 100) ]), partition_size=5, task_id=task_id, num_shards=num_shards)
def test_regions_to_process(self, calling_regions, expected): contigs = _make_contigs([('1', 100), ('2', 200)]) self.assertCountEqual( _from_literals_list(expected), make_examples.regions_to_process( contigs, 1000, calling_regions=_from_literals(calling_regions)))
def test_regions_to_process_sorted_contigs(self): # These contig names are out of order lexicographically. contigs = _make_contigs([('z', 100), ('a', 100), ('n', 100)]) in_regions = _from_literals(['a:10', 'n:1', 'z:20', 'z:5']) sorted_regions = _from_literals_list(['z:5', 'z:20', 'a:10', 'n:1']) actual_regions = list( make_examples.regions_to_process( contigs, 100, calling_regions=in_regions)) # The assertEqual here is checking the order is exactly what we expect. self.assertEqual(sorted_regions, actual_regions)
def test_regions_to_process_sorted_within_contig(self): # These regions are out of order but within a single contig. contigs = _make_contigs([('z', 100)]) in_regions = _from_literals(['z:15', 'z:20', 'z:6', 'z:25-30', 'z:3-4']) sorted_regions = _from_literals_list( ['z:3-4', 'z:6', 'z:15', 'z:20', 'z:25-30']) actual_regions = list( make_examples.regions_to_process( contigs, 100, calling_regions=in_regions)) # The assertEqual here is checking the order is exactly what we expect. self.assertEqual(sorted_regions, actual_regions)
def get_regions(task_id, num_shards): return make_examples.regions_to_process( contigs=_make_contigs([('z', 100), ('a', 100), ('n', 100)]), partition_size=5, task_id=task_id, num_shards=num_shards)