Skip to content

Genetic Testing Websites: What They Measure and Which Data Is Worth Having

Oak
Three lab instruments in a row: a plate of sparse glowing dots, a short clamped glowing ribbon, and a reel unspooling one continuous luminous thread.

The websites selling DNA tests fall into three categories that share almost nothing technically: consumer genotyping arrays (23andMe, AncestryDNA, MyHeritage), clinical sequencing panels ordered through a lab (Invitae/Labcorp, GeneDx, Color), and whole-genome sequencing. If you want ancestry estimates and a file you can re-analyze, an array is fine and costs under $150. If you want a specific clinical question answered, a CLIA panel with a clinician attached is the only correct answer. If you want data that stays useful for a decade and supports arbitrary future questions, you want a 30x PCR-free whole genome and the CRAM, not just the VCF. Arrays and genomes are not the same measurement with different resolution. They are different instruments.

What each tier measures

A consumer array genotypes a fixed set of pre-selected sites, roughly 600,000 to 700,000 of them, using allele-specific probes on an Illumina chip. The site list is built from common variation catalogued by the SNP mapping efforts of the early 2000s and their successors 1. Every site was chosen in advance. If a variant is not on the chip, the assay is silent about it, and “not reported” reads identically to “reference.”

Clinical panels sequence a targeted set of genes, usually by hybrid capture, at high depth (often 100x+) with Sanger or orthogonal confirmation of reportable findings, plus deletion/duplication analysis via MLPA or read-depth calling. The output you receive is a PDF report classifying variants on the five-tier ACMG/AMP scale. Some labs will release a VCF or BAM on request. Many will not.

Whole-genome sequencing reads the genome in short fragments and aligns them, producing roughly 4 to 5 million variant calls per person against the reference. Deep WGS in a population that has not been heavily sequenced yields large numbers of variants absent from existing databases, which is exactly the class of variation arrays cannot see 2. That is the argument for sequencing over genotyping stated compactly: rare variation is where the per-person signal is, and rare variation is not on the chip.

The files you get, and what to do with them

23andMe and AncestryDNA both return a TSV on GRCh37. The 23andMe format is rsid, chromosome, position, genotype with no-calls as --. AncestryDNA splits the genotype into allele1 and allele2 and encodes no-calls as 0. Neither is a VCF, and neither carries strand or reference-allele information, which is the first thing that bites you.

Convert with bcftools against the exact reference build:

bcftools convert --tsv2vcf genome_v5_Full.txt \
  -f human_g1k_v37.fasta -s ME -Oz -o me.b37.vcf.gz
bcftools index me.b37.vcf.gz
bcftools +fixref me.b37.vcf.gz -Oz -o me.fixed.vcf.gz -- \
  -f human_g1k_v37.fasta -m flip -d

+fixref matters. Array genotypes are reported on the chip’s design strand, and A/T and C/G sites are palindromic, so a naive conversion silently flips a subset of your calls. Check the -m flip swap counts in the log. If more than a few percent of sites need flipping without resolving, your reference build is wrong.

Then lift to GRCh38 (CrossMap vcf hg19ToHg38.over.chain.gz) because ClinVar, gnomAD, and most current tooling default there. Annotate offline with VEP:

vep -i me.b38.vcf.gz --cache --offline --assembly GRCh38 \
  --everything --custom clinvar.vcf.gz,ClinVar,vcf,exact,0,CLNSIG,CLNREVSTAT \
  --vcf -o me.annot.vcf

For polygenic scores, pull a scoring file from the PGS Catalog and run plink2 --score weights.txt cols=+scoresums --score-col-nums 3. Standardize against a matched-ancestry reference set from 1000 Genomes, because a raw sum is meaningless without a distribution. Scores derived in European cohorts lose a large fraction of their predictive value when applied to African-ancestry genomes, and no amount of local compute fixes that.

Imputation, and its exact limits

You can raise a 650k-site array to tens of millions of genotypes with the TOPMed or Michigan imputation servers (Eagle for phasing, Minimac4 for imputation). This is genuinely useful for polygenic scores and for GWAS-hit lookups. Filter on R2 >= 0.8 and treat everything below that as absent.

Imputation works by matching your haplotypes against a reference panel, so it reconstructs common variants well and rare variants badly. At minor allele frequency below about 0.5%, r² collapses, and a pathogenic variant with population frequency of 1 in 10,000 is not recoverable by any panel. Imputed calls are posterior probabilities, not observations. Do not carry an imputed genotype into any clinical conversation.

”Most accurate” is the wrong question

Per-genotype concordance on array sites is above 99% for all the major consumer vendors. The chips are the same commodity hardware. Accuracy differences between 23andMe and AncestryDNA at the genotype level are not the thing that determines whether the result is right.

The failure mode that matters is positive predictive value for rare variants in raw array data. Array genotype calls come from clustering fluorescence intensities across a plate of samples. For a variant carried by one person in 5,000, there are almost no heterozygotes to define a cluster, so the call is made by extrapolation. A “pathogenic” allele appearing in your downloaded raw file at a site like BRCA1 c.68_69delAG is more likely to be a clustering artifact than a real finding. If a raw data file or a third-party interpretation site tells you that you carry a pathogenic variant, that result is unconfirmed until a CLIA lab sequences the site directly, and you need a genetic counselor or physician to interpret it.

Sequencing has a different failure profile. Short reads at 30x miss a small percentage of coding bases, particularly GC-rich first exons, and they mis-map in regions with pseudogene homology (PMS2, SMN1, CYP21A2). Repeat expansions and many structural variants need long reads or specialized callers. Interpretation is the harder half regardless: the clinical application of whole-genome data runs into variants of uncertain significance, incidental findings unrelated to the reason for testing, and the need for counseling infrastructure that most consumers never encounter 3.

Is AncestryDNA or 23andMe better?

They differ in database size and in what they report, not in measurement quality. Ancestry has the larger matching database, which makes relative-finding better. 23andMe reports a set of FDA-authorized health markers and a small number of specific variants (three Ashkenazi founder variants in BRCA1/BRCA2, for example, out of thousands of known pathogenic variants in those genes). Absence of a finding on that panel tells you almost nothing about your BRCA status.

Both give you a downloadable raw file. That file is the actual deliverable for a technical reader, and it is nearly identical between them.

What we would do

Buy an array if you want ancestry, relative matching, and a cheap substrate for polygenic score experiments. Treat it as a sparse, common-variant snapshot.

Order clinical testing through a clinician if you have a family history or a specific question. The counseling and confirmatory sequencing are the product.

Sequence the genome if you want a permanent asset. Insist on three things in writing before paying: 30x mean coverage from a PCR-free library, delivery of FASTQ or CRAM plus a gVCF (not just a filtered VCF), and GRCh38 alignment. A gVCF preserves reference-confidence blocks, so you can distinguish “reference at this site with 34x coverage” from “no data here,” which a plain VCF cannot do. Budget about 15 to 20 GB for a 30x CRAM and keep two copies.

A genome sequenced once is re-annotatable forever. ClinVar changes weekly, gnomAD releases new frequency data, new PGS models appear. You re-run VEP against the current databases and get a new answer from the same reads. An array file is frozen at 650,000 sites and will never tell you more than it does today.

Questions people also ask

What are the most accurate genetic testing companies? For clinical questions, any CLIA-certified, CAP-accredited lab that performs orthogonal confirmation of reportable variants. For consumer arrays, the genotyping accuracy is comparable across vendors and the meaningful differences are in database size and reporting scope.

Is AncestryDNA or 23andMe better? Ancestry for relative matching and genealogy. 23andMe for its FDA-authorized health reports. The underlying chip and the raw data file are close enough that either works as input to your own analysis.

Can I upload my raw DNA data to a free site? Yes, and several will annotate it. Understand what you are trading: you are handing a permanent identifier for yourself and your relatives to a company whose business model you have not read. Running VEP locally against a ClinVar VCF takes an afternoon and the data never leaves your machine.

Do I need a doctor to interpret results? For ancestry and traits, no. For anything a report labels pathogenic, likely pathogenic, or of uncertain significance, yes. Variant interpretation and the handling of incidental findings are clinical work 3.

Oak builds longitudinal molecular profiles of individuals: whole-genome sequencing, RNA sequencing, proteomics, blood biomarkers, and continuous glucose data, integrated into one model of you. Build your profile.

Footnotes

  1. The International SNP Map Working Group, Cold Spring Harbor Laboratories:, Ravi Sachidanandam, et al. A map of human genome sequence variation containing 1.42 million single nucleotide polymorphisms. Nature, 2001. https://doi.org/10.1038/35057149 ↩

  2. Masao Nagasaki, Jun Yasuda, Fumiki Katsuoka, et al. Rare variant discovery by deep whole-genome sequencing of 1,070 Japanese individuals. Nature Communications, 2015. https://doi.org/10.1038/ncomms9018 ↩

  3. Kelly E. Ormond, Matthew T. Wheeler, Louanne Hudgins, et al. Challenges in the clinical application of whole-genome sequencing. The Lancet, 2010. https://doi.org/10.1016/s0140-6736(10)60599-5 ↩ ↩2