Level 5 — MasteryGenomics

Genomics

75 minutes60 marksprintable — key stays hidden on paper

Time limit: 75 minutes Total marks: 60 Instructions: Answer all three questions. Show all reasoning, derivations, and code logic. Cross-domain integration (biology + mathematics + computation) is explicitly assessed.


Question 1 — Sequencing coverage, error, and Sanger vs NGS (20 marks)

The Lander–Waterman model treats read starts as a Poisson process along a genome. For a haploid genome of length GG base pairs, NN reads each of length LL, the redundancy (coverage) is c=NL/Gc = NL/G.

(a) Define genome, transcriptome, and proteome in one sentence each, and state why the transcriptome is a subset relation to the genome but the proteome need not be a simple subset. (6)

(b) Derive an expression for the expected number of bases not covered by any read under the Poisson model, and hence the expected fraction of gaps. For a bacterial genome G=5.0×106G = 5.0\times10^{6} bp sequenced with N=2.0×105N = 2.0\times10^{5} reads of L=150L = 150 bp, compute the coverage cc and the expected fraction of the genome left uncovered. (6)

(c) In Sanger sequencing, dideoxynucleotides (ddNTPs) cause chain termination. If, at each nucleotide addition, a ddNTP is incorporated (terminating the chain) with fixed probability p=0.02p = 0.02 per position, model the length XX of a terminated fragment as a geometric random variable. Find the probability that a fragment terminates at exactly position k=30k=30, and the mean fragment length. Explain how this stochastic termination produces the read-out ladder. (5)

(d) Contrast Sanger and next-generation sequencing (NGS) on read length, throughput/parallelism, and per-base cost, and state one reason WGS uses NGS while confirming a single suspected point mutation might still use Sanger. (3)


Question 2 — SNPs, GWAS statistics, and pharmacogenomics (22 marks)

(a) Define a single-nucleotide polymorphism (SNP) and distinguish it from a rare mutation using the conventional minor-allele-frequency (MAF) threshold. (3)

(b) A biallelic SNP has alleles AA (frequency pp) and aa (frequency q=1pq=1-p). Under Hardy–Weinberg equilibrium, write the expected genotype frequencies. In a GWAS cohort of 10001000 individuals genotyped at this SNP, the observed counts are AA=640AA=640, Aa=320Aa=320, aa=40aa=40. Estimate pp and qq, compute the expected genotype counts under HWE, and perform a chi-square goodness-of-fit test (1 degree of freedom). State whether HWE is rejected at α=0.05\alpha=0.05 (critical value 3.843.84). (9)

(c) GWAS tests ~10610^{6} independent SNPs. Explain why a nominal pp-value threshold of 0.050.05 is inappropriate, derive the Bonferroni-corrected genome-wide significance threshold, and compute it. If a study uses this threshold, what is the expected number of false-positive SNPs among truly null SNPs? (5)

(d) Explain how a pharmacogenomic SNP (e.g. in a drug-metabolizing enzyme) links GWAS output to personalized/precision medicine. Give the causal chain from genotype to clinical dosing decision. (5)


Question 3 — Genome annotation, comparative genomics & ENCODE: build a pipeline (18 marks)

You are handed a newly assembled 12 Mb fungal genome.

(a) Outline, as an ordered pipeline of at least four stages, how you would annotate this genome (structural + functional). For each stage name the type of evidence used. (6)

(b) Write pseudocode (or clearly commented real code) for a function gc_content(seq) returning GC fraction, and a function find_orfs(seq) that scans all three forward reading frames and returns start–stop coordinates of open reading frames (ORF = ATG … in-frame stop codon TAA/TAG/TGA). State the time complexity of find_orfs in terms of sequence length nn. (7)

(c) The ENCODE project found that a large fraction of the human genome is transcribed / biochemically active despite <2% being protein-coding. Explain what "non-coding" DNA can do, and how comparative genomics (conservation across species) provides an independent line of evidence for functional non-coding elements. (5)

Answer keyMark scheme & solutions

Question 1

(a) (6 marks)

  • Genome = the complete set of DNA (all genes + non-coding sequence) of an organism. (2)
  • Transcriptome = the complete set of RNA transcripts (mRNA etc.) present in a cell/tissue at a given time/condition. (2)
  • Proteome = the complete set of proteins expressed. Transcriptome maps back to genomic loci (subset of transcribed genome), but proteome is not a simple subset because alternative splicing, RNA editing, and post-translational modifications mean one gene/transcript can yield many protein forms — the mapping is one-to-many, not one-to-one. (2)

(b) (6 marks) Poisson: expected reads covering a base =c=NL/G=c=NL/G. Number of reads whose start places them over a given base follows Poisson mean cc; probability a base is covered by zero reads =ec=e^{-c}. (2)

  • Expected uncovered bases =Gec=G\,e^{-c}; expected fraction of gaps =ec=e^{-c}. (2)
  • c=NL/G=(2.0×105)(150)/(5.0×106)=3.0×107/5.0×106=6.0c = NL/G = (2.0\times10^{5})(150)/(5.0\times10^{6}) = 3.0\times10^{7}/5.0\times10^{6} = 6.0. (1)
  • Uncovered fraction =e62.48×103=e^{-6}\approx 2.48\times10^{-3} (~0.25%, ≈12 400 bp). (1)

(c) (5 marks) Geometric: P(X=k)=(1p)k1pP(X=k)=(1-p)^{k-1}p (first termination at position kk). (1)

  • P(X=30)=(0.98)29(0.02)P(X=30)=(0.98)^{29}(0.02). (0.98)29=e29ln0.98=e0.5857=0.5568(0.98)^{29}=e^{29\ln0.98}=e^{-0.5857}=0.5568; ×0.02=0.01114\times0.02=0.01114. (2)
  • Mean =1/p=1/0.02=50=1/p = 1/0.02 = 50 bases. (1)
  • Random termination at each position generates a population of fragments of every possible length; separated by size (electrophoresis), each length reveals the terminating ddNTP base → sequence read as a ladder. (1)

(d) (3 marks)

  • Read length: Sanger long (~500–1000 bp) > individual NGS reads (~100–300 bp). (1)
  • Throughput/cost: NGS massively parallel (millions–billions of reads simultaneously), far lower per-base cost. (1)
  • WGS needs enormous throughput → NGS; confirming one known point mutation needs high accuracy on a short region only → Sanger remains gold-standard/validation. (1)

Question 2

(a) (3 marks) SNP = a single base-pair position in the genome that varies among individuals in a population (2). Conventionally called a polymorphism when the minor allele frequency (MAF) ≥1%; below that it is regarded as a rare variant/mutation (1).

(b) (9 marks) Genotype frequencies under HWE: AA=p2AA=p^{2}, Aa=2pqAa=2pq, aa=q2aa=q^{2}. (1) Allele counting (2N = 2000 alleles):

  • AA count =2(640)+320=1600=2(640)+320 = 1600; p^=1600/2000=0.80\hat p = 1600/2000 = 0.80. (2)
  • q^=0.20\hat q = 0.20. (1) Expected counts (×1000):
  • AA=p21000=0.641000=640AA=p^2\cdot1000=0.64\cdot1000=640
  • Aa=2pq1000=0.321000=320Aa=2pq\cdot1000=0.32\cdot1000=320
  • aa=q21000=0.041000=40aa=q^2\cdot1000=0.04\cdot1000=40 (2) Chi-square: observed = expected exactly, so χ2=(OE)2/E=0\chi^2=\sum (O-E)^2/E = 0. (2) 0<3.840<3.84HWE not rejected; population is in equilibrium at this locus. (1)

(c) (5 marks) With 10610^6 independent tests at α=0.05\alpha=0.05, expected false positives =0.05×106=5×104=0.05\times10^6=5\times10^4 — far too many. (2) Bonferroni: threshold =α/m=0.05/106=5×108=\alpha/m = 0.05/10^{6}=5\times10^{-8} (the standard genome-wide significance line). (2) Expected false positives using this threshold among null SNPs =m×(α/m)=α=0.05=m\times(\alpha/m)=\alpha=0.05 (i.e. controls family-wise error at 0.05, <1 expected). (1)

(d) (5 marks) Causal chain (award up to 5):

  1. GWAS/pharmacogenomic association identifies a SNP in/near a gene affecting drug response (e.g. CYP450 metabolizer variant). (1)
  2. Genotype alters enzyme activity → poor vs ultra-rapid metabolizer. (1)
  3. This changes plasma drug concentration/half-life for a standard dose. (1)
  4. Clinician genotypes the patient before prescribing. (1)
  5. Dose (or drug choice) is tailored to genotype to maximise efficacy and avoid toxicity — the essence of precision/personalized medicine. (1)

Question 3

(a) (6 marks) — any 4 stages, 1.5 each:

  1. Repeat masking (RepeatMasker) — removes repetitive/transposon DNA using repeat libraries.
  2. Structural annotation / gene prediction — ab initio HMM gene finders + alignment of RNA-seq/EST (transcript) and protein evidence to define exon–intron structure.
  3. Non-coding feature annotation — tRNA/rRNA/ncRNA via specialized tools (evidence: covariance models/homology).
  4. Functional annotation — BLAST/HMMER against protein databases (UniProt, Pfam), assign GO terms/enzyme function (evidence: homology to characterized proteins).

(b) (7 marks)

def gc_content(seq):
    seq = seq.upper()
    gc = sum(1 for b in seq if b in "GC")
    return gc / len(seq) if seq else 0.0        # (2)
 
def find_orfs(seq):
    seq = seq.upper()
    stops = {"TAA", "TAG", "TGA"}
    orfs = []
    n = len(seq)
    for frame in range(3):                       # 3 forward frames
        i = frame
        while i < n - 2:
            if seq[i:i+3] == "ATG":              # start
                j = i
                while j < n - 2:
                    codon = seq[j:j+3]
                    if codon in stops:
                        orfs.append((i, j+3))    # start,stop coords
                        break
                    j += 3
            i += 3
    return orfs                                  # (4)

Complexity: each frame scanned once; inner scan does not revisit already-passed positions more than a constant number of times per codon → overall O(n) (linear in sequence length). (1)

(c) (5 marks) Non-coding DNA is not "junk": functions include promoters, enhancers/silencers, insulators, origins of replication, telomeres/centromeres, and genes for functional RNAs (tRNA, rRNA, miRNA, lncRNA); ENCODE reported the majority of the genome is transcribed or shows biochemical activity (DNase hypersensitivity, TF binding, histone marks). (3) Comparative genomics gives independent evidence: sequences conserved across evolutionarily distant species (evolutionary constraint / low substitution rate) are inferred to be functional because purifying selection preserves them — conserved non-coding elements corroborate biochemical activity without relying on the same assays. (2)

[
  {"claim":"Coverage c = NL/G = 6 and uncovered fraction = e^-6",
   "code":"G=5e6; N=2e5; L=150; c=N*L/G; frac=exp(-c); result = (abs(c-6)<1e-9) and (abs(frac-exp(-6))<1e-12)"},
  {"claim":"Sanger geometric: P(X=30)=0.98**29*0.02 and mean=50",
   "code":"p=Rational(2,100); Pk=(1-p)**29*p; mean=1/p; result = (abs(float(Pk)-0.011135)<1e-4) and (mean==50)"},
  {"claim":"HWE chi-square is 0 for AA640 Aa320 aa40 with p=0.8",
   "code":"pA=Rational(1600,2000); qa=1-pA; obs=[640,320,40]; exp=[pA**2*1000,2*pA*qa*1000,qa**2*1000]; chi=sum((o-e)**2/e for o,e in zip(obs,exp)); result = (chi==0)"},
  {"claim":"Bonferroni threshold 0.05/1e6 = 5e-8 and expected false positives = 0.05",
   "code":"m=10**6; alpha=Rational(5,100); thr=alpha/m; fp=m*thr; result = (thr==Rational(5,100000000)) and (fp==alpha)"}
]