Multicaller Workflows
DRAGEN supports running multiple tools in a single workflow.
The enable-component flag controls which components are enabled or disabled. DRAGEN constructs a workflow using the enabled components and automatically resolves any component inconsistencies. When possible, DRAGEN runs components in parallel.
Each component has a set of options that configures input settings, internal algorithm parameters, or output files and filtering criteria. Refer to the individual component sections for more details.
As an example, a different BED file may be provided separately for each caller:
• | cnv-target-bed |
• | sv-call-regions-bed |
• | vc-target-bed |
Some options, such as output-directory and sample-sex, are shared amongst callers.
Each variant caller produces its own set of VCFs and metric output files.

enable-map-align
enable-sort
enable-duplicate-marking
enable-variant-caller
enable-cnv
enable-sv

DRAGEN accepts the following common standard NGS input formats:
• | FASTQ (fastq-file1 and fastq-file2) |
• | FASTQ List (fastq-list) |
• | BAM (bam-input) |
• | CRAM (cram-input) |
Somatic workflows can use tumor equivalent input files (eg, tumor-bam-input).
When running from unaligned reads, the reads first go through the map/align component to produce alignments which continue downstream to the variant callers. When running from prealigned reads, DRAGEN supports re-aligning with the map/align component or using the existing alignments from the source input.

The following example demonstrates best practices for combining command line options from single caller scenarios to create a multicaller workflow. The example consists of the following steps:
• | Configure the INPUT options. |
• | Configure the OUTPUT options. |
• | Configure MAP/ALIGN depending on if realignment is desired or not. |
• | Configure the VARIANT CALLERs based on the application. |
• | Build up the necessary options for each component separately, to enable reuse in the final command line. |
The following are partial templates that can be used as starting points. Adjust them accordingly for your specific use case.
#!/bin/bash
set -euo pipefail
DRAGEN_HASH_TABLE=<REF_DIR>
FASTQ1=<fastq1>
FASTQ2=<fastq2>
RGSM=<RGSM>
RGID=<RGID>
OUTPUT=<OUT_DIR>
PREFIX=<OUT_PREFIX>
INPUT_OPTIONS="
--ref-dir $DRAGEN_HASH_TABLE \
--fastq-file1 $FASTQ1 \
--fastq-file2 $FASTQ2 \
--RGSM $RGSM \
--RGID $RGID \
"
OUTPUT_OPTIONS="
--output-directory $OUTPUT \
--output-file-prefix $PREFIX \
"
MA_OPTIONS="
--enable-map-align true \
... <any other optional settings> \
"
CNV_OPTIONS="
--enable-cnv true \
... <any other optional settings> \
"
SNV_OPTIONS="
--enable-variant-caller true \
... <any other optional settings> \
"
SV_OPTIONS="
--enable-sv true \
... <any other optional settings> \
"
CMD="
dragen \
$INPUT_OPTIONS \
$OUTPUT_OPTIONS \
$MA_OPTIONS \
$CNV_OPTIONS \
$SNV_OPTIONS \
$SV_OPTIONS \
"
echo $CMD
bash -c $CMD

The following table summarizes the support for some input formats and variant callers. Some supported features and callers are not listed in the table.
GERMLINE |
FASTQ with Map/Align |
BAM/CRAM |
BAM/CRAM with Map/Align |
CNV + SNV |
Supported |
Supported |
Supported |
CNV + SV |
Supported |
Supported |
Supported |
SNV + SV |
Supported |
Supported |
Supported |
CNV + SNV + SV |
Supported |
Supported |
Supported |

Somatic workflows specify both tumor and normal inputs. The need for potentially two input files (tumor and matched normal) as well as the need for a matched normal SNV VCF for the Somatic CNV caller means extra care has to be taken.
One recommended tumor/normal workflow first starts with running matched normal through Germline Workflow.
1. | Run matched normal through Germline workflow (CNV + SNV + SV + ...). The workflow generates the matched normal SNV VCF. |
2. | Run tumor and matched normal through Somatic workflow (CNV + SNV + SV + ...) |
Optionally, a full tumor/normal analysis can be done in a single execution if both the SNV and CNV modules are enabled, by leveraging the BAF information directly from the small variant caller. See the Somatic CNV section for more details. In brief, this requires the use of --enable-variant-caller true and --cnv-use-somatic-vc-baf true.
#!/bin/bash
set -euo pipefail
DRAGEN_HASH_TABLE=<REF_DIR>
TUMOR_BAM=<TUMOR_BAM>
NORMAL_BAM=<NORMAL_BAM>
OUTPUT=<OUT_DIR>
PREFIX=<OUT_PREFIX>
INPUT_OPTIONS="
--ref-dir $DRAGEN_HASH_TABLE \
--tumor-bam-input $TUMOR_BAM \
--bam-input $NORMAL_BAM \
"
OUTPUT_OPTIONS="
--output-directory $OUTPUT \
--output-file-prefix $PREFIX \
"
MA_OPTIONS="
--enable-map-align false \
... <any other optional settings> \
"
CNV_OPTIONS="
--enable-cnv true \
... <any other optional settings> \
"
SNV_OPTIONS="
--enable-variant-caller true \
... <any other optional settings> \
"
SV_OPTIONS="
--enable-sv true \
... <any other optional settings> \
"
CMD="
dragen \
$INPUT_OPTIONS \
$OUTPUT_OPTIONS \
$MA_OPTIONS \
$CNV_OPTIONS \
$SNV_OPTIONS \
$SV_OPTIONS \
"
echo $CMD
bash -c $CMD
The following table lists the various combinations that are supported under the tumor/normal mode of operation.
Tumor normal |
FASTQ with Map/Align |
BAM/CRAM |
BAM/CRAM with Map/Align |
CNV + SNV |
Supported |
Supported |
Not Supported |
CNV + SV |
Supported |
Supported |
Not Supported |
SNV + SV |
Supported |
Supported |
Not Supported |
CNV + SNV + SV |
Supported |
Supported |
Not Supported |
To run in tumor only mode, remove the matched normal input from the INPUT options and configure each individual caller to run in tumor only mode. The following table lists the combinations that are supported under the tumor only mode of operation.
Tumor Only |
FASTQ with Map/Align |
BAM/CRAM |
BAM/CRAM with Map/Align |
CNV + SNV |
Supported |
Supported |
Supported |
CNV + SV |
Supported |
Supported |
Supported |
SNV + SV |
Supported |
Supported |
Supported |
CNV + SNV + SV |
Supported |
Supported |
Supported |
WES analysis is supported if the mode is supported in singe caller mode and there is no input configuration conflict.
For WES analysis, CNV requires a panel of normals regardless of whether it is Tumor Normal or Tumor Only analysis.