What Is in a Genetic Report, and What Is Underneath It
A genetic report is a two-to-eight page PDF that names a small number of variants and gives each one a five-tier classification. The tiers are pathogenic, likely pathogenic, uncertain significance, likely benign and benign. The report also states what genes and regions were examined. Everything else in your genome was either not sequenced, not analyzed, or analyzed and filtered out before the report was written. If you want to work with your genetics rather than read a summary of them, the artifacts you want are the aligned reads (CRAM or BAM) and the variant calls (VCF or gVCF), plus the BED file describing which regions were covered well enough to call. The report is a view over that data, built with a particular gene list and a particular filter stack. You can rebuild the view with different choices.
The layers, from instrument to PDF
Short-read sequencing produces per-cycle base calls with quality scores, written as FASTQ. A 30x whole genome is roughly 900 million to 1.2 billion read pairs of 150 bp, about 80–120 GB of gzipped FASTQ. The chemistry that produces these reads has been essentially stable since the reversible-terminator method was described for whole human genomes 1, and the per-genome cost curve people quoted in the mid-2000s played out roughly as forecast 2.
Alignment against GRCh38 or T2T-CHM13 gives a BAM (~90 GB at 30x) or a CRAM (~25–35 GB, reference-compressed, lossless for bases and quality bins). Variant calling gives a VCF: about 4.5–5 million variants per human genome, of which roughly 20,000 are coding, a few hundred are predicted loss-of-function, and one to three are things a clinical lab would consider reportable in a healthy adult.
The report sits on top of that last step. A lab takes the VCF, intersects it with a gene list, filters on population frequency and ClinVar status, has a variant scientist apply ACMG/AMP criteria, and writes prose. The curation is real work and the reason clinical reports cost what they do. But the gene list is a choice, the frequency cutoff is a choice, and the decision to suppress variants of uncertain significance is a choice.
What is in scope and what silently is not
Read the methods section of any report first. It will tell you one of three things:
- Genotyping array. Around 600,000 to 1,000,000 fixed probes. It measures only the sites on the chip. Rare variants called from array data need orthogonal confirmation (usually Sanger or targeted NGS) before anyone should act on them, because a probe designed for a common site behaves badly at a rare one.
- Exome. Captures ~1–2% of the genome. Misses deep intronic variants, most structural variation, and regions the capture bait set covers poorly.
- Whole genome. Calls SNVs and indels genome-wide, plus CNVs and structural variants if the lab runs those callers. Many labs sequence the genome and then analyze a gene list, which gives you genome data and exome-scope interpretation.
Then look for the secondary findings policy. The ACMG secondary findings list (v3.2, 81 genes) covers conditions where a finding is considered medically actionable. Labs may report those genes whether or not they relate to why you sequenced. Some make it opt-in. Sequencing healthy people surfaces a nontrivial rate of findings whose real-world penetrance in an unselected person is lower than the literature on affected families suggests 3. That is the single most important thing to hold in mind when you read a positive result on a report you ordered out of curiosity.
Rebuilding the analysis yourself
Assume you have sample.cram, sample.vcf.gz, and the reference FASTA. Start with coverage, because a report that says “no pathogenic variants detected” means nothing in regions with four reads.
mosdepth --by acmg_sf_v3.2.bed --thresholds 10,20,30 \
--fasta GRCh38.fa cov sample.cram
# cov.thresholds.bed.gz: per-region bases at each depth
Then annotate. Ensembl VEP offline with a local cache is the version you can reproduce in a year:
bcftools view -f PASS -R genes.bed sample.vcf.gz -Oz -o sub.vcf.gz
vep -i sub.vcf.gz --cache --offline --assembly GRCh38 --everything \
--pick_allele_gene --vcf -o sub.vep.vcf \
--custom file=clinvar.vcf.gz,short_name=ClinVar,format=vcf,type=exact,fields=CLNSIG%CLNREVSTAT \
--custom file=gnomad.genomes.v4.sites.vcf.gz,short_name=gnomADg,format=vcf,type=exact,fields=AF_grpmax
A filter stack that gets you to a readable list starts with FILTER=PASS and a gnomAD group-max allele frequency below 0.0001 for dominant conditions. It then requires a consequence in the loss-of-function or missense set, and a ClinVar review status of at least two stars (criteria_provided,_multiple_submitters,_no_conflicts). One-star and no-assertion ClinVar entries include a lot of old submissions that would not survive current criteria. The star rating is the field to sort on.
For anything that looks interesting, open it in IGV against the CRAM before you believe it. Most surprises are alignment artifacts: an indel in a homopolymer run, a het call with 15% allele balance, a “variant” in a segmental duplication where reads from a paralog piled up.
Known blind spots in short-read reports
- Pseudogene-shadowed genes. These include PMS2, SMN1, CYP21A2, HBA1/HBA2 and STRC. Standard callers either miss variants or call false ones. Labs that handle these use long-range PCR or MLPA and will say so.
- Repeat expansions. These include FMR1, HTT, C9orf72 and RFC1. Short reads do not span them. ExpansionHunter gives estimates from a targeted catalog, which makes it a screen. Its estimates do not count as a confirmation.
- GC-rich first exons. Coverage dips are common and region-specific. Check them with mosdepth rather than trusting a genome-wide mean.
- Structural variants. Manta plus a read-depth caller (CNVnator, GATK gCNV) catches a lot, but short reads have poor sensitivity for balanced events and for anything under a few hundred base pairs.
- Phasing. Short reads phase only within a read pair unless you have parental samples or linked-read/long-read data. Compound heterozygosity for a recessive condition often cannot be resolved from a solo short-read genome.
- CYP2D6 and other pharmacogene star alleles. Structural complexity breaks generic callers. Use Cyrius or StellarPGx, cross-check against PharmVar definitions, and take any dosing question to a clinician or pharmacist. We do not interpret pharmacogenetic results as instructions.
What a VUS means and what to do with it
A variant of uncertain significance means the evidence does not currently support classifying it either way. Such a variant is not a weak positive. Classifications get revised as ClinVar and gnomAD grow, and the direction of revision is usually toward benign, because most rare missense variants are. The practical move is to record the variant in HGVS nomenclature (NM_000059.4:c.5946delT, not “BRCA2 mutation”), store your VCF, and re-run annotation against a current ClinVar release once a year. A ten-minute re-annotation catches reclassifications that nobody will mail you about.
Anything that changes what you would do about your health belongs in front of a genetics clinician, with confirmatory testing in a CLIA/CAP lab if the original data was research-grade or direct-to-consumer.
Questions people also ask
How much does a genetic report cost? A targeted single-gene or panel test typically runs a few hundred to around $2,000 depending on gene count and whether insurance is involved. Clinical exomes and genomes are higher, and the cost-effectiveness literature on them is mixed and highly dependent on the clinical setting and the comparator pathway 4. Direct-to-consumer array reports are cheap because the underlying measurement is an array. No sequencing is involved.
How can I check my genetics? Order sequencing, then ask for the raw files. Specifically: FASTQ or CRAM, a VCF or gVCF, the reference build used, and the callable-regions BED. Without those you have a PDF and no way to verify it or re-analyze it later.
How do I find out what my genetics are? Run the pipeline above on your own VCF. Start with coverage over the genes you care about, then annotate with VEP against ClinVar and gnomAD. Next, filter on frequency and review status, then look at every surviving call in IGV. Expect a handful of variants worth reading about and a much longer list of uncertain ones.
Is a genetic report a diagnosis? No. It is a measurement of your DNA plus a classification of specific variants against published evidence. Whether any finding is relevant to your health depends on personal and family history and on penetrance data that is often weaker than it sounds, which is why interpretation belongs with a clinician 3.
Footnotes
-
David Bentley, Shankar Balasubramanian, Harold Swerdlow, et al. Accurate whole human genome sequencing using reversible terminator chemistry. Nature, 2008. https://doi.org/10.1038/nature07517 ↩
-
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 ↩
-
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 ↩ ↩2
-
Katharina Schwarze, James Buchanan, Jenny C. Taylor, et al. Are whole-exome and whole-genome sequencing approaches cost-effective? A systematic review of the literature. Genetics in Medicine, 2018. https://doi.org/10.1038/gim.2017.247 ↩
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.