Oncofusion

start / graph / ana-no-cited-paper-here-is-retracted-and-the-control-is-the-story

Analysisstrong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.

None of this graph's 2,196 cited papers is retracted - and I nearly reported that from a query that could not have found one

also called retracted sources · retraction check · spike control

None of the 2,196 papers this graph cites has been retracted or flagged, and nobody had ever asked - a withdrawn paper would pass every existing check, because its title, DOI and authors all still match. The part worth remembering is that my first attempt would have given the same reassuring answer even if the graph had been full of retracted papers, because I tested the wrong thing.

The same thing, for a scientist

`check-quoted-retractions.py` is an internal check - wording this graph retracted that is still asserted elsewhere. The external question had never been asked. New checker `scripts/check-retracted-sources.py` queries batches of cited PMIDs against Europe PMC `PUB_TYPE` filters: **2,196 distinct PMIDs across 1,478 entries, 0 retracted, 0 expressions of concern, 0 retraction notices.** The result is only usable because the control was fixed: the first version controlled on a **different query shape**, which cannot license a zero from the shape actually run.

Go deeper
Why this check was missing, and why it matters here specifically

This project's citation discipline is unusually strict: every claim needs an identifier that resolves and was actually fetched and read, and verify-citations.py --strict checks 2,105 of them for title, DOI and author agreement on every run.

None of that would notice a retraction. A withdrawn paper keeps its PMID, its DOI, its title and its author list. Every field the verifier compares still matches. The record is intact; only its standing in the literature has changed.

That is a real exposure for a graph whose entire value is that its claims are traceable. A reader who follows a citation to a retracted paper does not conclude that one entry is weak; they conclude the sourcing cannot be trusted.

The control I got wrong, in a script written to enforce getting controls right

Version 1 controlled with PUB_TYPE:"Retracted Publication" AND leukemia, got 1,709 hits, concluded the filter worked, and reported a clean graph.

That is not the query the check runs. The real query is a PUB_TYPE clause ANDed with a parenthesised OR of EXT_IDs — and this project documented last week that a field-scoped AND-of-OR against this API can return zero regardless of the literature. A control on a different shape cannot license a zero from this one. I violated rule 67 inside a script written to comply with rule 67, and the failure would have been invisible: a clean report is exactly what a broken query produces here.

The fix is a spike, and it is now part of the script. Pull a PMID the index itself calls retracted, drop it into a batch of the graph's own cited PMIDs, and require the check to recover it. If the spike is lost the script exits rather than reporting clean. On the validated run: spike control PMID 42051416 (known retracted) in a batch of 80 real ids -> RECOVERED.

And the spike bounds the earlier finding usefully. The shape here does compose. So the non-composition documented in rule 67 is specific to ANDing two multi-field OR groups, not to every field-scoped AND — a narrower and more accurate statement than the rule currently makes.

How this could bite us back
  • Do not read this as a clean bill of health for the sourcing. It excludes one rare failure mode. The failures this project actually keeps finding are unreplicated single papers, abstracts compressed into mechanisms, and results generalised across lineage - none of which a retraction index can detect.
Still open
  1. Should this run every cycle? It costs about 25 queries and the answer can change without anything in this repository changing.
  2. Rule 67 should be narrowed: the non-composition is specific to ANDing two multi-field OR groups, and a blanket warning about field-scoped queries overstates it.
  3. What covers the DOI-only, URL-only and NCT-only citations, which this check cannot see?
Every source behind this entry (1)
  1. E1strong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.analysis

    Of 2,196 distinct PMIDs cited across 1,478 entries of this graph, Europe PMC flags none as a retracted publication, none as carrying an expression of concern, and none as a retraction notice, on a run whose query shape was validated by recovering a known-retracted PMID spiked into a batch of the graph's own citations.

    What this evidence cannot show

    Run 2026-09-20. **Europe PMC's PUB_TYPE indexing lags the publisher**, so this is a statement about the index on that date and not a guarantee about the literature - a retraction issued recently may not be flagged yet. **Only PMIDs are covered**: citations carrying only a DOI, URL or NCT are outside the check, and this graph has many. Strong for what it measures, which is index status of the PMID-bearing citations.

    Evidence that argues against this (1)
    • A clean retraction check says nothing about the much commoner problem: papers that are not retracted but are unreplicated, underpowered or contradicted. This graph has found several such cases by reading - a founding paper whose own data remove the specificity from its title, a 'direct target' claim contradicted by the companion study's ChIP - and none of them would ever appear in a retraction index. Retraction is the rarest failure mode of a citation, not the main one. Shi J et al. 2013
Connected to