Dual-targeting siRNA landscape — full live discovery test (rerun-2, 2026-06-29)¶
What this is. The product's real Explore use case: give the system one sentence, let it decompose → query live sources → discover companies and assets it was never told about → iterate → score against the Sanofi deck (32 assets / 12 deals / ~36 companies). This is the "how much can the system map from a single sentence" test. Thesis: "Map the competitive landscape of dual-targeting siRNA therapeutics for cardiometabolic disease."
TL;DR¶
- Headline (full live, +CDE, pinned scope): company recall 19/36 (53%), asset recall 17/32 (53%), deal recall 2/12. Beats the closed-world asset baseline (15/32) cold, from one sentence.
- CDE is the single biggest lever. Turning the China-registry bridge on lifts company recall 12/36 → 19/36 (+7) and asset recall 11/32 → 17/32 (+6). The +7 are exactly the China names the deck is built on: Argonaute RNA, CSPC, Hansoh, Innovent, Jiangsu Hengrui, Merck, Visirna.
- Per-source attribution (the deliverable): of the 19 recalled deck companies, first-surfaced by lens 6 / cde 6 / clinicaltrials 5 / openalex 2. Company discovery volume: lens 148, sec 136, openalex 37, cde 32, clinicaltrials 19, hkex 13, anzctr 1.
- ANZCTR (newly wired this run) contributes 1 unique net-new lead — OliX / OLX75016, an Australian-registered dual siRNA CT.gov did not surface. Real but modest (ANZCTR is a small registry).
- Precision is ~5% — and that is expected and reframed: of 342 novel (non-deck) surfacings, 21 core / 56 honorable-mention / 265 off-thesis. The core + honorable mentions (Arbutus, Eddingpharm, Salubris, a deep China long-tail) are intelligence the deck missed, flagged for verification — not noise.
- Patent backend = Lens, not gpatents. gpatents auth works but the BigQuery free-tier monthly byte quota (1 TiB) is exhausted (~229 GiB/query, project unbilled) — a different cliff than the rate limit gpatents was meant to solve. Lens carried the patent layer (China applicants included).
1. Headline numbers — three arms¶
All arms: live sources, rounds 3, Lens patent backend, shared result cache (cleared first, so Arm 1 is cold; Arms ⅔ reuse Arm 1's successes — making the CDE delta a clean difference).
| metric | Arm 1 — baseline (--no-cde) |
Arm 2 — full (+CDE) | Arm 3 — LLM decompose (+CDE) | closed-world baseline |
|---|---|---|---|---|
| company recall | 12/36 (33%) | 19/36 (53%) | 17/36 (47%) | — |
| asset recall (sponsor) | 11/32 (34%) | 17/32 (53%) | 17/32 (53%) | 15/32 (47%) |
| asset recall (code-level) | 7/32 (22%) | 8/32 (25%) | 6/32 (19%) | — |
| deal recall | 1/12 (8%) | 2/12 (17%) | 1/12 (8%) | 11/12 (92%) |
| company precision | 5% (12/244) | 5% (19/361) | 4% (17/406) | — |
| novel scope-fit (core/hm/off) | 21 / 47 / 164 | 21 / 56 / 265 | 27 / 69 / 293 | — |
Arm 2 (full, pinned --no-llm scope) is the headline. The LLM-decompose arm (Arm 3) under-recalls
companies (17 vs 19) because the live LLM decomposition dropped the CFB target and over-expanded into
NASH/metabolic targets (PNPLA3, HSD17B13, TTR) — diluting the cardiometabolic-core search. This is the
concrete argument for pinning scope on the reproducible arms.
2. The CDE delta — the China-registry contribution, isolated¶
Arm 1 (no CDE) vs Arm 2 (+CDE), non-CDE results held identical by the shared cache:
- Company recall 12 → 19 (+7). The 7 CDE adds: Argonaute RNA, CSPC Pharma, Hansoh Pharma, Innovent Biologics, Jiangsu Hengrui Pharma, Merck, Visirna.
- Asset recall (sponsor) 11 → 17 (+6).
- Deal recall 1 → 2 (CDE-discovered sponsors feed the deal scorer).
CDE works as a concept→sponsor bridge: an indication search (高胆固醇血症 / 血脂异常 / 高脂血症 ∩ chemical drugs) returns a sponsor roster; each raw 申请人 is a newly-discovered Chinese company resolved downstream. This is the mechanism that turns "one sentence" into the China half of the landscape.
3. Per-source coverage + entity discovery (the centerpiece)¶
3a. Company discovery by source — full arm (deck vs net-new)¶
| source | companies discovered | on-deck | net-new |
|---|---|---|---|
| lens (patents) | 148 | 7 | 141 |
| sec | 136 | 4 | 132 |
| openalex | 37 | 4 | 33 |
| cde | 32 | 9 | 23 |
| clinicaltrials | 19 | 7 | 12 |
| cn_filings (hkex) | 13 | 1 | 12 |
| anzctr | 1 | 0 | 1 |
Lens/SEC discover the most volume (mostly net-new China applicants + filers — the precision flood the scope-fit buckets reframe); CDE discovers the most deck companies (9) for the least volume — the highest-signal source for this landscape.
3b. First-surfacing source — which source first surfaced each of the 19 recalled deck companies¶
| source | deck companies first-surfaced |
|---|---|
| lens | 6 |
| cde | 6 |
| clinicaltrials | 5 |
| openalex | 2 |
(sec / cn_filings / anzctr contributed net-new + deal co-occurrence but did not first-surface a deck company — others reached those names first.)
3c. ANZCTR isolation (user focus) — what it surfaces that clinicaltrials does not¶
ANZCTR was not previously wired into the discovery eval; it was added this run (commit d1b7aea).
Wired as a concept→registry bridge over WHO ICTRP (ANZCTR-origin ACTRN only).
- Uniquely ANZCTR (in ANZCTR, not in clinicaltrials): 1 company — OliX / OLX75016 (
ACTRN12624000023550), a chemically-synthesised dual siRNA, labelledcorein-thesis, registered 2024-01. CT.gov does not carry it; ANZCTR does. - Deck assets uniquely via ANZCTR: 0. The deck's Australian-registered asset (Sanegene SGB-BS01) was already first-surfaced by clinicaltrials, so ANZCTR confirmed rather than uniquely-recovered it.
- Honest read: ANZCTR adds a real Southern-Hemisphere lead the other registries miss, but its volume is small — only ~1 ACTRN siRNA trial matches a modality search (the registry is small, and ICTRP basic search is a phrase match over condition+title, so concept queries fire single modality tokens, not gene symbols). It is a recall bonus, not a primary engine, for this landscape.
3d. Per-source timing (full arm, §0c — wall is cumulative across concurrency, not real elapsed)¶
Proves every source ran live and the cache works (cached re-runs collapse to ~0). CDE = 3 calls (the indication bridge + per-code), anzctr/sec/clinicaltrials are the tall poles (per-entity round-2 fan-out).
3e. Signals per source (live corpus composition)¶
Full arm harvested 1464 backing signals. Per-source company-discovery volume (3a) is the live
analogue of corpus composition; exact per-source raw-signal counts would need a one-line run_meta
instrument (tracked follow-up) — the call counts in §0c and the discovery volumes in 3a are the proxy.
4. Scope-fit + honorable mentions — players the deck may have missed¶
Flat precision (~5%) treats every non-deck surfacing as drag. It isn't. Of 342 novel surfacings in the full arm: 21 core / 56 honorable-mention / 265 off-thesis. The leads (each flagged, needs primary-source verification — never asserted as a confirmed deck-miss):
| entity | scope-fit | targeting | first surfaced | source(s) |
|---|---|---|---|---|
| Arbutus Biopharma | core | dual siRNA | 2023-07 | lens |
| Dicerna | core | dual siRNA | 2024-06 | openalex, sec |
| Olix / OLX75016 | core | dual siRNA | 2024-01 | anzctr |
| Shanghai Tuojie (Argo) | core | dual siRNA | 2025-09 | hkex, lens |
| Beijing Youcare Kechuang | core | dual siRNA | 2026-04 | hkex, lens |
| Shanghai Rona Therapeutics | core | dual siRNA | 2026-01 | clinicaltrials, lens |
| Eddingpharm | core | dual siRNA | 2026-03 | clinicaltrials |
| Guangzhou Ribobio / Bebetter / Sunshine Lake / Agna / Leaderna … | core | dual siRNA | 2025–26 | lens |
| Shenzhen Salubris | honorable-mention | single siRNA | 2024-06 | lens |
The named deck-misses the analysts flagged (Arbutus, Eddingpharm, Salubris) all surfaced, plus a deep China long-tail. Caveat: the honorable-mention bucket contains some academic affiliations (NYU Langone, Ospedale Maggiore, university hospitals) that slipped the research-org filter — the commercial leads are the biotech/pharma rows; the academic rows are literature noise to be filtered in a pass.
5. Deals¶
Full arm recovered 2/12: D04 (Novartis × Argo Biopharma; same-signal co-occurrence) and D07 (Regeneron × Hansoh Pharma; asset-code match). Deal recall stays the hard problem live (a deal lives in one party's filing; cross-filing co-occurrence + body-fetch recover only the best-documented ones). This is consistent with the prior cold-live finding (0 cold / ~3 probe-confirmed) and far below the closed-world 11/12 (the seed corpus carries the wire/SEC text the live sweep only partially reaches).
6. Issues found (Phase 0 + run)¶
- ANZCTR / wires / gdelt were not wired into the discovery eval despite existing on
main. ANZCTR wired this run (d1b7aea); wires/gdelt remain unwired (out of scope per decision). - Two silent-zero dependency traps: CDE needs
uv sync --extra visual+playwright install chromium; gpatents needsuv sync --extra gpatents. Without them both sources return empty without error — the exact failure that invalidated the prior "definitive" run. - gpatents free-tier byte quota. ~229 GiB/query × per-concept-query fan-out blows the 1 TiB/month
free tier (project unbilled →
403). Resolved by running on Lens (valid ~until 07-09). To use gpatents durably: attach GCP billing (~$5/TiB) or batch the eval to one scan/round. - LLM decompose dropped the CFB target and over-expanded into NASH targets → the LLM arm
under-recalls vs the pinned scope. Pin scope (
--no-llm) for reproducible recall. - Throttle is partial, not zeroing. Across the 3 arms: OpenAlex 8 / Lens 16 query failures on cold bursts (Lens 10/min trial cap, OpenAlex polite pool). Sources still contributed; the shared cache recovers gaps on the next arm. CDE never skipped; no dep errors.
7. Reproducibility¶
- commit:
d1b7aea(ANZCTR wiring) on brancheval/anzctr-discovery-wiring, offmain6298bed. - scope (pinned arms): modalities siRNA/RNAi; subclass dual-targeting/divalent/bispecific/bivalent; targets PCSK9, ANGPTL3, APOC3, LPA, AGT, CFB; 13 cardiometabolic indications; horizon preclinical+.
- commands:
A=scripts/eval/sirna_autonomous_discovery.py ; T="Map the competitive landscape of dual-targeting siRNA therapeutics for cardiometabolic disease." rm -rf archived_data/.eval_cache uv run python $A "$T" --corpus live --no-cde --no-llm --rounds 3 --patents-backend lens --out-dir archived_data/live_rerun_baseline uv run python $A "$T" --corpus live --no-llm --rounds 3 --patents-backend lens --out-dir archived_data/live_rerun_full uv run python $A "$T" --corpus live --rounds 3 --patents-backend lens --out-dir archived_data/live_rerun_llm - artifacts: per arm —
sirna_discovered_companies_*.csv,sirna_discovered_assets_*.csv,sirna_gap_analysis_*.md; per-source analysisarchived_data/rerun2_per_source_analysis.md.