Oncofusion

start / graph / ana-q192-rpa1-and-rpa2-are-hgnc-curated-aliases-of-rna-polymerase-i-subunits

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

RPA1 and RPA2 are curated HGNC aliases of POLR1A and POLR1B, and RPA34 - a UniProt synonym of RPA2 - is an alias of POLR1G, so three of the ssDNA clamp's names point at RNA polymerase I subunits; the hazard is in symbol-based DATABASE lookups, not in PubMed, and the measured contamination says which

also called RPA / POLR1 symbol collision · RPA1 POLR1A RPA2 POLR1B collision

The three proteins of the DNA-coating clamp are called RPA1, RPA2 and RPA3. Confusingly, the subunits of the machine that makes ribosomal RNA are also called RPA1, RPA2 and similar names in older literature and in gene databases. A search on the symbol can therefore hand you a completely different protein from a different part of the nucleus.

The same thing, for a scientist

**Measured at HGNC and at the Human Protein Atlas on 2026-09-24.** `RPA1` is a curated **alias_symbol of POLR1A** (HGNC:17264, 'RNA polymerase I subunit A', alongside RPA190 and RPO1-4) as well as the official symbol of HGNC:10289. `RPA2` is a curated **alias_symbol of POLR1B** (HGNC:20454, 'RNA polymerase I subunit B', alongside RPA135). And **`RPA34`, which UniProt lists as a synonym of RPA2 (P15927), is a curated alias of POLR1G** (CD3EAP/PAF49). `RPA3` is clean - it is **not** an alias of POLR1C, whose aliases are RPA40, RPA39, RPA5, AC40, RPAC1 and RPC40 [E1]. **Where the hazard bites, and where it does not.** An HPA symbol search on `RPA1` returns **nine** rows including POLR1A, POLR1B, POLR1D and POLR1H, with nucleolar-fibrillar-centre localisations that a reader would find biologically interesting and that belong to different proteins [E2]. **In PubMed the contamination is small**: `RPA1[tiab]` returns 364 records of which 5 also name 'RNA polymerase I' (1.4%), and `RPA2[tiab]` returns 324 of which 10 do (3.1%) [E3]. **So this is an alias-expansion and database-lookup trap, not a literature-query trap** - which is the opposite of most rows in this project's collision registry, and is the useful part of the measurement. **Why it is live rather than theoretical here.** This corpus has a nucleolar thread (`nucleolar-block`), holds `gene-topbp1` whose subnuclear address is the **nucleolar fibrillar centre**, and its `is-symbol-covered.py` resolver expands symbols through a 58,536-row retired/alias index - so a POLR1A or POLR1B entry would be a candidate for a **false COVERED** answer on RPA1 or RPA2, which is the dangerous direction. **No POLR1* entry exists today** (`list-node-ids.py --grep polr` returns nothing), so the trap has not fired and this entry is prophylaxis [E4].

Go deeper
The registry, and what this beat did about it

data/symbol-collisions.json had no row for RPA1, RPA2, RPA3, RPA, RFA2, REPA2, RPA32, RPA70 or RPA14 - checked with word-boundary matching over both the collisions and non_gene_antigens arrays, 220 rows, using the corrected read from brief rule 88 (the rows live under d['collisions']; the pre-cycle-59 one-liner returned [] for every symbol ever checked) 4.

A row has been added by this beat, because this project's own recorded lesson is that a collision documented only in prose is not documented - the registry is what every beat greps, and a trap written into an entry fired again one cycle later. The row records both directions, names POLR1A, POLR1B and POLR1G explicitly, carries the measured PubMed contamination so a reader can judge, and states that RPA3 is clean.

Per rule 88's corollary: this is a NEW find, not a rediscovery. The registry had no RPA row of any kind before today.

The reagent-name consequence, which is not hypothetical

The one paper this beat found placing RPA at the KMT2A locus - Sun et al. 2010, ChIP at the MLL 11q23 breakpoint cluster region after etoposide - names its antibody 'anti-RPA34 (LabVision)' in Methods and 'anti-RPA32' in its figure legends 5.

RPA34 is ambiguous between P15927 (this project's RPA2) and POLR1G (CD3EAP/PAF49), for which it is a curated HGNC alias 1. The figure legends resolve it - RPA32 is unambiguous for P15927 - and the paper's supplementary blot shows phosphorylated and unphosphorylated RPA32 species, which only the ssDNA-clamp subunit has. So the target is RPA2 and the identification is secure.

But the route to that security was reading two different naming conventions in the same paper and cross-checking both against HGNC. A beat that took the Methods name at face value and expanded it through an alias index could have filed a nucleolar RNA-polymerase-I subunit as the protein loading onto the KMT2A breakpoint hotspot. Rule 74 is the general form - the clone is the identifier, not the label - and no clone is given here.

Facts and figures
scriptno script - a database-resolution check with every query and response recorded inline
statusrun
run date2026-09-24
run byQ192-the-rpa-heterotrimer
result summaryRPA1 is an HGNC alias of POLR1A; RPA2 of POLR1B; RPA34 (a UniProt synonym of RPA2) of POLR1G. RPA3 is clean. PubMed contamination is a LOWER BOUND of 1.4% (RPA1) and 3.1% (RPA2) and the abbreviation forms were not run. The hazard is symbol-based database lookup and alias expansion, not literature search. No POLR1 entry exists in the corpus, so no false-COVERED answer has been produced yet. A registry row has been added.
which alias source mattersThe trap depends on the alias source. HGNC records NO alias symbols for RPA2, while UniProt lists REPA2, RPA32 and RPA34. So an HGNC-based resolver will not expand RPA32/RPA34 (and will therefore miss the POLR1G link), while a UniProt-based resolver will not know that RPA34 is also an RNA-polymerase-I name. A complete check requires BOTH sources, and that is the transferable instruction from this entry.
measurements
count0.000count: 0share0.014share: 0.014count3.000count: 3
inputs
[
  "HGNC REST fetch/symbol for POLR1A, POLR1B, POLR1C, RPA1, RPA2, RPA3",
  "Human Protein Atlas search_download API for RPA1, RPA2, RPA3",
  "NCBI PubMed esearch via scripts/pubmed_safe.py for contamination counts",
  "data/symbol-collisions.json, word-boundary scan of collisions and non_gene_antigens",
  "scripts/list-node-ids.py --grep polr",
  "PMC full text of PMID 21048951 for the antibody naming"
]
collision table
{
  "RPA1": {
    "official": "HGNC:10289 replication protein A1",
    "collides_with": "HGNC:17264 POLR1A, RNA polymerase I subunit A (alias_symbol RPA1, RPA190, RPO1-4)",
    "source": "HGNC REST, fetched 2026-09-24",
    "confidence": "established"
  },
  "RPA2": {
    "official": "HGNC:10290 replication protein A2",
    "collides_with": "HGNC:20454 POLR1B, RNA polymerase I subunit B (alias_symbol RPA2, RPA135)",
    "source": "HGNC REST, fetched 2026-09-24",
    "confidence": "established"
  },
  "RPA34": {
    "official": "UniProt synonym of RPA2 (P15927)",
    "collides_with": "POLR1G (CD3EAP/PAF49), for which RPA34 is a curated alias",
    "source": "HPA synonym field, 2026-09-24; POLR1G's HGNC record was NOT fetched directly",
    "confidence": "moderate - single source"
  },
  "RPA3": {
    "official": "HGNC:10291 replication protein A3",
    "collides_with": "NOTHING in the POLR1 family - POLR1C's aliases are RPA40, RPA39, RPA5, AC40, RPAC1, RPC40 and do NOT include RPA3",
    "source": "HGNC REST, fetched 2026-09-24",
    "confidence": "established"
  },
  "RPA3_secondary": {
    "note": "an HPA search on RPA3 returns UMAD1 via the aliases RPA3-AS1 and RPA3OS - an antisense-transcript name resolving to a different protein-coding gene",
    "source": "HPA, 2026-09-24",
    "confidence": "established"
  }
}
contamination measurement
{
  "RPA1": {
    "total_tiab": 364,
    "co_mention_rna_pol_I": 5,
    "pct": 1.4
  },
  "RPA2": {
    "total_tiab": 324,
    "co_mention_rna_pol_I": 10,
    "pct": 3.1
  },
  "RPA3": {
    "total_tiab": 197,
    "co_mention_rna_pol_I": 0,
    "pct": 0
  },
  "RPA32": {
    "total_tiab": 174
  },
  "RPA34": {
    "total_tiab": 25
  },
  "IS_A_LOWER_BOUND": "YES, and materially so. Only the spelled-out phrase \"RNA polymerase I\"[tiab] was used. 'Pol I'[tiab] and 'RNA Pol I'[tiab] were NOT run and abbreviations dominate that field's abstracts, so the true rate is higher by an unknown factor. Do not quote 1.4% as the contamination rate."
}
registry action
{
  "row_added": true,
  "file": "data/symbol-collisions.json",
  "token": "RPA1 / RPA2 / RPA34 versus the POLR1 (RNA polymerase I) family",
  "is_new_or_rediscovery": "NEW - the registry had no RPA row of any kind before 2026-09-24 (220 rows checked by word-boundary match over d['collisions'] and d['non_gene_antigens'], using the rule-88 corrected read)",
  "why_the_registry_and_not_just_this_entry": "Because a collision documented only in prose is not documented. This project has a recorded instance of a trap being written into an entry rather than the registry every beat greps, and the trap firing again one cycle later."
}
why live in this corpus
[
  "The corpus has a nucleolar-block node folder and a nucleolar thread, so POLR1 subunits are plausible future entries.",
  "gene-topbp1's subnuclear address is recorded as the NUCLEOLAR FIBRILLAR CENTRE - the same compartment HPA assigns to POLR1A, POLR1B, POLR1D and POLR1H - so a nucleolar RPA1/RPA2 hit would look thematically plausible rather than obviously wrong.",
  "scripts/is-symbol-covered.py resolves through a 58,536-row retired/alias index, so the false answer this collision enables is a false COVERED, which is the dangerous direction: it would report RPA1 as already written when a POLR1A entry existed.",
  "The one paper placing RPA at the KMT2A locus names its antibody 'anti-RPA34', a name shared with POLR1G."
]
measurements — the numbers behind the chart
[
  {
    "quantity": "count",
    "subject": "RPA-family symbols that are curated HGNC aliases of RNA polymerase I subunits",
    "value": 3,
    "units": "symbols",
    "n": 4,
    "universe": "RPA1, RPA2, RPA3 and the UniProt synonym RPA34, each resolved at HGNC on 2026-09-24",
    "null": 0,
    "note": "RPA1->POLR1A, RPA2->POLR1B, RPA34->POLR1G. RPA3 is clean. null is what a non-colliding symbol family would give."
  },
  {
    "quantity": "share",
    "subject": "RPA1[tiab] records also naming \"RNA polymerase I\"",
    "value": 0.014,
    "units": "fraction",
    "n": 364,
    "universe": "PubMed title/abstract, 2026-09-24, spelled-out phrase only",
    "null": null,
    "note": "LOWER BOUND - the 'Pol I' abbreviation forms were not queried. RPA2's equivalent is 0.031 (10/324) and RPA3's is 0.000 (0/197)."
  },
  {
    "quantity": "count",
    "subject": "POLR1-family nodes in this corpus",
    "value": 0,
    "units": "entries",
    "n": 3086,
    "universe": "scripts/list-node-ids.py --grep polr over all node ids, 2026-09-24",
    "null": null,
    "note": "so the false-COVERED failure this collision enables cannot have fired yet; this entry is prophylaxis"
  }
]
How this could bite us back
  • Overstating a collision has its own cost: a future beat that reads this row and then discounts RPA1 or RPA2 literature hits would lose real evidence, because the measured PubMed contamination is low. The row is an instruction to check database lookups, not a licence to distrust counts.
Still open
  1. What is the contamination rate using the abbreviation forms 'Pol I'[tiab] and 'RNA Pol I'[tiab]? Not run. The 1.4% and 3.1% figures in this entry are lower bounds and the qualitative conclusion - that PubMed is largely clean for these symbols - is provisional on that query.
  2. Which nine candidate names does scripts/is-symbol-covered.py try for RPA1, and do any of them reach into the POLR1 namespace (RPA190, RPO1-4)? The tool prints the count and not the list, so its own exposure to this collision is unknown.
  3. Does the corpus's antibody or reagent extraction ever expand a Methods-section symbol through an alias index? If so, 'anti-RPA34' is a live instance and should be added to whatever guard exists.
  4. RPA4, the subunit that substitutes for RPA2 in aRPA, was not resolved at HGNC or checked for collisions. It has no entry in this corpus.
Every source behind this entry (5)
  1. E1established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.database

    At HGNC on 2026-09-24: POLR1A (HGNC:17264, 'RNA polymerase I subunit A') carries alias_symbol RPA1 alongside RPA190, RPO1-4, DKFZP586M0122 and FLJ21915; POLR1B (HGNC:20454, 'RNA polymerase I subunit B') carries alias_symbol RPA2 alongside RPA135, Rpo1-2, FLJ21921 and FLJ10816; POLR1C (HGNC:20194, 'RNA polymerase I and III subunit C') carries RPA40, RPA39, RPA5, AC40, RPAC1 and RPC40 but NOT RPA3; RPA1 is HGNC:10289 'replication protein A1' with aliases REPA1, RPA70, HSSB, RF-A, RP-A; RPA2 is HGNC:10290 'replication protein A2' with NO alias symbols recorded; RPA3 is HGNC:10291 'replication protein A3' with alias REPA3 only; and none of the six has a previous symbol.

    What this evidence cannot show

    One database on one day. HGNC alias lists are curated and incomplete in both directions: note that HGNC records NO alias symbols for RPA2 while UniProt P15927 lists REPA2, RPA32 and RPA34 - so an alias resolver built on HGNC alone will not expand RPA32 or RPA34, and one built on UniProt alone will not know that RPA34 is also POLR1G. The trap therefore depends on WHICH alias source a tool uses, and a complete check needs both. RPA4, the aRPA subunit that substitutes for RPA2, was not queried. POLR1G was observed via the HPA response (as 'RPA34' among its synonyms) and its HGNC record was NOT fetched directly, so that one link is a single-source claim and is graded accordingly in the data block.

    Evidence that argues against this (1)
    • A curated alias is not evidence that anyone is actually confused, and the honest counterweight is this beat's own PubMed measurement [E3]: at 1.4% and 3.1% co-mention with 'RNA polymerase I', the literature keeps these names largely separate. So this row should not be used to discount a literature count on RPA1 or RPA2, only to discipline symbol-based database lookups. Overstating a collision has its own cost - it invites a future beat to discard real hits. NCBI PubMed E-utilities 2026
  2. E2established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.database

    A Human Protein Atlas symbol search on 'RPA1' returns nine rows - RPA1, SNRPA1, TRPA1, POLR1A, POLR1B, POLR1H, HNRNPA1, POLR1D and RADX - of which four are RNA-polymerase-I subunits carrying RPA-family synonyms (POLR1A: RPA1, RPA190; POLR1B: RPA2, RPA135; POLR1H: RPA12; POLR1D: RPA16, RPA9) and three of those four are localised to the nucleoli fibrillar center; a search on 'RPA2' returns RPA2, POLR1B and HNRNPA2B1; and a search on 'RPA3' returns RPA3, UMAD1 (via the aliases RPA3-AS1 and RPA3OS), POLR1G (via RPA34), HNRNPA3 and POLR1C.

    What this evidence cannot show

    HPA's search is a substring-and-synonym match, so some of these nine are ordinary substring noise (SNRPA1, TRPA1, HNRNPA1 all contain the letters RPA1) and NOT alias collisions - the four POLR1* rows are the real collision and the rest are the short-symbol substring problem brief rule 88 warns about. That distinction is the content of this item: the same query returns two different kinds of false hit and they need different defences. The POLR1G/RPA34 link is observed here in HPA's synonym field and is corroborated only by that single source in this beat.

    Evidence that argues against this (1)
    • Most of the nine rows are harmless and a reader who treated all nine as collisions would be wrong. SNRPA1 in particular has already been met in this corpus: the Q180 subunit sweep of the Skucha table recorded SNRPA1 (P09661) as its only substring hit when looking for RPA-family symbols, and correctly identified it as a different gene. So the substring hazard is documented and the ALIAS hazard - POLR1A/POLR1B - is the new part. This repository 2026
  3. E3established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.database

    The PubMed contamination from the RNA-polymerase-I nomenclature is small and asymmetric: RPA1[tiab] returns 364 records of which 5 (1.4%) also match "RNA polymerase I"[tiab]; RPA2[tiab] returns 324 of which 10 (3.1%); RPA3[tiab] returns 197 of which 0; and RPA34[tiab] returns 25 records while RPA32[tiab] returns 174.

    What this evidence cannot show

    THIS IS A LOWER BOUND ON CONTAMINATION, not a measurement of it. An RNA-polymerase-I paper that writes 'Pol I' or 'RNA Pol I' rather than the spelled-out phrase is not counted, and abbreviations dominate that field's abstracts - so the true co-mention rate is higher than 1.4% and 3.1%, by an unknown factor. The complementary forms 'Pol I'[tiab] and 'RNA Pol I'[tiab] were NOT run, which is the single biggest hole in this item. Also, co-mention is not confusion: a paper naming both may be distinguishing them correctly. The percentages should be read as 'the literature mostly keeps these apart' and not as a precise error rate.

    Evidence that argues against this (1)
    • The lower-bound problem is severe enough to flip the qualitative conclusion if the abbreviation forms were run - if 'Pol I'[tiab] co-mention with RPA1 were, say, 15%, the 'PubMed is largely clean' framing in this entry would not survive. That query was not run, so the framing in this entry's summary is provisional on it, and a later beat should run it before quoting the 1.4% figure. Flagging my own measurement as the weak part rather than leaving the reader to find it. This repository 2026
  4. E4established confidence 5 of 5: Multiple independent lines of evidence; treated as settled in the field.database

    Before this beat, data/symbol-collisions.json contained no row matching RPA1, RPA2, RPA3, RPA, RFA2, REPA2, RPA32, RPA70 or RPA14 under word-boundary matching over its collisions and non_gene_antigens arrays (220 rows total), and no POLR1-family node exists anywhere in the corpus (scripts/list-node-ids.py --grep polr returns nothing over 3,086 entries), so the false-COVERED failure mode this collision enables has not yet fired.

    What this evidence cannot show

    The registry read used the CORRECTED form from brief rule 88 - iterating d['collisions'] rather than the dict's top-level keys, which is the cycle-59 defect that returned [] for every symbol - and word-boundary rather than substring matching, which is the cycle-60 scope note. Both failure modes were avoided deliberately and the result is therefore trustworthy in a way that the same check was not before cycle 59. The --grep polr result is a substring match on node IDS only; a POLR1 protein could in principle be discussed inside an entry with a different id, and that was not checked.

    Evidence that argues against this (1)
    • 'The trap has not fired' is a statement about today's corpus and it is exactly the kind of clean bill of health this project has learned to distrust: is-symbol-covered.py resolves through a 58,536-row retired/alias index and reported 'no match under 9 candidate names' for RPA1, so the nine names it tried are unknown to this entry - if one of them was POLR1A's RPA190 or RPO1-4, the resolver is already reaching into the pol-I namespace and simply found nothing there. The nine candidate names were not printed by the tool and were not recovered, which is a gap in this item. This repository 2026
  5. E5strong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.paper

    Sun et al. 2010 names its RPA antibody 'anti-RPA34 (LabVision)' in its Antibodies section and 'anti-RPA32 antibodies' in its Figure 4 and Figure S13 legends, with no clone identifier given; RPA34 is both a UniProt synonym of RPA2 (P15927) and a curated HGNC alias of POLR1G, while RPA32 is unambiguous for P15927.

    ATM modulates the loading of recombination proteins onto a chromosomal translocation breakpoint hotspot. · Sun J, Oma Y, Harata M, Kono K, Shima H, Kinomura A, et al. · PLoS One 5(10):e13554 2010
    What this evidence cannot show

    Full text read from PMC 2026-09-24; the vendor catalogue was not consulted and no clone was recoverable from the text. The target identity is nonetheless secure - the figure legends use RPA32, and Figure S13 shows the antibody immunoprecipitates both a phosphorylated and an unmodified RPA32 species, which is a property of the ssDNA-clamp subunit and not of an RNA-polymerase-I subunit - so this item records an ambiguity in the NAME that the paper itself resolves, not a doubt about the experiment. LabVision as a vendor was acquired and its catalogue numbers have migrated, which makes clone recovery harder now than in 2010.

    Evidence that argues against this (1)
    • It would be wrong to present this as a case where the collision caused an error, because it did not: the paper is internally consistent and the target is identifiable. The claim here is narrower and is about exposure - a downstream reader extracting reagents programmatically from Methods sections, which is how this corpus builds antibody records, would take 'RPA34' and could expand it wrongly. That is a risk in this project's own pipeline, not a defect in the paper. This repository 2026
Connected to