diff --git a/Dockerfile b/Dockerfile index b8fa317..a71db2c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM australia-southeast1-docker.pkg.dev/cpg-common/images/cpg_hail_gcloud:0.2.138.cpg1-1 ENV PYTHONDONTWRITEBYTECODE=1 -ENV VERSION=0.3.1 +ENV VERSION=0.3.2 WORKDIR /cpg_seqr_loader diff --git a/README.md b/README.md index c4170c2..0ee71e7 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ CPG-Flow workflows are operated entirely by defining input Cohorts (see [here](h ```bash analysis-runner \ --skip-repo-checkout \ - --image australia-southeast1-docker.pkg.dev/cpg-common/images/cpg-flow-seqr-loader:0.3.1-1 \ + --image australia-southeast1-docker.pkg.dev/cpg-common/images/cpg-flow-seqr-loader:0.3.2-1 \ --config src/cpg_seqr_loader/config_template.toml \ --config cohorts.toml \ # containing the inputs_cohorts and sequencing_type --dataset seqr \ @@ -70,7 +70,7 @@ analysis-runner \ ```bash analysis-runner \ --skip-repo-checkout \ - --image australia-southeast1-docker.pkg.dev/cpg-common/images/cpg-flow-seqr-loader:0.3.1-1 \ + --image australia-southeast1-docker.pkg.dev/cpg-common/images/cpg-flow-seqr-loader:0.3.2-1 \ --config src/cpg_seqr_loader/config_template.toml \ --config cohorts.toml \ # containing the inputs_cohorts and sequencing_type --dataset seqr \ diff --git a/pyproject.toml b/pyproject.toml index 6397aa1..8d1ae2e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ description='Seqr-Loader (gVCF-combiner) implemented in CPG-Flow' readme = "README.md" # currently cpg-flow is pinned to this version requires-python = ">=3.10,<3.12" -version="0.3.1" +version="0.3.2" license={"file" = "LICENSE"} classifiers=[ 'Environment :: Console', @@ -21,7 +21,7 @@ classifiers=[ ] dependencies=[ - 'analysis-runner', + 'analysis-runner>=3.3.0', 'cpg-flow~=1.3', 'elasticsearch==8.*', ] @@ -108,7 +108,7 @@ hail = ["hail"] "src/cpg_seqr_loader/scripts/annotate_cohort.py" = ["E501"] [tool.bumpversion] -current_version = "0.3.1" +current_version = "0.3.2" parse = "(?P\\d+)\\.(?P\\d+)\\.(?P\\d+)" serialize = ["{major}.{minor}.{patch}"] commit = true diff --git a/src/cpg_seqr_loader/first_workflow.py b/src/cpg_seqr_loader/first_workflow.py index 5c103be..99b6600 100755 --- a/src/cpg_seqr_loader/first_workflow.py +++ b/src/cpg_seqr_loader/first_workflow.py @@ -8,7 +8,7 @@ from cpg_flow import workflow -from cpg_seqr_loader.stages import DeleteCombinerTemp, SubmitPostCombinerWorkflow +from cpg_seqr_loader.stages import CreateDenseMtFromVdsWithHail, SubmitPostCombinerWorkflow def cli_main(): @@ -18,7 +18,7 @@ def cli_main(): workflow.run_workflow( name='seqr_loader', - stages=[DeleteCombinerTemp, SubmitPostCombinerWorkflow], + stages=[CreateDenseMtFromVdsWithHail, SubmitPostCombinerWorkflow], dry_run=args.dry_run, ) diff --git a/src/cpg_seqr_loader/stages.py b/src/cpg_seqr_loader/stages.py index 21a473d..e8d52c5 100644 --- a/src/cpg_seqr_loader/stages.py +++ b/src/cpg_seqr_loader/stages.py @@ -57,21 +57,6 @@ def queue_jobs(self, multicohort: targets.MultiCohort, inputs: stage.StageInput) return self.make_outputs(multicohort, data=outputs, jobs=job) -@stage.stage(required_stages=[CombineGvcfsIntoVds]) -class SubmitPostCombinerWorkflow(stage.MultiCohortStage): - def expected_outputs(self, multicohort: targets.MultiCohort) -> dict[str, Path]: - return { - 'resubmit': self.prefix / f'{multicohort.name}_resubmitted.toml', - } - - def queue_jobs(self, multicohort: targets.MultiCohort, inputs: stage.StageInput) -> stage.StageOutput: - outputs = self.expected_outputs(multicohort) - - job = resubmit_full_workflow(str(outputs['resubmit'])) - - return self.make_outputs(multicohort, data=outputs, jobs=job) - - @stage.stage(required_stages=CombineGvcfsIntoVds) class DeleteCombinerTemp(stage.MultiCohortStage): """ @@ -148,6 +133,21 @@ def queue_jobs(self, multicohort: targets.MultiCohort, inputs: stage.StageInput) return self.make_outputs(target=multicohort, data=outputs, jobs=job) +@stage.stage(required_stages=[CreateDenseMtFromVdsWithHail]) +class SubmitPostCombinerWorkflow(stage.MultiCohortStage): + def expected_outputs(self, multicohort: targets.MultiCohort) -> dict[str, Path]: + return { + 'resubmit': self.prefix / f'{multicohort.name}_resubmitted.toml', + } + + def queue_jobs(self, multicohort: targets.MultiCohort, inputs: stage.StageInput) -> stage.StageOutput: + outputs = self.expected_outputs(multicohort) + + job = resubmit_full_workflow(str(outputs['resubmit'])) + + return self.make_outputs(multicohort, data=outputs, jobs=job) + + @stage.stage(required_stages=[CreateDenseMtFromVdsWithHail]) class ConcatenateVcfsWithGcloud(stage.MultiCohortStage): """