Skip to content

Add DeepSomatic - #355

Merged
yashpatel6 merged 26 commits into
mainfrom
yashpatel-add-deepsomatic
Sep 5, 2025
Merged

Add DeepSomatic#355
yashpatel6 merged 26 commits into
mainfrom
yashpatel-add-deepsomatic

Conversation

@yashpatel6

Copy link
Copy Markdown
Contributor

Description

Adding DeepSomatic

Testing Results

NFTest a_mini-deepsomatic - <dev-dir>/log-nftest-20250903T004241Z.log

Checklist

  • 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 manifest block in the nextflow.config as 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.md under the next release version or unreleased, and updated the date.

  • I have updated the version number in the metadata.yaml and manifest block of the nextflow.config file 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.

Copilot AI review requested due to automatic review settings September 3, 2025 02:08

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread module/deepsomatic-processes.nf
Comment thread module/deepsomatic-processes.nf
Comment thread module/deepsomatic-processes.nf Outdated
Comment thread config/resources.json
@github-actions

github-actions Bot commented Sep 3, 2025

Copy link
Copy Markdown

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:

  1. Automatically: Post a comment starting with "/fix-tests" (without the quotes) and I will update the tests for you (you must review my work afterwards).
  2. Manually: Follow these steps on Confluence.

@sorelfitzgibbon sorelfitzgibbon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a couple of comments

Comment thread module/deepsomatic-processes.nf
Comment thread module/deepsomatic-processes.nf
@wiz-inc-8da00b022c

wiz-inc-8da00b022c Bot commented Sep 4, 2025

Copy link
Copy Markdown

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities -
Data Finding Sensitive Data -
Total -

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

Comment thread module/deepsomatic-processes.nf Outdated
@yashpatel6

Copy link
Copy Markdown
Contributor Author

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

@yashpatel6
yashpatel6 merged commit f82b567 into main Sep 5, 2025
7 checks passed
@yashpatel6
yashpatel6 deleted the yashpatel-add-deepsomatic branch September 5, 2025 02:16
@sorelfitzgibbon

Copy link
Copy Markdown
Contributor

Tested on PCAWG SA190261, a 71x coverage tumor sample, runtime was 14h 7m. Six samples ran at a time and seem to have used all available memory, traces list ~27G. 20G was allocated.
/hot/software/pipeline/pipeline-call-sSNV/Nextflow/development/unreleased/sfitz-deepsomatic/DO15110-noBQSR-deepsomatic/call-sSNV-8.2.0/SA190261/log-call-sSNV-8.2.0-20250903T175436Z

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.

3 participants