Deepvariant#149
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR integrates DeepVariant (and DeepSomatic) into the lrsomatic pipeline and refactors small-variant calling / phasing logic by splitting former happhase subworkflows into dedicated tumor-only, paired, consensus, and phasing components. It also adds multiple nf-core module implementations (bcftools helpers, DeepVariant processes) plus nf-test coverage for the new modules/subworkflow.
Changes:
- Refactor
LRSOMATICsmall-variant calling into new subworkflows (tumor-only, paired germline/somatic, consensus, phasing/haplotyping) and wire outputs into downstream steps (VEP/Severus). - Add nf-core DeepVariant subworkflow and its component processes (makeexamples/callvariants/postprocessvariants) with tests.
- Introduce bcftools helper modules (norm/isec/query/annotate) and config wiring (including GPU toggle via
params.use_gpu).
Reviewed changes
Copilot reviewed 93 out of 94 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
| workflows/lrsomatic.nf | Rewires pipeline to new small-variant subworkflows and PoN handling. |
| subworkflows/nf-core/deepvariant/main.nf | Adds DeepVariant subworkflow wrapper around makeexamples/callvariants/postprocessvariants. |
| subworkflows/nf-core/deepvariant/meta.yml | Defines DeepVariant subworkflow I/O contract. |
| subworkflows/nf-core/deepvariant/README.md | Documents DeepVariant subworkflow usage and metadata-uniqueness requirement. |
| subworkflows/nf-core/deepvariant/deepvariant.diff | Patch tracking for nf-core DeepVariant subworkflow. |
| subworkflows/nf-core/deepvariant/tests/main.nf.test | Adds nf-test coverage for DeepVariant subworkflow. |
| subworkflows/nf-core/deepvariant/tests/main.nf.test.snap | Snapshot outputs for DeepVariant subworkflow tests. |
| subworkflows/nf-core/deepvariant/tests/equality.nf.test | Adds equality test comparing subworkflow vs DEEPVARIANT_RUNDEEPVARIANT process. |
| subworkflows/nf-core/deepvariant/tests/deepvariant-workflow-and-process-equality-tester.nf | Helper workflow to run both implementations and emit comparable outputs. |
| subworkflows/nf-core/deepvariant/tests/nextflow.config | Test-specific DeepVariant args configuration. |
| subworkflows/nf-core/deepvariant/tests/disable-small-model.conf | Test config to disable small-model generation. |
| subworkflows/local/tumor_only_happhase.nf | Removes prior tumor-only happhase implementation. |
| subworkflows/local/tumor_normal_happhase.nf | Removes prior paired (tumor-normal) happhase implementation. |
| subworkflows/local/tumor_only/tumoronly_smallvar.nf | New tumor-only small-variant calling (ClairS-TO / DeepVariant / DeepSomatic + consensus selection). |
| subworkflows/local/paired/paired_smallvar_germline.nf | New paired germline calling (Clair3 / DeepVariant + consensus selection). |
| subworkflows/local/paired/paired_smallvar_somatic.nf | New paired somatic calling (ClairS / DeepSomatic + consensus selection). |
| subworkflows/local/small_variant_consensus.nf | Adds consensus/all-variants merging logic using bcftools modules. |
| subworkflows/local/phasing_haplotyping.nf | Adds unified phasing/haplotyping + (optional) modcall flow for tumor-only and paired samples. |
| subworkflows/local/deepsomatic.nf | Adds DeepSomatic subworkflow wrapper (makeexamples/callvariants/postprocessvariants). |
| nextflow.config | Adds new pipeline params (germline_var_keep, somatic_var_keep, trust_caller, use_gpu, skip_modcall, PoN params). |
| nextflow_schema.json | Adds schema block for small-variant calling options. |
| conf/modules.config | Adds process-level config for new modules/subworkflows (DeepVariant, DeepSomatic, bcftools helpers, LongPhase split). |
| conf/test.config | Adds test-profile overrides to constrain regions for DeepVariant/DeepSomatic. |
| conf/base.config | Updates GPU configuration to be driven by params.use_gpu. |
| modules.json | Registers newly added nf-core modules/subworkflow and patch files. |
| .gitignore | Ignores out/ directory. |
| modules/nf-core/deepvariant/makeexamples/main.nf | Adds/patches DeepVariant makeexamples (incl. --sample_name). |
| modules/nf-core/deepvariant/makeexamples/meta.yml | Adds DeepVariant makeexamples module metadata. |
| modules/nf-core/deepvariant/makeexamples/deepvariant-makeexamples.diff | Patch tracking for DeepVariant makeexamples module. |
| modules/nf-core/deepvariant/makeexamples/tests/nextflow.config | Test configuration for DeepVariant makeexamples. |
| modules/nf-core/deepvariant/makeexamples/tests/main.nf.test | nf-test coverage for DeepVariant makeexamples. |
| modules/nf-core/deepvariant/makeexamples/tests/main.nf.test.snap | Snapshots for DeepVariant makeexamples tests. |
| modules/nf-core/deepvariant/callvariants/main.nf | Adds/patches DeepVariant callvariants (GPU/noaccel label selection). |
| modules/nf-core/deepvariant/callvariants/meta.yml | Adds DeepVariant callvariants module metadata. |
| modules/nf-core/deepvariant/callvariants/deepvariant-callvariants.diff | Patch tracking for DeepVariant callvariants module. |
| modules/nf-core/deepvariant/callvariants/tests/nextflow.config | Test configuration for DeepVariant callvariants. |
| modules/nf-core/deepvariant/callvariants/tests/main.nf.test | nf-test coverage for DeepVariant callvariants. |
| modules/nf-core/deepvariant/callvariants/tests/main.nf.test.snap | Snapshots for DeepVariant callvariants tests. |
| modules/nf-core/deepvariant/postprocessvariants/main.nf | Adds/patches DeepVariant postprocessvariants (incl. --sample_name). |
| modules/nf-core/deepvariant/postprocessvariants/meta.yml | Adds DeepVariant postprocessvariants module metadata. |
| modules/nf-core/deepvariant/postprocessvariants/deepvariant-postprocessvariants.diff | Patch tracking for DeepVariant postprocessvariants module. |
| modules/nf-core/deepvariant/postprocessvariants/tests/nextflow.config | Test configuration for DeepVariant postprocessvariants. |
| modules/nf-core/deepvariant/postprocessvariants/tests/main.nf.test | nf-test coverage for DeepVariant postprocessvariants. |
| modules/nf-core/deepvariant/postprocessvariants/tests/main.nf.test.snap | Snapshots for DeepVariant postprocessvariants tests. |
| modules/nf-core/bcftools/norm/main.nf | Adds bcftools norm module used for normalization and indexing logic. |
| modules/nf-core/bcftools/norm/meta.yml | Metadata for bcftools norm module. |
| modules/nf-core/bcftools/norm/environment.yml | Conda env for bcftools norm module. |
| modules/nf-core/bcftools/norm/tests/nextflow.config | Test defaults for bcftools norm. |
| modules/nf-core/bcftools/norm/tests/nextflow.vcf.config | Test config for VCF output mode. |
| modules/nf-core/bcftools/norm/tests/nextflow.vcf_gz.config | Test config for VCF.GZ output mode. |
| modules/nf-core/bcftools/norm/tests/nextflow.bcf.config | Test config for BCF output mode. |
| modules/nf-core/bcftools/norm/tests/nextflow.bcf_gz.config | Test config for BCF.GZ output mode. |
| modules/nf-core/bcftools/norm/tests/vcf_gz_index.config | Test config for default index writing. |
| modules/nf-core/bcftools/norm/tests/vcf_gz_index_tbi.config | Test config for TBI index writing. |
| modules/nf-core/bcftools/norm/tests/vcf_gz_index_csi.config | Test config for CSI index writing. |
| modules/nf-core/bcftools/isec/main.nf | Adds bcftools isec module with extra emitted outputs for consensus/private sets. |
| modules/nf-core/bcftools/isec/meta.yml | Metadata for bcftools isec module. |
| modules/nf-core/bcftools/isec/environment.yml | Conda env for bcftools isec module. |
| modules/nf-core/bcftools/isec/bcftools-isec.diff | Patch tracking for bcftools isec module. |
| modules/nf-core/bcftools/isec/tests/nextflow.config | Test args for bcftools isec module. |
| modules/nf-core/bcftools/isec/tests/main.nf.test | nf-test coverage for bcftools isec module. |
| modules/nf-core/bcftools/isec/tests/main.nf.test.snap | Snapshots for bcftools isec tests. |
| modules/nf-core/bcftools/query/main.nf | Adds bcftools query module that bgzips + tabix-indexes output. |
| modules/nf-core/bcftools/query/meta.yml | Metadata for bcftools query module. |
| modules/nf-core/bcftools/query/environment.yml | Conda env for bcftools query module. |
| modules/nf-core/bcftools/query/bcftools-query.diff | Patch tracking for bcftools query module. |
| modules/nf-core/bcftools/query/tests/nextflow.config | Test args for bcftools query module. |
| modules/nf-core/bcftools/query/tests/main.nf.test | nf-test coverage for bcftools query module. |
| modules/nf-core/bcftools/query/tests/main.nf.test.snap | Snapshots for bcftools query tests. |
| modules/nf-core/bcftools/annotate/main.nf | Adds bcftools annotate module (annotate + output type/index handling). |
| modules/nf-core/bcftools/annotate/meta.yml | Metadata for bcftools annotate module. |
| modules/nf-core/bcftools/annotate/environment.yml | Conda env for bcftools annotate module. |
| modules/nf-core/bcftools/annotate/tests/nextflow.config | Test config for bcftools annotate module. |
| modules/nf-core/bcftools/annotate/tests/main.nf.test.snap | Snapshots for bcftools annotate tests. |
| modules/nf-core/bcftools/merge/main.nf | Adjusts bcftools merge input signature for fasta/fai separation. |
| modules/nf-core/bcftools/merge/bcftools-merge.diff | Patch tracking for bcftools merge input change. |
| modules/nf-core/longphase/phase/main.nf | Adjusts tabix indexing to handle multiple LongPhase outputs. |
| modules/nf-core/severus/main.nf | Fixes output filename patterns (breakpoint(s) naming). |
| modules/local/clairsto/main.nf | Updates ClairS-TO module to accept PoN VCFs/flags and set --sample_name. |
| modules/local/clairs/main.nf | Adds --sample_name support via prefix. |
| modules/local/clair3/main.nf | Adds GPU/noaccel label and passes --sample_name. |
| modules/local/vcfsplit/main.nf | Updates non-somatic filtering expression before constructing germline VCF. |
| modules/local/longphase/modcall/main.nf | Adds LongPhase modcall module. |
| modules/local/fibertoolsrs/predictm6a/main.nf | Adds GPU/noaccel label selection. |
| modules/local/fibertoolsrs/nucleosomes/main.nf | Adds GPU/noaccel label selection. |
| modules/local/fibertoolsrs/fire/main.nf | Adds GPU/noaccel label selection. |
| modules/local/deepsomatic/makeexamples/main.nf | Adds DeepSomatic makeexamples module. |
| modules/local/deepsomatic/callvariants/main.nf | Adds DeepSomatic callvariants module (GPU/noaccel label selection). |
| modules/local/deepsomatic/postprocessvariants/main.nf | Adds DeepSomatic postprocessvariants module. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
ljwharbers
reviewed
Mar 27, 2026
ljwharbers
approved these changes
Mar 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR checklist
nf-core pipelines lint).nextflow run . -profile test,docker --outdir <OUTDIR>).nextflow run . -profile debug,test,docker --outdir <OUTDIR>).docs/usage.mdis updated.docs/output.mdis updated.CHANGELOG.mdis updated.README.mdis updated (including new tool citations and authors/contributors).