Which DNA Analysis Tool To Use Depends On Which File You Have
The right DNA analysis tool is determined by your input file, not by your question. If you have a microarray genotype file (23andMe, AncestryDNA: a ~15 MB tab-separated text file with around 600,000–700,000 rows), your realistic options are annotation and comparison tools like Promethease, Genetic Genie, or GEDmatch, and they are limited by the array, which only reports sites the chip was designed to interrogate. If you have whole-genome sequencing output (FASTQ, CRAM/BAM, or VCF), you have access to the real toolchain: bwa-mem2, DRAGEN or GATK HaplotypeCaller, DeepVariant, bcftools, VEP, Ensembl annotation, hail, and everything downstream. The gap between these two worlds is large and mostly invisible in the marketing. This page is about how to tell which one you are in and what to run.
Genotype array files versus sequencing files
A microarray file looks like this:
# rsid chromosome position genotype
rs4477212 1 82154 AA
rs3094315 1 752566 AG
rs3131972 1 752721 GG
Each row is a site the chip probes. The chip cannot report anything else. If a variant in your BRCA2 coding sequence is not one of the ~50 BRCA2 sites on the array, the file is silent about it, and the silence reads exactly like “normal.” Arrays are also biased toward common variation by construction: the SNP maps that array content descends from were built to catalog common polymorphism across the genome, roughly one marker every couple of kilobases 1. Rare variants, which is where most of the high-effect biology lives, are underrepresented by design.
Whole-genome sequencing at 30x produces a different object: 100–150 GB of FASTQ, roughly 4–5 million variant calls per person against GRCh38, including structural variants, indels, and the long tail of singletons. Deep WGS studies find substantial numbers of novel variants per individual even after large reference panels exist, concentrated in rare and population-specific alleles 2. That is the tail arrays cannot see.
There is a second, practical difference. An array file is a set of assertions with no evidence attached. A BAM/CRAM lets you look at the reads. When a tool tells you that you carry a pathogenic-looking variant, being able to run samtools tview on that locus and count supporting reads is the difference between a finding and a rumor.
What we would run, in order
Assume you have paired FASTQ files from a 30x WGS run. This is the pipeline we use.
Align. bwa-mem2 mem -t 32 -R '@RG\tID:s1\tSM:sample1\tPL:ILLUMINA' GRCh38.fa r1.fq.gz r2.fq.gz | samtools sort -@8 -o s1.bam. Use a GRCh38 reference that includes ALT contigs and the decoy (the GRCh38_full_analysis_set_plus_decoy_hla build). Skipping the decoy pushes junk reads onto real loci and inflates false positives. Budget 4–8 hours on 32 cores, or use DRAGEN hardware if your provider offers it, which does the same job in under an hour.
Call variants. Two reasonable choices. DeepVariant (--model_type=WGS) is our default for germline SNVs and small indels: fewer knobs, better indel precision on Illumina data in our hands. GATK HaplotypeCaller in -ERC GVCF mode is the right call if you intend to joint-call with family members later, because gVCFs preserve reference confidence at non-variant sites, which is what lets you distinguish “hom-ref” from “no data.” Do not skip that distinction. A large fraction of confusing single-sample results are low-coverage regions being reported as reference.
Structural variants separately. SNV callers miss them. Run manta and smoove/lumpy and take the intersection as high-confidence, the union as leads. Expect 5,000–10,000 SV calls per genome and expect most of the large novel-looking ones to be alignment artifacts near segmental duplications.
Annotate. bcftools norm -m -any -f GRCh38.fa first, always. Left-align and split multiallelics before anything touches the file, or your variant IDs will not match any database. Then Ensembl VEP:
vep -i s1.norm.vcf.gz --cache --offline --assembly GRCh38 \
--everything --pick_allele_gene --fasta GRCh38.fa \
--plugin CADD,whole_genome_SNVs.tsv.gz \
--plugin SpliceAI,snv=spliceai_scores.snv.hg38.vcf.gz \
--custom clinvar.vcf.gz,ClinVar,vcf,exact,0,CLNSIG,CLNREVSTAT \
--vcf -o s1.vep.vcf.gz
--pick_allele_gene matters. Without a picking rule you get one row per transcript and a 4-million-variant VCF becomes a 40-million-row annotation blob that will not fit in memory.
Filter to something readable. The useful first pass: ClinVar pathogenic/likely-pathogenic with a review status of at least two stars, restricted to genes with real evidence. bcftools +split-vep -f '%CHROM %POS %SYMBOL %ClinVar_CLNSIG %ClinVar_CLNREVSTAT %gnomADg_AF\n' -i 'ClinVar_CLNSIG~"athogenic" && gnomADg_AF<0.001'. This typically returns a handful to a few dozen rows. Most will be carrier status for recessive conditions, which is information about potential children, not about you.
Then stop and look at the reads. For every hit, samtools view the region, check allele balance (a real het sits near 0.5, an artifact often sits at 0.2 or 0.8), check mapping quality, check whether the locus is in a homopolymer or a segdup. We discard perhaps a third of first-pass ClinVar hits at this step.
Where consumer annotation tools go wrong
Promethease and Genetic Genie are literature-lookup layers. They join your genotypes to reported associations, and they are honest about being that. The failure mode is not the tool, it is the joining. A great deal of the published SNP-association literature is small-study candidate-gene work that did not replicate, and a report that presents “rs1801133 CT — reduced MTHFR activity” alongside a well-validated pharmacogenomic variant gives them equal visual weight. Also note that array genotypes are unvalidated at any single site. Consumer arrays have per-site error rates that are low in aggregate and unacceptable for rare pathogenic variants specifically, because at a site where the pathogenic allele has frequency 1e-4, almost every positive call is a false one. Any actionable-looking finding from an array needs orthogonal confirmation in a clinical laboratory, ordered through a clinician. That is not a formality.
GEDmatch is a different category and does its job well: identity-by-descent segment matching for genealogy. It does not attempt clinical interpretation and you should not ask it to.
Accuracy: what “most accurate” means
For identity (paternity, forensics), short tandem repeat panels are the standard and reach combined match probabilities beyond 1 in 10^18 with ~20 loci. For reading a person’s genome, 30x short-read WGS with a modern caller reaches roughly 99.9% sensitivity and precision on SNVs in high-confidence regions, lower on indels (around 99%), and notably worse in the roughly 5% of the genome that is repetitive, GC-extreme, or highly homologous. Long reads (PacBio HiFi, ONT) fix most of that at higher cost. Sequencing cost fell far enough to make this routine only because of a sustained push on read throughput and chemistry through the 2000s 3. In clinical use, WGS has shown diagnostic yield beyond targeted panels and chromosomal microarray in pediatric cohorts, partly because it catches variant classes the narrower assays cannot see 4.
Coverage is the number to check in your own data. Run mosdepth --by 500 --fast-mode s1 s1.bam and look at the fraction of callable bases at ≥10x and ≥20x. A good 30x run gives you >95% of the genome at ≥20x. If yours does not, your “no pathogenic variants found” result means less than you think.
Questions people also ask
What is the most accurate test for DNA?
It depends on the question. For establishing identity or relatedness, an STR panel is the standard and is effectively definitive. For reading what variants a person carries, 30x whole-genome sequencing with DeepVariant or DRAGEN calling is the most complete widely available option, with per-base accuracy around 99.9% for SNVs in high-confidence regions and meaningful blind spots in repetitive sequence. Consumer microarrays are accurate in aggregate but should not be trusted for any single rare, high-consequence site without confirmation in a clinical lab.
What is the best DNA test kit in Canada? The useful distinction is not the brand but whether you receive raw data and what kind. Ask any provider two questions: do I get FASTQ or CRAM plus a VCF, and is the lab accredited (CAP/CLIA or a Canadian provincial equivalent)? Ancestry-focused kits sold in Canada are array-based and will hand you a genotype text file, which is fine for genealogy and thin for everything else. For clinical interpretation of results, Canadian access generally runs through a physician or a genetic counsellor, and that is the correct path.
Can I analyze my own DNA data without a bioinformatics background? You can go a long way. The pipeline above is a dozen commands and runs on a rented 32-core machine for the price of a dinner. What is hard is not the tooling, it is knowing when a call is an artifact and when a published association is noise. Build the habit of opening the BAM before believing anything.
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
-
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 ↩
-
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 ↩
-
Simon T. Bennett, C.L. Barnes, Anthony J. Cox, et al. Toward the $1000 Human Genome. Pharmacogenomics, 2005. https://doi.org/10.1517/14622416.6.4.373 ↩
-
Dimitri J. Stavropoulos, Daniele Merico, Rebekah Jobling, et al. Whole-genome sequencing expands diagnostic utility and improves clinical management in paediatric medicine. npj Genomic Medicine, 2016. https://doi.org/10.1038/npjgenmed.2015.12 ↩