Skip to content

feat(scripts): add operator script for bulk score-set pipeline reruns - #841

Merged
bencap merged 1 commit into
release-2026.2.7.1from
feature/bencap/796/pipeline-operator-script
Aug 12, 2026
Merged

feat(scripts): add operator script for bulk score-set pipeline reruns#841
bencap merged 1 commit into
release-2026.2.7.1from
feature/bencap/796/pipeline-operator-script

Conversation

@bencap

@bencap bencap commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Add run_score_set_pipelines.py to bulk-drive map/annotate pipelines across a cohort of score sets, replacing the one-score-set-per-invocation run_pipeline.py for large campaigns. It resolves a cohort by collection, publication state, taxonomy, or explicit URNs, orders it to exploit ClinGen's 24h cache, bounds concurrency against a campaign-wide in-flight window, skips already-current work, and reports per-score-set outcomes.

  • Extend PipelineFactory.create_pipeline with a custom_pipeline param (mutually exclusive with pipeline_name) so a caller can run an ad-hoc job subset under its own tracked name, enabling --phase presets (caid, fast-annotate, vep) that isolate slow VEP annotation from the fast jobs that unblock everything else.
  • Normalize finished_at to UTC before date comparison in is_current, since DB-returned timestamps can be in the server/session timezone and shift the day near midnight.
  • Filter out the start_pipeline JobRun's empty job_params in pipeline/ score-set queries, which could otherwise nondeterministically report score_set_id as None and let plan_enqueue miss an already in-flight pipeline for a score set.
  • Add tests/scripts/ package with local fixtures and factories, plus new PipelineFactory unit tests for the custom_pipeline contract.

@bencap
bencap force-pushed the feature/bencap/796/pipeline-operator-script branch from cb809b7 to b62685a Compare August 12, 2026 01:15
@coveralls

coveralls commented Aug 12, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 31553002891

Warning

No base build found for commit 585868e on chore/bencap/797/export-hardening.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 88.221%

Details

  • Patch coverage: 157 uncovered changes across 1 file (167 of 324 lines covered, 51.54%).

Uncovered Changes

File Changed Covered %
src/mavedb/scripts/run_score_set_pipelines.py 317 160 50.47%
Total (2 files) 324 167 51.54%

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 15511
Covered Lines: 13684
Line Coverage: 88.22%
Coverage Strength: 0.88 hits per line

💛 - Coveralls

@bencap
bencap force-pushed the chore/bencap/797/export-hardening branch from 585868e to 50c3137 Compare August 12, 2026 18:27
@bencap
bencap changed the base branch from chore/bencap/797/export-hardening to release-2026.2.7.1 August 12, 2026 19:15
Add run_score_set_pipelines.py to bulk-drive map/annotate pipelines
across a cohort of score sets, replacing the one-score-set-per-invocation
run_pipeline.py for large campaigns. It resolves a cohort by collection,
publication state, taxonomy, or explicit URNs, orders it to exploit
ClinGen's 24h cache, bounds concurrency against a campaign-wide in-flight
window, skips already-current work, and reports per-score-set outcomes.

- Extend PipelineFactory.create_pipeline with a custom_pipeline param
  (mutually exclusive with pipeline_name) so a caller can run an ad-hoc
  job subset under its own tracked name, enabling --phase presets
  (caid, fast-annotate, vep) that isolate slow VEP annotation from the
  fast jobs that unblock everything else.
- Normalize finished_at to UTC before date comparison in is_current, since
  DB-returned timestamps can be in the server/session timezone and shift
  the day near midnight.
- Filter out the start_pipeline JobRun's empty job_params in pipeline/
  score-set queries, which could otherwise nondeterministically report
  score_set_id as None and let plan_enqueue miss an already in-flight
  pipeline for a score set.
- Add tests/scripts/ package with local fixtures and factories, plus new
  PipelineFactory unit tests for the custom_pipeline contract.
@bencap
bencap force-pushed the feature/bencap/796/pipeline-operator-script branch from b62685a to c08d0c6 Compare August 12, 2026 19:19
@bencap
bencap merged commit ff25f3c into release-2026.2.7.1 Aug 12, 2026
4 of 5 checks passed
@bencap
bencap deleted the feature/bencap/796/pipeline-operator-script branch August 12, 2026 19:19
@bencap bencap mentioned this pull request Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: operator script for bulk pipeline re-runs across score set cohorts

2 participants