Running tally — dN vs. dS for each round
What you just did has a name
dN/dS compares the rate of non-synonymous substitution (which changes the amino acid) to the rate of synonymous substitution (which does not). Synonymous changes are mostly invisible to selection and accumulate at the neutral rate μ. Non-synonymous changes are screened by selection.
- dN/dS ≫ 1: positive selection — amino-acid changes are favored faster than they can be generated. MHC, influenza hemagglutinin, primate lysozyme under dietary shifts.
- dN/dS ≈ 1: neutral — the amino acid sequence is unconstrained. Pseudogenes. Loss-of-function loci after relaxed selection (vitamin C synthesis in primates).
- dN/dS ≪ 1: purifying selection — amino-acid changes are eliminated because the protein is functionally constrained. Histones, ribosomal RNA, core metabolic enzymes.
Important caveat. dN/dS averaged over a whole gene can hide site-wise variation. Most proteins have highly constrained core residues (low dN/dS) and a few adaptively evolving surface residues (high dN/dS). The average is dominated by the constrained sites — which is why gene-level dN/dS rarely exceeds 1 even for proteins under strong positive selection on a few sites. Site-wise models (PAML, HyPhy) are the standard follow-up when you want to locate the signal.