Skip to content

How Accurate Is Self Genetic Testing, and What Can You Do With the Raw Data?

Oak
A feathered reptile specimen on a dark studio pedestal, one side fully lit in sharp detail, the other lit only by scattered pinpoints of light.

Consumer genotyping arrays are accurate where they are designed to be accurate: common SNPs with good probe performance, typically above 99% concordance against sequencing at those sites. They are unreliable everywhere else. The raw data file you download contains calls at rare, clinically annotated positions that were never validated for that purpose, and confirmatory sequencing of such calls has found a large share of them to be false positives 1. If you plan to analyze your own genome rather than read a dashboard, skip the array and buy 30x whole-genome sequencing from a provider that returns FASTQ, an aligned BAM or CRAM, and a gVCF. Anything you would act on medically needs confirmation in a clinical (CLIA/CAP) lab and a conversation with a genetic counselor or physician.

Array versus sequencing, concretely

A consumer array (Illumina Global Screening Array and its custom add-ons) measures roughly 600,000 to 1 million preselected positions by hybridizing your DNA to probes and reading fluorescence per allele. The output is a tab-separated file with rsID, chromosome, position and genotype as two letters. That is about 0.02% of your 3.1 billion base genome, and the call at each site is a clustering decision. The call is not a direct read of sequence.

Thirty-fold whole-genome sequencing reads your DNA about 30 times over in 150 bp paired-end fragments. You get 4 to 5 million SNVs and indels genome-wide, per-site read depth, and the ability to re-call variants later with a better caller or a newer reference. You also get structural variants, mitochondrial heteroplasmy, and callable repeat expansions, none of which an array sees.

The practical difference for self-directed analysis: array data is a fixed set of answers to questions someone else chose in 2015. Sequencing data is evidence you can re-interrogate. When ClinVar reclassifies a variant from “uncertain significance” to “likely benign” (this happens constantly), you rerun annotation on your VCF and get a new answer for free.

Where consumer raw data breaks

Four failure modes matter if you are pulling a DTC file into a pipeline.

No-calls and dropouts. Arrays produce ”—” genotypes at sites where the intensity cluster is ambiguous. Rates vary by site and batch. A missing call is silently absent from downstream analysis unless you check.

Strand and reference mismatch. Vendor files are on GRCh37/hg19 with alleles reported on the probe’s design strand. Loading them into a GRCh38 pipeline without a liftover and a strand fix produces plausible-looking garbage, especially at A/T and C/G sites where flipping is invisible from the alleles alone. Use bcftools +fixref against the target reference and CrossMap or picard LiftoverVcf for coordinates, then confirm the reference-allele mismatch count drops to near zero.

Rare-variant false positives. Array clustering is calibrated on common variants. A pathogenic BRCA1 variant present in 1 in 10,000 people has almost no homozygous or heterozygous cluster to calibrate against in the vendor’s training set, so a single outlier intensity gets called as a variant. This is the core finding behind the warnings about DTC raw data 1. Treat any rare pathogenic-looking call from an array as a hypothesis requiring orthogonal confirmation, usually Sanger or targeted NGS in a clinical lab.

Imputation. Third-party interpretation services expand your 700k genotypes to 20 to 40 million by statistical imputation against a reference panel. Common variants impute well (r² > 0.9 above 5% frequency in well-matched ancestries). Rare variants impute badly, and accuracy degrades for people underrepresented in the panel. Imputed calls are inferences from your neighbors’ haplotypes, and most services do not label them as such in the export.

What to require from a sequencing provider

Ask for these before paying, in writing:

  • Raw FASTQ (R1/R2, gzip). A VCF alone is not enough, because without FASTQ you cannot realign or recall.
  • CRAM or BAM aligned to GRCh38, ideally the analysis set with alt contigs handled explicitly.
  • A gVCF. A filtered VCF alone is not enough. A gVCF encodes reference confidence at non-variant sites, so you can distinguish “reference” from “no data” at any position you care about later.
  • Mean coverage and the fraction of the genome at ≥10x and ≥20x. Run mosdepth yourself to verify.
  • Whether the lab is CLIA-certified, and whether this specific product was run as a clinical or research-use-only test. Research-use data cannot be used for clinical decisions without reconfirmation.

30x is the sensible target. At 15x, heterozygote sensitivity drops noticeably because a het site can draw all reference reads by chance. Above 40x you are mostly paying for diminishing returns unless you are chasing mosaicism.

A pipeline that works

Start from FASTQ even if you were handed a VCF, so you know the provenance of every call.

bwa-mem2 mem -t 32 -R '@RG\tID:L1\tSM:sample\tPL:ILLUMINA' \
  GRCh38_full_analysis_set.fa r1.fq.gz r2.fq.gz \
| samtools sort -@ 8 -m 2G -o sample.bam -
samtools index sample.bam
mosdepth -n --fast-mode -t 4 sample sample.bam

Call with DeepVariant rather than GATK HaplotypeCaller for a single sample. It is a single container, needs no BQSR or joint-calling cohort, and its indel precision on a lone genome is better in our hands.

docker run -v "$PWD":/d google/deepvariant:1.6.1 /opt/deepvariant/bin/run_deepvariant \
  --model_type=WGS --ref=/d/GRCh38_full_analysis_set.fa \
  --reads=/d/sample.bam --output_vcf=/d/sample.vcf.gz \
  --output_gvcf=/d/sample.g.vcf.gz --num_shards=32

Annotate with VEP (--cache --everything --assembly GRCh38), add gnomAD allele frequencies and ClinVar, then filter. A first pass that keeps the signal and drops the noise:

bcftools view -i 'FILTER="PASS" && INFO/gnomad_AF<0.001 && FORMAT/DP>=12' \
  sample.annot.vcf.gz \
| bcftools filter -i 'INFO/CLNSIG ~ "Pathogenic"' -o candidates.vcf

Expect a handful of hits, and expect most to be irrelevant. They will be carrier status for recessive conditions, variants annotated for a phenotype you do not have, or stale submissions with one supporting report. Read the ClinVar submission records. The aggregate label alone is not enough. Check review status (CLNREVSTAT). A two-star “criteria provided, multiple submitters, no conflicts” entry is a different object from a one-star single submission.

Two regions need specialized callers. CYP2D6 has a pseudogene and common hybrid alleles that break generic calling, so use Cyrius. Repeat expansions (HTT, FMR1, C9orf72) need ExpansionHunter with the provided variant catalog. Short-read data will still miss the largest expansions, so a negative is weaker evidence than a positive.

For polygenic scores, use pgsc_calc (the nf-core pipeline over the PGS Catalog) rather than hand-rolling plink2 --score. It handles build harmonization, strand ambiguity, and effect-allele orientation, which is where homemade scores usually go wrong. Then read your percentile against the ancestry group the score was derived in. Most published scores were trained on European-ancestry cohorts, and their variance explained drops substantially outside that group. A PRS percentile is a population statement, and it does not make a diagnosis.

What a genome tells a healthy person

Sequencing a healthy adult usually finds a small number of medically significant single-gene results plus a longer list of carrier states and uncertain findings, and the clinical management implications for most people are modest 2. The uncertain findings are the operational problem: variants of uncertain significance vastly outnumber confirmed pathogenic ones, and they do not resolve on your timeline.

What people report valuing from genomic testing is broader than clinical action: planning, knowledge about family, and a sense of control over information 3. That is a legitimate reason to sequence yourself. It is a different reason from “this will change my medical care,” and being clear about which one you hold will keep your expectations calibrated.

Questions people also ask

How accurate are at-home genetic tests? For common SNPs on the array, above 99% concordance. For rare, clinically annotated variants in the raw file, poor enough that a large fraction of positive calls do not replicate on confirmatory testing 1. Accuracy is a per-variant-class property. The product does not have a single accuracy number.

Are at-home genetic tests worth it? For ancestry and as an input to your own analysis, yes at the price. For health decisions, an array raw file is not a substitute for a clinical-grade test, and whole-genome sequencing with returned FASTQ gives you a dataset you can keep reanalyzing as databases improve.

Which at-home genetic testing is best? For self-directed analysis, whichever provider returns 30x WGS with FASTQ, a GRCh38 CRAM, and a gVCF, and states its CLIA status. Interpretation-only subscriptions built on top of imputed array data are the weakest option, because the underlying measurement limits everything downstream.

How accurate is a CVS DNA test? Pharmacy-shelf kits are the same array technology under a different brand, with the same profile: good at common variants, unreliable at rare ones, and generally no raw sequence returned.

Footnotes

  1. Amanda E. Toland. New Study Shows the Inaccuracy of At-Home Genetic Tests. Oncology Times, 2021. https://doi.org/10.1097/01.cot.0000767440.84698.b2 ↩ ↩2 ↩3

  2. Noralane M. Lindor, Stephen N. Thibodeau, Wylie Burke. Whole-Genome Sequencing in Healthy People. Mayo Clinic Proceedings, 2017. https://doi.org/10.1016/j.mayocp.2016.10.019 ↩

  3. Jennefer N. Kohler, Erin Turbitt, Barbara B. Biesecker. Personal utility in genomic testing: a systematic literature review. European Journal of Human Genetics, 2017. https://doi.org/10.1038/ejhg.2017.10 ↩

Oak builds longitudinal molecular profiles of individuals: whole-genome sequencing, blood RNA sequencing, and plasma proteomics, delivered as a detailed report plus every data file. Build your profile.