> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/clara/parabricks/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/clara/parabricks/_mcp/server.

# deepsomatic

GPU-accelerated DeepSomatic

## What is DeepSomatic?

DeepSomatic builds on the deep learning-based variant caller DeepVariant. It processes aligned reads
from tumor and normal samples (in BAM or CRAM format), generates pileup image tensors, classifies
these tensors using a convolutional neural network, and outputs somatic variants in standard VCF or gVCF files.

DeepSomatic is designed for somatic variant calling using tumor-normal sequencing data.

Parabricks has enhanced Google DeepSomatic to leverage GPUs extensively. The Parabricks version of DeepSomatic
operates similarly to other common command line tools: it accepts two BAM files and a reference file as inputs
and generates variants in a VCF file as output.

Refer to the [deepsomatic Reference](#options) section for a detailed listing of all available options.

## Quick Start

```sh
# This command assumes all the inputs are in the current working directory and all the outputs go to the same place.
docker run --rm --gpus all --volume $(pwd):/workdir --volume $(pwd):/outputdir \
    --workdir /workdir \
    nvcr.io/nvidia/clara/clara-parabricks:4.7.1-1 \
    pbrun deepsomatic \
    --ref /workdir/${REFERENCE_FILE} \
    --in-tumor-bam /workdir/${INPUT_TUMOR_BAM} \
    --in-normal-bam /workdir/${INPUT_NORMAL_BAM} \
    --out-variants /outputdir/${OUTPUT_VCF}
```

## Compatible Google DeepSomatic Commands

The commands below are the Google counterpart of the Parabricks command above. The output
from these commands will be identical to the output from the above command. Refer to the
[Output Comparison](/about-parabricks/comparison-with-baseline-tools) page for comparing the results.

```sh
docker run \
--interactve \
--tty \
--rm \
--volume ${INPUT_DIR}:${INPUT_DIR} \
--volume ${OUTPUT_DIR}:${OUTPUT_DIR} \
--workdir /workdir google/deepsomatic:1.9.0 \
run_deepsomatic \
--ref ${REFERENCE_FILE} \
--reads_tumor ${TUMOR_BAM} \
--reads_normal ${NORMAL_BAM}  \
--model_type=WGS \
--output_vcf ${OUTPUT_VCF} \
--make_examples_extra_args "ws_use_window_selector_model=true" \
--num_shards=$(nproc)
```

## Models for Additional GPUs

Parabricks DeepSomatic supports the following models:

1. Short-read WGS
2. Short-read WES
3. PacBio
4. ONT

Parabricks DeepSomatic ships with model files for T4 and all GPUs that are Ampere or newer. Since v4.7, these model files are created using [TensorRT](https://developer.nvidia.com/tensorrt) 10.14.1.48.

## Source of Mismatches

While Parabricks DeepSomatic does not lose any accuracy in functionality when compared with Google
DeepSomatic there is one reason that can result in different output files.

* **CNN Inference**

Google DeepSomatic uses a CNN (convolutional neural network) to predict the possibilities of each variant candidate.
The model is trained, and does inference through, Keras. In Parabricks DeepSomatic we convert this Keras model to an
engine file with TensorRT to perform accelerated deep learning inferencing on NVIDIA GPUs. Because of the optimizations
from TensorRT, there is a small difference in the final possibility scores after inferencing (10^-5), which could cause
a few different variants in the final VCF output. Based on current observations, the mismatches only happen to
RefCalls with a quality score of zero.

## Options