Add DeepSomatic - #355
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR adds DeepSomatic variant caller support to the pipeline-call-sSNV workflow. DeepSomatic is a somatic variant calling tool that leverages deep learning to identify mutations in tumor-normal paired samples.
- Adds DeepSomatic as a new algorithm option alongside existing tools (somaticsniper, strelka2, mutect2, muse)
- Implements complete DeepSomatic workflow with interval splitting, variant calling, and VCF processing
- Includes test configuration and resource allocations for the new tool
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
module/deepsomatic.nf |
Main workflow module implementing DeepSomatic variant calling pipeline |
module/deepsomatic-processes.nf |
Process definitions for interval conversion and DeepSomatic execution |
main.nf |
Integration of DeepSomatic workflow into main pipeline |
test/config/a_mini-deepsomatic.config |
Test configuration for DeepSomatic algorithm |
nftest.yml |
Test case definition for DeepSomatic validation |
config/template.config |
Updated algorithm list to include deepsomatic |
config/schema.yaml |
Added deepsomatic to valid algorithm values |
config/resources.json |
Resource allocation definitions for DeepSomatic processes |
config/methods.config |
Updated valid algorithms list for paired samples |
config/default.config |
Added DeepSomatic version and Docker image configuration |
CHANGELOG.md |
Documentation of the new feature addition |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
Bleep bloop, I am a robot. Alas, some of the Nextflow configuration tests failed! test/configtest-F16.json@ ["params","base_allocations","call_sSNV_DeepSomatic"]
+ {"cpus":"4","memory":"15 GB"}
@ ["params","base_allocations","convert_IntervalListToBed_GATK"]
+ {"cpus":"1","memory":"1 GB"}
@ ["params","retry_information","call_sSNV_DeepSomatic"]
+ {"memory":{"operand":"10 GB","strategy":"add"}}
@ ["params","retry_information","convert_IntervalListToBed_GATK"]
+ {"memory":{"operand":"2","strategy":"exponential"}}
@ ["params","deepsomatic_version"]
+ "1.9.0"
@ ["params","docker_image_deepsomatic"]
+ "google/deepsomatic:1.9.0"
@ ["process","withName:call_sSNV_DeepSomatic"]
+ {"cpus":"4","memory":{"1":"15 GB","2":"25 GB","3":"31 GB","closure":"retry_updater(15 GB, add, 10 GB, $task.attempt, memory)"}}
@ ["process","withName:convert_IntervalListToBed_GATK"]
+ {"cpus":"1","memory":{"1":"1 GB","2":"2 GB","3":"4 GB","closure":"retry_updater(1 GB, exponential, 2, $task.attempt, memory)"}}
@ ["valid_algorithms",["set"],{}]
+ "deepsomatic"test/configtest-F32.json@ ["params","base_allocations","call_sSNV_DeepSomatic"]
+ {"cpus":"4","memory":"20 GB"}
@ ["params","base_allocations","convert_IntervalListToBed_GATK"]
+ {"cpus":"1","memory":"1 GB"}
@ ["params","retry_information","call_sSNV_DeepSomatic"]
+ {"memory":{"operand":"10 GB","strategy":"add"}}
@ ["params","retry_information","convert_IntervalListToBed_GATK"]
+ {"memory":{"operand":"2","strategy":"exponential"}}
@ ["params","deepsomatic_version"]
+ "1.9.0"
@ ["params","docker_image_deepsomatic"]
+ "google/deepsomatic:1.9.0"
@ ["process","withName:call_sSNV_DeepSomatic"]
+ {"cpus":"4","memory":{"1":"20 GB","2":"30 GB","3":"40 GB","closure":"retry_updater(20 GB, add, 10 GB, $task.attempt, memory)"}}
@ ["process","withName:convert_IntervalListToBed_GATK"]
+ {"cpus":"1","memory":{"1":"1 GB","2":"2 GB","3":"4 GB","closure":"retry_updater(1 GB, exponential, 2, $task.attempt, memory)"}}
@ ["valid_algorithms",["set"],{}]
+ "deepsomatic"If the above changes are surprising, stop and determine what happened. If the above changes are expected, there are two ways to fix this:
|
sorelfitzgibbon
left a comment
There was a problem hiding this comment.
Just a couple of comments
Wiz Scan Summary
To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension. |
|
Tested with reduced scatter count of 20 and there was no difference in the runtime; I'll merge these allocations as they are and they can be fine-tuned if needed |
|
Tested on PCAWG |
Description
Adding DeepSomatic
Testing Results
NFTest a_mini-deepsomatic -
<dev-dir>/log-nftest-20250903T004241Z.logChecklist
I have read the code review guidelines and the code review best practice on GitHub check-list.
I have reviewed the Nextflow pipeline standards.
The name of the branch is meaningful and well formatted following the standards, using [AD_username (or 5 letters of AD if AD is too long)]-[brief_description_of_branch].
I have set up or verified the branch protection rule following the github standards before opening this pull request.
I have added my name to the contributors listings in the
manifestblock in thenextflow.configas part of this pull request, am listed already, or do not wish to be listed. (This acknowledgement is optional.)I have added the changes included in this pull request to the
CHANGELOG.mdunder the next release version or unreleased, and updated the date.I have updated the version number in the
metadata.yamlandmanifestblock of thenextflow.configfile following semver, or the version number has already been updated. (Leave it unchecked if you are unsure about new version number and discuss it with the infrastructure team in this PR.)I have tested the pipeline on at least one A-mini sample.