One participant from the 10-1074 monotherapy cohort1, run through the paper’s own ancestor-matching code2. Every dot is a distinct viral haplotype. Every line links a later haplotype to its closest earlier one. Each numbered orange dot marks one independent origin of escape.
The paper compares each haplotype with every haplotype sampled earlier and links it to the closest. The 12 nucleotides at the three escape sites (325, 332, 334) are masked first, so the match is made on the other ~300 positions of the window. Linked haplotypes form lineages. An origin is a distinct escape genotype inside one lineage among week-4 haplotypes. The real network has 29 of them, spread over 11 lineages. Table 7 reports 32 for this participant.
Dots in the strip at the bottom are Day-0 haplotypes that no later haplotype picked as its closest ancestor. They have no descendants in this sample.
The simulated side starts from the same 88 real Day-0 haplotypes and the same sequencing depths, then runs 3 and 11 generations of the project’s Wright-Fisher model with the corrected escape definition. It shows replicate 0 of 30. 25 of the 30 replicates give zero origins, four give one, one gives two. Every week-1 and week-4 haplotype is identical to a Day-0 haplotype over the matched window, and none carries an escape mutation, so there is nothing to count.
The real-data counts come from the paper’s unmodified matched_anc.py and counting loop, run on 240 GenBank sequences for this participant2. The count of 29 matches the project’s own reproduction. This view is one participant, chosen because it is fully wild-type at Day 0 and its count is close to the published one. The layout is a force simulation, so positions are arbitrary and only the links and distances mean anything.