CRISPR genome map: every guide the registry publishes, not the two we could name
The first version screened two guides found by searching NCATS GSRS for drug names recalled from
memory. That is a completeness defect no harness can catch -- a guide nobody recalls is silently
absent from a safety map. All 742 nucleicAcid substances were therefore scanned for the canonical
SpCas9 sgRNA scaffold GUUUUAGAGCUAGAAAUAGCAAGU. Fifteen carry it, and in every one the scaffold
begins at position 20, which makes the 20-base spacer a measurement rather than a convention.
Finding guides by STRUCTURE rather than by NAME vindicated an earlier refusal instead of
overturning it. NTLA-2001's own record is the full 4,423-base molecule carrying the Cas9 messenger
RNA, with no isolatable spacer, and it was refused. Its guide exists under a separate record --
Nexiguran, UNII 5G537B4BTJ -- and the structural scan found it. Refusing to guess lost nothing.
The cut site is now MEASURED, not declared. Most guide records carry no target annotation, so
demanding a declared chromosome cannot enumerate a registry -- it would have reported nothing for
fourteen of fifteen guides. A guide's measured site is where its zero-mismatch match actually falls
in the assembly; off-targets are the sites outside it; and a guide with no zero-mismatch site
anywhere gets no off-target list because its published spacer and the assembly disagree.
Validated on chromosome 2 before the whole-genome run: only Casgevy, whose BCL11A target is on
chr2, found a site there, and all fourteen others correctly found none.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Three defects were caught in the page generator before publication, each by checking output rather
than trusting code. The seal regex lacked re.MULTILINE and matched nothing, so the gate refused and
published nothing. A prefix-based join then filled the table but gave the two evoncabtagene guides
and the two soficabtagene guides IDENTICAL off-target profiles, because the summary table truncates
names to 37 characters and both pairs share that prefix -- one guide's numbers under another
guide's name. Keying the detail blocks by UNII fixed it, and the published rows now reproduce the
per-guide profile computed independently from the raw output.