CheckFingerprint

Check Sample Identity with CheckFingerprint

CheckFingerprint is broadly based on Picard CheckFingerprint. CheckFingerprint will output LOD score to indicate whether all the genetic data between two files from the same individual or not.

If LOD score is positive, those two samples come from the same individual. Otherwise, those two samples come from different individuals.

In general, the sign of LOD in summary file should be consistent with Picard CheckFingerprint summary file, but the exact values may be different.

Validation were done on whole-genome sequencing (WGS) data, mixing WGS samples and whole exon sequencing data.

Usage

Modes

The checks can run in one of two modes:

  • Read comparison mode. Aligned reads are compared with the expected VCF

  • VCF comparison mode. Output VCF is compared with the expected VCF

Options

To enable CheckFingerprint module, the following command-line options are required.

  • --enable-checkfingerprint true

  • --checkfingerprint-expected-vcf [path_to_expected_sample_vcf]

Read comparison mode is enabled by default. Read comparison mode is recommended to use for small dataset or whole exon sequencing data.

To switch to VCF comparison mode, use the following options

  • --checkfingerprint-enable-vcf-comparison true

  • --enable-variant-caller true

Vcf comparison mode is recommended to use for larger samples, such as whole-genome sequencing data with average 30 coverage or whole exon sequencing data.

Command-line Examples

Read mode. Input BAM/FASTQ/CRAM, examine the individual reads in input sample, and compare individual reads with expected VCF file.

./bin/dragen -r /staging/human/reference/hg38_alt_aware/DRAGEN/8 -b [bam] --output-directory [output_dir] \
--output-file-prefix [output_prefix] --enable-checkfingerprint true --checkfingerprint-expected-vcf [input_expected_vcf]

VCF mode. Input BAM/FASTQ/CRAM, generate a VCF file first, and compare the VCF file with expected VCF file

./bin/dragen -r /staging/human/reference/hg38_alt_aware/DRAGEN/8 -b [bam] --output-directory [output_dir] \
--output-file-prefix [output_prefix] --enable-checkfingerprint true --checkfingerprint-expected-vcf [input_expected_vcf] \
--checkfingerprint-enable-vcf-comparison true --enable-variant-caller true

VCF mode. Input an observed VCF file, and compare observed VCF file with expected VCF file

./bin/dragen -r /staging/human/reference/hg38_alt_aware/DRAGEN/8 -b [bam] --output-directory [output_dir] \
--output-file-prefix [output_prefix] --enable-checkfingerprint true --checkfingerprint-expected-vcf [input_expected_vcf] \
--checkfingerprint-observed-vcf [input_observed_vcf]

Inputs

The input files used by DRAGEN CheckFingerprint are: a) haplotype map (configuration files), b) FASTQ/BAM/CRAM (user input) or observed VCF file (user input), c) expected VCF file (user input).

a) Haplotype Map

Haplotype maps for hg19, hg38 and chm13 are files that are packaged with DRAGEN and automatically selected by the software. The haplotype map is a set of SNPs grouped into haplotyp blocks (also known as linkage disequilibrium blocks). SNPs in haplotye map is used as fingerprinting.

The following columns are of interest:

b) Sample Input

Samples are input from bam/cram/fastq or observed vcf files.

The following command-line example uses FASTQ input:

dragen \
	-r /staging/human/reference/hg38_alt_aware/DRAGEN/8 \
	--fastq-file1 /staging/test/data/NA12878_R1.fastq \
	--fastq-file2 /staging/test/data/NA12878_R2.fastq \
	--output-directory /staging/test/output \
	--output-file-prefix NA12878_dragen \
	--RGID DRAGEN_RGID \
	--RGSM NA12878 \
	--enable-checkfingerprint true \
 --checkfingerprint-expected-vcf [input_expected_vcf] \
 --checkfingerprint-enable-vcf-comparison true \
 --enable-variant-caller true

The following command-line example uses vcf input:

dragen \
	-r /staging/human/reference/hg38_alt_aware/DRAGEN/8 \
	--output-directory /staging/test/output \
	--output-file-prefix NA12878_dragen \
	--enable-checkfingerprint true \
 --checkfingerprint-expected-vcf [input_expected_vcf] \
 --checkfingerprint-observed-vcf [input_observed_vcf] \

c) Expected Vcf Input

Vcf output from dragen is recommended. It can contains multiple samples. Multiple sample vcfs can combine together and input here --checkfingerprint-expected-vcf Checkfingerprint calculates LOD between input sample (bam/cram/fastq or vcf) and each sample in expected_vcf file.

Outputs

There are two main output files:

  • [output-file-prefix].CheckFingerprint.summary.txt : contains LOD scores between input sample and expected sample

  • [output-file-prefix].CheckFingerprint.detail.txt : contains LOD scores between individual SNPs.

CheckFingerprint.detail.txt example

READ_GROUP EXPECTED_SAMPLE SNP SNP_ALLELES CHROM POSITION EXPECTED_GENOTYPE OBSERVED_GENOTYPE LOD OBS_A OBS_B

IGNORE hg002 chr1:274 AG 1 908025 AG AA 0.0799204 0 0

IGNORE hg002 chr1:308 GA 1 916119 GG GG 0.350172 0 0

IGNORE hg002 chr1:473 CT 1 984039 CT CC 0.39524 0 0  

CheckFingerprint.summary.txt example LOD_EXPECTED_SAMPLE is the LOD score between two samples

READ_GROUP EXPECTED_SAMPLE LL_EXPECTED_SAMPLE LL_RANDOM_SAMPLE LOD_EXPECTED_SAMPLE HAPLOTYPES_WITH_GENOTYPES HAPLOTYPES_CONFIDENTLY_CHECKED HAPLOTYPES_CONFIDENTLY_MATCHING HET_AS_HOM HOM_AS_HET HOM_AS_OTHER_HOM

IGNORE hg002 -568.153 -105.25 -462.903 12558 122 49 51 15 7

Method of Operation

CheckFingerprint calculates the LOD score to identify whether two samples are from the same individual or not. A positive value indicates those two samples are from the same individual. A negative value indicates two samples are not match. LOD is in logarithmic scale (base 10). Thus, a LOD of 4 indicates it is 10,000 more likely that data matches the genotypes than not. A score that is close to 0 is inconclusive that can result from low coverage or missing informative genotypes. The identity check takes advantage of haplotype blocks defined in configuration file (hg38_nochr.map,hg19_nochr.map). It can improve statistic power for identity detection by checking SNPs in haplotype blocks.

In VCF mode, CheckFingerprint uses PL to estimate genotype probabilities.

Limitaions: Currently, Vcf mode is designed for whole genome sequencing samples with 30 coverage; Read mode is designed for whole exome sequencing. Larger datasets may encounter timeout errors. Vcf mode is recommended for general use. Read mode should be used in isolation without other components enabled and should only be used if Vcf mode does not provide sufficient accuracy.

Last updated