> 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.

# Comparison with Baseline Tools

If you want to compare output generated by NVIDIA Parabricks software with other counterpart
non-accelerated software, this section contains recommended ways to conduct comparisons.

## Comparing BAM Files

GATK4 sorts the BAM files based on QNAME, FLAG, RNAME, POS, MAPQ, MRNM/RNEXT, MPOS/PNEXT,
and ISIZE. If all these fields are the same for two different BAMs, they are considered
equal for sorting purposes. Therefore, to compare two sorted BAMs, use the BamUtil diff
tool to compare these fields:.

```sh
$ bam diff --in1 mark_dups_gpu.bam --in2 mark_dups_cpu.bam --noCigar --isize --flag --mate --mapQual
```

The output of this comparison should result in no differences.

## Comparing BQSR Reports

The files generated by Parabricks and GATK4 should be exactly the same. There should be
no output from the following command:

```sh
$ diff -w recal_gpu.txt recal_cpu.txt
```

## Comparing VCF Files

To compare VCF files, use the GATK Concordance tools to get sensitivity and specificity
of SNPs and INDELs. When the following command is run, variant accuracy results will be
stored in `out.txt`.

```sh
$ gatk Concordance \
    --evaluation result_gpu.vcf \
    --truth result_cpu.vcf \
    --summary out.txt
```

Refer to [Output Accuracy and Compatible CPU Software Versions](/about-parabricks/software-overview/output-accuracy-and-compatible-cpu-software-versions)
to learn more about comparing the output of Parabricks with that of the baseline code.