Skip to content

Commit 0fafcf7

Browse files
authored
Make sure WriteMetadataForRunTask is always in the dependency tree (#877)
* ruff * tasks * Make sure WriteMetadataForRunTask is always in the dependency tree * fix test * env vars * remove liftover from hail * ruff * spelling * move remove_liftover * set value on mock * ruff * move from before tasks to after tasks * move it back
1 parent 1bfe3b3 commit 0fafcf7

5 files changed

+26
-42
lines changed

v03_pipeline/lib/tasks/update_lookup_table.py

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@
99
remove_family_guids,
1010
)
1111
from v03_pipeline.lib.model.constants import PROJECTS_EXCLUDED_FROM_LOOKUP
12+
from v03_pipeline.lib.paths import remapped_and_subsetted_callset_path
1213
from v03_pipeline.lib.tasks.base.base_loading_run_params import BaseLoadingRunParams
1314
from v03_pipeline.lib.tasks.base.base_update_lookup_table import (
1415
BaseUpdateLookupTableTask,
1516
)
16-
from v03_pipeline.lib.tasks.write_remapped_and_subsetted_callset import (
17-
WriteRemappedAndSubsettedCallsetTask,
17+
from v03_pipeline.lib.tasks.write_metadata_for_run import (
18+
WriteMetadataForRunTask,
1819
)
1920

2021

@@ -23,6 +24,7 @@ class UpdateLookupTableTask(BaseUpdateLookupTableTask):
2324
project_guids = luigi.ListParameter()
2425
project_remap_paths = luigi.ListParameter()
2526
project_pedigree_paths = luigi.ListParameter()
27+
run_id = luigi.Parameter()
2628

2729
def complete(self) -> bool:
2830
return (
@@ -53,22 +55,9 @@ def complete(self) -> bool:
5355
def requires(self) -> list[luigi.Task]:
5456
return [
5557
self.clone(
56-
WriteRemappedAndSubsettedCallsetTask,
57-
project_guid=project_guid,
58-
project_remap_path=project_remap_path,
59-
project_pedigree_path=project_pedigree_path,
58+
WriteMetadataForRunTask,
6059
force=False,
61-
)
62-
for (
63-
project_guid,
64-
project_remap_path,
65-
project_pedigree_path,
66-
) in zip(
67-
self.project_guids,
68-
self.project_remap_paths,
69-
self.project_pedigree_paths,
70-
strict=True,
71-
)
60+
),
7261
]
7362

7463
def update_table(self, ht: hl.Table) -> hl.Table:
@@ -89,7 +78,14 @@ def update_table(self, ht: hl.Table) -> hl.Table:
8978
),
9079
)
9180
continue
92-
callset_mt = hl.read_matrix_table(self.input()[i].path)
81+
callset_mt = hl.read_matrix_table(
82+
remapped_and_subsetted_callset_path(
83+
self.reference_genome,
84+
self.dataset_type,
85+
self.callset_path,
86+
project_guid,
87+
),
88+
)
9389
ht = remove_family_guids(
9490
ht,
9591
project_guid,

v03_pipeline/lib/tasks/update_lookup_table_test.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
TEST_REMAP = 'v03_pipeline/var/test/remaps/test_remap_1.tsv'
1313
TEST_PEDIGREE_3 = 'v03_pipeline/var/test/pedigrees/test_pedigree_3.tsv'
1414

15+
TEST_RUN_ID = 'manual__2024-04-03'
16+
1517

1618
class UpdateLookupTableTest(MockedDatarootTestCase):
1719
def test_skip_update_lookup_table_task(self) -> None:
@@ -27,6 +29,7 @@ def test_skip_update_lookup_table_task(self) -> None:
2729
project_remap_paths=[TEST_REMAP],
2830
project_pedigree_paths=[TEST_PEDIGREE_3],
2931
skip_validation=True,
32+
run_id=TEST_RUN_ID,
3033
)
3134
worker.add(uslt_task)
3235
worker.run()
@@ -64,6 +67,7 @@ def test_update_lookup_table_task(self) -> None:
6467
project_remap_paths=[TEST_REMAP],
6568
project_pedigree_paths=[TEST_PEDIGREE_3],
6669
skip_validation=True,
70+
run_id=TEST_RUN_ID,
6771
)
6872
worker.add(uslt_task)
6973
worker.run()

v03_pipeline/lib/tasks/update_variant_annotations_table_with_new_samples_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,7 @@ def test_multiple_update_vat(
423423
project_remap_paths=[TEST_REMAP],
424424
project_pedigree_paths=[TEST_PEDIGREE_4],
425425
skip_validation=False,
426-
run_id=TEST_RUN_ID,
426+
run_id=TEST_RUN_ID + '-another-run',
427427
)
428428
worker.add(uvatwns_task_4)
429429
worker.run()

v03_pipeline/lib/tasks/validate_callset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def output(self) -> luigi.Target:
4949

5050
def requires(self) -> list[luigi.Task]:
5151
requirements = [
52-
self.clone(WriteImportedCallsetTask),
52+
self.clone(WriteImportedCallsetTask, force=False),
5353
]
5454
if not self.skip_validation and self.dataset_type.can_run_validation:
5555
requirements = [

v03_pipeline/lib/tasks/write_new_variants_table.py

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
from v03_pipeline.lib.tasks.update_lookup_table import (
3434
UpdateLookupTableTask,
3535
)
36-
from v03_pipeline.lib.tasks.write_remapped_and_subsetted_callset import (
37-
WriteRemappedAndSubsettedCallsetTask,
36+
from v03_pipeline.lib.tasks.write_metadata_for_run import (
37+
WriteMetadataForRunTask,
3838
)
3939
from v03_pipeline.lib.vep import run_vep
4040

@@ -95,26 +95,10 @@ def requires(self) -> list[luigi.Task]:
9595
self.clone(UpdateLookupTableTask),
9696
]
9797
else:
98-
requirements.extend(
99-
[
100-
self.clone(
101-
WriteRemappedAndSubsettedCallsetTask,
102-
project_guid=project_guid,
103-
project_remap_path=project_remap_path,
104-
project_pedigree_path=project_pedigree_path,
105-
)
106-
for (
107-
project_guid,
108-
project_remap_path,
109-
project_pedigree_path,
110-
) in zip(
111-
self.project_guids,
112-
self.project_remap_paths,
113-
self.project_pedigree_paths,
114-
strict=True,
115-
)
116-
],
117-
)
98+
requirements = [
99+
*requirements,
100+
self.clone(WriteMetadataForRunTask, force=False),
101+
]
118102
return requirements
119103

120104
def complete(self) -> bool:

0 commit comments

Comments
 (0)