BIOL-410 · Lesson 12 of 12 · 29 min

Capstone: genomic medicine, data governance and a reproducible analysis

This final lesson brings the course together in three ways. First, it surveys how genomics is used in medicine, where the methods of lessons 2 to 9 become diagnoses and treatment decisions. Second, it examines the governance of genomic data: privacy, discrimination law, consent, Indigenous data sovereignty, data-sharing standards and the biosecurity questions raised by synthetic DNA. Third, it walks through a complete, reproducible analysis of an invented rare-disease family, from variant calls to a short list of candidate genes, and shows how workflow tools make such analyses dependable.

Genomics in the clinic

For children with suspected rare genetic diseases, exome sequencing (of the 1 to 2 per cent of the genome that codes for protein) and genome sequencing have become first-line tests in many health systems, replacing long series of single-gene tests, the so-called diagnostic odyssey. Diagnostic yields are typically reported at about 25 to 40 per cent, depending on the patients tested, and are higher when both parents are sequenced with the child (trio sequencing), because de novo variants and inheritance patterns can be recognized directly. Rapid genome sequencing for critically ill infants in intensive care can return results within days, changing management for a substantial minority. Reanalysis of existing data a year or two later yields further diagnoses as new disease genes and variant classifications appear.

Pharmacogenomics uses germline variants to guide drug choice and dose (PHAR courses cover this in depth). Well-established examples include CYP2C19 variants that reduce activation of the antiplatelet drug clopidogrel, TPMT and NUDT15 variants that make standard doses of thiopurines dangerous, and the HLA-B*57:01 allele, which predicts hypersensitivity to the HIV drug abacavir and is tested before prescribing. The Clinical Pharmacogenetics Implementation Consortium (CPIC) publishes guidelines translating genotypes into prescribing recommendations. In oncology, tumour sequencing identifies targetable mutations, such as EGFR mutations in lung cancer, and companion diagnostics are approved together with the drugs they select patients for.

Genome-scale tests also raise the question of secondary findings: medically important variants unrelated to the reason for testing. The ACMG recommends that laboratories offer to report pathogenic variants in a defined list of genes associated with actionable conditions, such as hereditary breast and ovarian cancer, Lynch syndrome and familial hypercholesterolemia; version 3.3 of the list, published in July 2025, contains 84 genes. Patients may opt out. Polygenic risk scores (BIOL-322) are being studied for screening, but their predictive power is modest and, because most underlying studies used people of European ancestry, they perform worse in other populations.

Newborn screening is moving toward genomics. Traditional programs test a dried blood spot biochemically for a few dozen treatable conditions; research programs in several countries, including the United Kingdom's Generation Study and the GUARDIAN study in New York City, are evaluating genome sequencing of newborns for hundreds of early-onset treatable conditions. These programs raise questions about consent, false positives in healthy babies, storage of genomes and equity, and are proceeding as research rather than routine care.

Direct-to-consumer genetics and privacy

Companies selling genotyping directly to consumers built some of the largest genetic databases in the world. Their fragility became clear in 2025: 23andMe, which held genetic data from more than 15 million customers and had suffered a data breach in 2023 that exposed information about nearly 7 million people, filed for bankruptcy protection in the United States in March 2025. After a court-supervised sale process, a non-profit led by its co-founder Anne Wojcicki, TTAM Research Institute, acquired the company's assets for about 305 million US dollars, with court approval in late June 2025 and completion in July 2025. The episode prompted many customers to delete their data and highlighted that consumer genetic data, unlike clinical records, are governed mainly by company privacy policies and general privacy law.

Genomic data are inherently identifying. Researchers showed in 2013 that surnames of some anonymous research participants could be inferred by matching Y-chromosome markers against public genealogy databases. In 2018, investigators identified a suspect in the Golden State Killer case by uploading crime-scene DNA to a public genealogy service and building family trees from distant relatives, a technique, investigative genetic genealogy, since used in many cases in North America. Because relatives share DNA, one person's decision to share a genome affects family members who never consented. These facts underpin the controlled-access model for research data (lesson 1) and laws restricting the use of genetic information.

Law and genetic discrimination

Canada's Genetic Non-Discrimination Act, which came into force in 2017, makes it an offence to require a person to undergo a genetic test or disclose test results as a condition of providing goods, services or contracts, such as insurance or employment, and to collect, use or disclose a person's genetic test results without written consent in those contexts; it also amended the Canada Labour Code and the Canadian Human Rights Act to add genetic characteristics as a prohibited ground of discrimination. In 2020, the Supreme Court of Canada, in a reference from Quebec, upheld the main prohibitions as a valid exercise of the federal criminal law power. Health information held by provincial health systems is protected by provincial health privacy laws, and research involving humans is governed by the Tri-Council Policy Statement (TCPS 2), whose chapter 9 addresses research with First Nations, Inuit and Métis peoples.

Indigenous data sovereignty and fair sharing

Genomic research has a troubled history with Indigenous peoples, including samples collected for one purpose and used for others without consent. In the most cited case, blood samples given by members of the Havasupai Tribe in Arizona for diabetes research in the 1990s were later used for studies of schizophrenia, inbreeding and population origins that the tribe had not agreed to; the dispute ended in 2010 with a settlement that returned the samples. Indigenous data sovereignty asserts the right of Indigenous peoples to govern data about their communities, lands and resources. The CARE Principles for Indigenous Data Governance (Collective benefit, Authority to control, Responsibility, Ethics), published by the Global Indigenous Data Alliance in 2019, complement the FAIR principles. In Canada, the First Nations principles of OCAP (ownership, control, access and possession), developed by the First Nations Information Governance Centre, guide research with First Nations; in the United States, tribal nations may exercise sovereign authority over research on their lands, and some have their own research review boards. BIOL-322 discussed these principles for population genetic studies.

The FAIR principles, published in 2016, ask that data be Findable, Accessible, Interoperable and Reusable: assigned persistent identifiers, described with rich metadata, retrievable through standard protocols (even if access is controlled), and documented with clear licences and provenance. For human genomic data, the Global Alliance for Genomics and Health (GA4GH), founded in 2013, develops technical standards and policy frameworks for responsible sharing, including file format specifications such as those for SAM, BAM, CRAM and VCF, the Beacon protocol for asking whether a variant exists in a data set, machine-readable consent codes and a data use ontology, and researcher passports that carry data access permissions between systems.

Biosecurity and synthetic DNA

The same technologies that read DNA also write it. Commercial companies synthesize genes and genomes to order, which raises the concern that someone could order sequences from dangerous pathogens. Leading providers, many organized in the International Gene Synthesis Consortium, screen orders by comparing requested sequences against databases of sequences of concern and verifying customers, and governments have issued guidance. In the United States, a 2024 federal framework asked federally funded researchers to buy synthetic nucleic acids from providers that screen orders; an executive order in May 2025 on the safety and security of biological research directed that the framework be revised and strengthened, and the status of the replacement should be checked in current sources. Advances in AI-assisted protein design have prompted discussion of how screening should adapt to sequences that are functionally similar to sequences of concern without being similar in sequence. These are questions of policy, oversight and professional responsibility, which every bioinformatician should be aware of; BIOL-330 and BIOL-207 discussed dual-use research more broadly.

A reproducible analysis: the invented Rowan family

To bring the methods together, consider an invented family. A child, here called proband R, has severe early-onset epilepsy and developmental delay; the parents are unaffected and unrelated. Trio genome sequencing at 35-fold coverage is mapped to GRCh38 with BWA-MEM, duplicates are marked, variants are called jointly with a germline caller and annotated with predicted consequences and gnomAD frequencies. About 4.8 million variants are found in the child. The task is to reduce them to a short list for expert review, under explicit, documented filters.

Filtering follows the logic of lesson 7. Keep variants passing quality filters with adequate depth and genotype quality in all three family members. Remove variants that are common in the population: for a rare, severe dominant disorder, a population allele frequency below 0.01 per cent is a reasonable threshold, and for recessive disorders a somewhat higher one. Keep variants with protein-altering consequences (missense, nonsense, frameshift, canonical splice) or other strong functional predictions. Then apply inheritance models: de novo (present in the child, absent in both parents), homozygous recessive (both alleles in the child, one in each parent), compound heterozygous (two different rare variants in the same gene, one from each parent) and X-linked.

Inheritance-model filtering of invented trio variant calls
# Filter invented trio variant calls by quality, population frequency, consequence and inheritance model.
from collections import defaultdict
# fields: gene, variant, consequence, gnomad_af, child_gt, mother_gt, father_gt, min_gq, min_dp
calls = [
 ('SCN1A',  'c.2836C>T', 'missense',   0.0,     '0/1', '0/0', '0/0', 99, 38),
 ('KCNQ2',  'c.917A>G',  'missense',   0.00002, '0/1', '0/1', '0/0', 99, 41),
 ('STXBP1', 'c.251+1G>A','splice',     0.0,     '0/1', '0/0', '0/0', 12, 9),
 ('TTN',    'c.1234G>A', 'missense',   0.0003,  '0/1', '0/0', '0/1', 99, 44),
 ('ALDH7A1','c.1279G>C', 'missense',   0.00004, '0/1', '0/1', '0/0', 99, 36),
 ('ALDH7A1','c.328C>T',  'stop_gained',0.00001, '0/1', '0/0', '0/1', 99, 33),
 ('OR4F5',  'c.40del',   'frameshift', 0.21,    '1/1', '0/1', '0/1', 99, 30),
 ('PCDH19', 'c.605C>A',  'synonymous', 0.0,     '0/1', '0/0', '0/0', 99, 40),
 ('MUC4',   'c.88A>T',   'missense',   0.0,     '0/1', '0/0', '0/0', 99, 210),
]
damaging = {'missense', 'stop_gained', 'frameshift', 'splice'}
kept = [c for c in calls if c[7] >= 20 and 15 <= c[8] <= 120 and c[3] < 0.001 and c[2] in damaging]
print('passing quality, frequency and consequence filters:', [f"{c[0]} {c[1]}" for c in kept])
candidates = []
for g, v, csq, af, ch, mo, fa, gq, dp in kept:
    if ch == '0/1' and mo == '0/0' and fa == '0/0' and af == 0.0:
        candidates.append((g, v, 'de novo'))
    if ch == '1/1' and mo == '0/1' and fa == '0/1':
        candidates.append((g, v, 'homozygous recessive'))
by_gene = defaultdict(list)
for g, v, csq, af, ch, mo, fa, gq, dp in kept:
    if ch == '0/1' and (mo == '0/1') != (fa == '0/1'):
        by_gene[g].append((v, 'maternal' if mo == '0/1' else 'paternal'))
for g, vs in by_gene.items():
    if {o for _, o in vs} == {'maternal', 'paternal'}:
        candidates += [(g, v, f'compound heterozygous ({o})') for v, o in vs]
print('candidates for expert review:')
for g, v, model in candidates:
    print(f"  {g:8s} {v:11s} {model}")
Output
passing quality, frequency and consequence filters: ['SCN1A c.2836C>T', 'KCNQ2 c.917A>G', 'TTN c.1234G>A', 'ALDH7A1 c.1279G>C', 'ALDH7A1 c.328C>T']
candidates for expert review:
  SCN1A    c.2836C>T   de novo
  ALDH7A1  c.1279G>C   compound heterozygous (maternal)
  ALDH7A1  c.328C>T    compound heterozygous (paternal)

The filters remove a splice variant in STXBP1 because of low depth and genotype quality, not because it is unimportant: it should be reviewed by examining the reads or confirmed by another method, since a missed diagnosis is costly. They remove a common frameshift in an olfactory receptor gene, a synonymous variant and a variant in a highly repetitive gene with suspiciously high depth. Rare missense variants in KCNQ2 and TTN pass the filters but are each inherited from one unaffected parent, so they fit none of the models tested; they are set aside, although an inherited variant in an epilepsy gene such as KCNQ2 can still matter if penetrance is incomplete, which is why such lists are reviewed by people, not only by code. Two candidates remain: a de novo missense variant in SCN1A, a well-established epilepsy gene, and a pair of rare variants in ALDH7A1 inherited one from each parent, which would cause pyridoxine-dependent epilepsy, a treatable condition, if the two are confirmed to be on different chromosomes (phasing from the parents' genotypes indicates they are). Both would go to clinical scientists for classification under the ACMG/AMP criteria, comparison with the child's features and confirmation, and the treatable diagnosis would be prioritized for review. (All genes are real, but the variants and family are invented.)

Making analyses reproducible

A clinical or research analysis must give the same result when rerun, and others must be able to see exactly how it was produced. Several practices make this possible. Every step is scripted, with no manual editing of intermediate files. Code is kept under version control with git, so that every change is recorded and any past version can be recovered. Software versions are fixed with environment managers such as conda, or packaged in containers (Docker, or Apptainer on shared clusters), which bundle a tool with all its dependencies. Reference files are recorded by version and checksum. And steps are connected by a workflow manager, such as Snakemake or Nextflow, which describes the analysis as a graph of rules with inputs and outputs, runs only the steps whose inputs have changed, parallelizes independent steps, and records logs. Community pipelines, such as those of the nf-core project, provide peer-reviewed workflows for common analyses.

A directed acyclic graph of analysis steps. Three FASTQ inputs for child, mother and father each flow into quality control and mapping steps, then duplicate marking, then per-sample variant calling. The three per-sample results flow into joint genotyping, then annotation, then trio filtering, producing a candidate list. Reference genome and annotation database inputs connect to mapping and annotation. A side note lists versions, containers and checksums recorded for each step.
A trio analysis expressed as a workflow graph, as managed by tools such as Snakemake or Nextflow
Dependency ordering and selective re-execution, the core ideas of workflow managers
# Order workflow steps by their dependencies (a topological sort) and record checksums of inputs.
import hashlib
from graphlib import TopologicalSorter
steps = {
    'qc_child': {'fastq_child'}, 'qc_mother': {'fastq_mother'}, 'qc_father': {'fastq_father'},
    'map_child': {'qc_child', 'reference'}, 'map_mother': {'qc_mother', 'reference'}, 'map_father': {'qc_father', 'reference'},
    'call_child': {'map_child'}, 'call_mother': {'map_mother'}, 'call_father': {'map_father'},
    'joint_genotype': {'call_child', 'call_mother', 'call_father'},
    'annotate': {'joint_genotype', 'annotation_db'}, 'trio_filter': {'annotate'},
}
order = list(TopologicalSorter(steps).static_order())
print('execution order:')
print('  ' + ' -> '.join(s for s in order if s in steps))
inputs = {'reference': b'invented reference contents v1', 'annotation_db': b'invented annotation release 1'}
for name, content in inputs.items():
    print(f"{name}: sha256 {hashlib.sha256(content).hexdigest()[:16]}...")
changed = 'annotation_db'
downstream, frontier = set(), {changed}
while frontier:
    nxt = {s for s, deps in steps.items() if deps & frontier} - downstream
    downstream |= nxt
    frontier = nxt
print(f"if {changed} changes, rerun only: {sorted(downstream)}")
Output
execution order:
  qc_child -> qc_mother -> qc_father -> map_child -> map_mother -> map_father -> call_child -> call_mother -> call_father -> joint_genotype -> annotate -> trio_filter
reference: sha256 5c6244d7d1af2175...
annotation_db: sha256 1c66fe83a75aa0e0...
if annotation_db changes, rerun only: ['annotate', 'trio_filter']

Updating the annotation database, which happens with every new gnomAD or ClinVar release, requires rerunning only annotation and filtering, not mapping and calling, which is why reanalysis of old cases is cheap. Recording checksums guarantees that a rerun used the same inputs. Together with a written analysis plan, these practices make genomic results auditable, which is required for accredited clinical laboratories and increasingly expected by journals and funders.

Practices for reproducible and responsible genomic analysis
PracticeWhat it protects againstTypical tools
Version control of codeLost or untraceable changesgit, with a hosted repository
Environment and container managementDifferent software versions giving different resultsconda, Docker, Apptainer
Workflow managerManual steps, partial reruns, unrecorded parametersSnakemake, Nextflow (nf-core)
Checksums and versioned referencesSilent changes to inputssha256 sums, reference and database version records
Controlled access and audit logsUnauthorized use of sensitive dataData access committees, trusted research environments
Metadata and FAIR depositionData that others cannot find or reusePublic archives with rich metadata, persistent identifiers

Looking back

From a few kilobases read by Sanger sequencing to complete human genomes, pangenomes and millions of single cells, genomics has been driven by the interplay of technology, algorithms and statistics. The core ideas of this course recur everywhere: k-mers and graphs for assembly, dynamic programming for alignment and hidden Markov models, compressed indexes for mapping, probability models for variants and counts, and careful control of error rates across thousands of tests. Equally important are the habits of a good analyst: knowing the assumptions behind each tool, validating at every step, recording everything, and remembering that genomes belong to people and communities whose trust makes the science possible.

Worked problem

Choosing filters for a recessive disorder

Two unaffected parents who are first cousins have a child with a suspected autosomal recessive metabolic disorder. How should the trio filtering strategy differ from the dominant de novo search above?

Show solution
  1. Parental relatedness makes homozygosity for a rare variant inherited from a common ancestor much more likely; prioritize homozygous variants, especially in long runs of homozygosity in the child.
  2. Relax the population frequency threshold somewhat (for example below 0.5 per cent) because carriers of recessive alleles can be more common than affected individuals.
  3. Require each parent to be heterozygous for any homozygous candidate; a child homozygous where a parent is homozygous reference suggests a deletion on the other allele or a sample problem.
  4. Still consider compound heterozygous pairs and de novo variants, since consanguinity does not exclude other mechanisms.
  5. Check copy-number and structural variants in candidate genes, since a deletion on one allele with a point variant on the other can mimic homozygosity.

Answer: Prioritize rare homozygous variants within runs of homozygosity, with inheritance checks and a less strict frequency cut-off, while still considering other models.

Common mistakes

  • MistakeTreating a negative exome or genome as excluding a genetic cause.

    InsteadDiagnostic yields are partial; some variant types are missed, and reanalysis later often finds answers.

  • MistakeDiscarding a strong candidate only because it failed a quality filter.

    InsteadReview low-quality calls in candidate genes by inspecting reads or confirming with another method.

  • MistakeAssuming genetic anti-discrimination laws cover all insurance.

    InsteadCanada’s law covers contracts broadly; US GINA excludes life, disability and long-term care insurance.

  • MistakeCalling de-identified genomic data anonymous.

    InsteadGenomes can be re-identified through relatives and genealogy databases.

  • MistakeRunning analyses by hand without recording versions.

    InsteadUse scripts, version control, containers, workflow managers and checksums.

Summary and key terms

  • Exome and genome sequencing diagnose about a quarter to two fifths of tested rare-disease patients; trios and reanalysis improve yield.
  • Pharmacogenomics, tumour profiling and secondary findings (84 genes in ACMG SF v3.3, 2025) extend clinical genomics; genomic newborn screening is being studied.
  • The 2025 bankruptcy and sale of 23andMe and re-identification by genetic genealogy show why genomic privacy matters.
  • Canada’s Genetic Non-Discrimination Act (2017, upheld 2020) and US GINA (2008, with insurance gaps) restrict genetic discrimination.
  • CARE, OCAP and tribal sovereignty govern Indigenous data; FAIR principles and GA4GH standards support responsible sharing; synthetic DNA screening is a policy concern.
  • Reproducible analysis uses scripts, version control, containers, workflow managers and checksums.
trio sequencing
Sequencing an affected child together with both parents.
de novo variant
A variant present in a child but absent from both parents.
compound heterozygous
Carrying two different variants in the same gene, one on each copy.
pharmacogenomics
The study of how genetic variation affects drug response.
secondary finding
A medically actionable result unrelated to the reason for testing.
investigative genetic genealogy
Identifying people by comparing DNA with genealogy databases and building family trees.
Indigenous data sovereignty
The right of Indigenous peoples to govern data about their communities, lands and resources.
FAIR principles
Guidelines that data be findable, accessible, interoperable and reusable.
workflow manager
Software that runs analysis steps as a dependency graph, recording and rerunning them as needed.
container
A packaged software environment that runs identically on different computers.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. Why does trio sequencing increase diagnostic yield compared with sequencing the child alone?

    Show answer

    De novo variants and inheritance patterns can be identified directly, sharply reducing candidates.

  2. Give one pharmacogenomic test used before prescribing.

    Show answer

    HLA-B*57:01 before abacavir (or TPMT/NUDT15 before thiopurines).

  3. What gaps exist in GINA’s protections?

    Show answer

    It does not cover life, disability or long-term care insurance, or small employers and some others.

  4. What did the Supreme Court of Canada decide in 2020 about the Genetic Non-Discrimination Act?

    Show answer

    Its main prohibitions are a valid exercise of the federal criminal law power.

  5. What do the letters CARE stand for?

    Show answer

    Collective benefit, Authority to control, Responsibility and Ethics.

  6. In the trio example, why was the STXBP1 variant flagged for review rather than ignored?

    Show answer

    It failed depth and quality filters but lies in a relevant gene, so it should be checked in the reads or confirmed.

  7. Why can annotation updates be rerun cheaply in a workflow manager?

    Show answer

    Only steps downstream of the changed input are rerun; mapping and calling are reused.

  8. Why is it misleading to call a shared genome anonymous?

    Show answer

    Relatives’ data and genealogy databases allow re-identification.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz