mutectcaller
This tool is an accelerated version of the GATK somatic variant caller, Mutect2, which takes aligned BAMs from the FQ2BAM tool, and outputs a VCF file. This can take as input either a single (“tumor-only”) BAM, or a pair of BAMs (“tumor-normal”) to provide a baseline to call somatic variants against.
The figure below shows the high-level functionality of mutectcaller. All dotted boxes indicate optional data, with some constraints.
# This command assumes all the inputs are in <INPUT_DIR> and all the outputs go to <OUTPUT_DIR>.
$ docker run --rm --gpus all --volume <INPUT_DIR>:/workdir --volume <OUTPUT_DIR>:/outputdir
-w /workdir \
nvcr.io/nvidia/clara/clara-parabricks:v4.0.1-1 \
pbrun mutectcaller \
--ref /workdir/${REFERENCE_FILE} \
--tumor-name tumor \
--in-tumor-bam /workdir/${INPUT_TUMOR_BAM} \
--in-normal-bam /workdir/${INPUT_NORMAL_BAM} \
--normal-name normal \
--out-vcf /outputdir/${OUTPUT_VCF}
The command below is the GATK4 counterpart of the Parabricks command above. The output from this command will be identical to the output from the above command. See the Output Comparison page for comparing the results.
$ gatk Mutect2 \
-R <INPUT_DIR>/${REFERENCE_FILE} \
--input <INPUT_DIR>/${INPUT_TUMOR_BAM} \
--tumor-sample tumor \
--input <INPUT_DIR>/${INPUT_NORMAL_BAM} \
--normal-sample normal \
--output <OUTPUT_DIR>/${OUTPUT_VCF}
Parabricks Mutect2 from version 3.7.0-1 has started supporting Panel of Normals to process variants. There are three steps involved:
prepon
running mutectcaller with the index generated by prepon
postpon, updating the vcf with pon information
# The first command will generate input.pon that should be done once for the input.vcf.gz
# This command assumes all the inputs are in <INPUT_DIR> and all the outputs go to <OUTPUT_DIR>.
$ docker run --rm --gpus all --volume <INPUT_DIR>:/workdir --volume <OUTPUT_DIR>:/outputdir
-w /workdir \
nvcr.io/nvidia/clara/clara-parabricks:v4.0.1-1 \
pbrun prepon --in-pon-file /workdir/${INPUT_PON_VCF}
# Run mutectcaller with the pon index
# This command assumes all the inputs are in <INPUT_DIR> and all the outputs go to <OUTPUT_DIR>.
$ docker run --rm --gpus all --volume <INPUT_DIR>:/workdir --volume <OUTPUT_DIR>:/outputdir
-w /workdir \
nvcr.io/nvidia/clara/clara-parabricks:v4.0.1-1 \
pbrun mutectcaller \
--ref /workdir/${REFERENCE_FILE} \
--tumor-name tumor \
--in-tumor-bam /workdir/${INPUT_TUMOR_BAM} \
--in-normal-bam /workdir/${INPUT_NORMAL_BAM} \
--pon /workdir/${INPUT_PON_VCF} \
--normal-name normal \
--out-vcf /outputdir/${OUTPUT_VCF}
# Add the annotation to the output.vcf generated above
# This command assumes all the inputs are in <INPUT_DIR> and all the outputs go to <OUTPUT_DIR>.
$ docker run --rm --gpus all --volume <INPUT_DIR>:/workdir --volume <OUTPUT_DIR>:/outputdir
-w /workdir \
nvcr.io/nvidia/clara/clara-parabricks:v4.0.1-1 \
pbrun postpon \
--in-vcf /workdir/${OUTPUT_VCF} \
--in-pon-file /workdir/${INPUT_PON_FILE} \
--out-vcf /outputdir/${OUTPUT_ANNOTATED_VCF}
Run GPU mutect2 to convert BAM/CRAM to vcf
Input/Output file options
- --ref REF
-
Path to the reference file. (default: None)
Option is required.
- --out-vcf OUT_VCF
-
Path of the VCF file after Variant Calling. (default: None)
Option is required.
- --in-tumor-bam IN_TUMOR_BAM
-
Path of the BAM/CRAM file for tumor reads. (default: None)
Option is required.
- --in-normal-bam IN_NORMAL_BAM
-
Path of the BAM/CRAM file for normal reads. (default: None)
- --in-tumor-recal-file IN_TUMOR_RECAL_FILE
-
Path of the report file after Base Quality Score Recalibration for tumor sample. (default: None)
- --in-normal-recal-file IN_NORMAL_RECAL_FILE
-
Path of the report file after Base Quality Score Recalibration for normal sample. (default: None)
- --interval-file INTERVAL_FILE
-
Path to an interval file in one of these formats: Picard-style (.interval_list or .picard), GATK-style (.list or .intervals), or BED file (.bed). This option can be used multiple times. (default: None)
- --pon PON
-
Path of the vcf.gz PON file. Make sure you run prepon first and there is a '.pon' file already. (default: None)
Tool Options:
- --ploidy PLOIDY
-
Ploidy assumed for the BAM file. Currently only haploid (ploidy 1) and diploid (ploidy 2) are supported. (default: 2)
- --max-mnp-distance MAX_MNP_DISTANCE
-
Two or more phased substitutions separated by this distance or less are merged into MNPs. (default: 1)
- --mutectcaller-options MUTECTCALLER_OPTIONS
-
Pass supported mutectcaller options as one string. The following are currently supported original mutectcaller options: -pcr-indel-model <NONE, HOSTILE, AGGRESSIVE, CONSERVATIVE> (e.g. --mutectcaller-options="-pcr-indel-model HOSTILE"). (default: None)
- --tumor-name TUMOR_NAME
-
Name of the sample for tumor reads. This MUST match the SM tag in the tumor BAM file. (default: None)
Option is required.
- --normal-name NORMAL_NAME
-
Name of the sample for normal reads. If specified, this MUST match the SM tag in the normal BAM file. (default: None)
- -L INTERVAL, --interval INTERVAL
-
Interval within which to call the variants from the BAM/CRAM file. All intervals will have a padding of 100 to get read records, and overlapping intervals will be combined. Interval files should be passed using the --interval-file option. This option can be used multiple times (e.g. "-L chr1 -L chr2:10000 -L chr3:20000+ -L chr4:10000-20000"). (default: None)
- -ip INTERVAL_PADDING, --interval-padding INTERVAL_PADDING
-
Amount of padding (in base pairs) to add to each interval you are including. (default: None)
Common options:
- --logfile LOGFILE
-
Path to the log file. If not specified, messages will only be written to the standard error output. (default: None)
- --tmp-dir TMP_DIR
-
Full path to the directory where temporary files will be stored.
- --with-petagene-dir WITH_PETAGENE_DIR
-
Full path to the PetaGene installation directory. By default, this should have been installed at /opt/petagene. Use of this option also requires that the PetaLink library has been preloaded by setting the LD_PRELOAD environment variable. Optionally set the PETASUITE_REFPATH and PGCLOUD_CREDPATH environment variables that are used for data and credentials (default: None)
- --keep-tmp
-
Do not delete the directory storing temporary files after completion.
- --no-seccomp-override
-
Do not override seccomp options for docker (default: None).
- --version
-
View compatible software versions.
GPU options:
- --num-gpus NUM_GPUS
-
Number of GPUs to use for a run. GPUs 0..(NUM_GPUS-1) will be used.