Working journal for the GO annotation review of human AHDC1 / Gibbin.
| source | count |
|---|---|
AHDC1-goa.tsv data rows (16 lines − 1 header) |
15 |
fetch-gene stub - term: entries |
15 |
QuickGO geneProductId=UniProtKB:Q5TGY3 (numberOfHits) |
15 |
The three agree, so the stub did not collapse any rows on this gene (contrast
ADAMTSL5 and ACTR5, where it did). The three GO:0005515 rows are already split
one-per-partner-per-publication.
The task brief predicted "an InterPro2GO mapping from the AT-hook is almost certainly
present, granting a DNA-binding MF with GO_REF:0000002". There is no such row, and
there cannot be one.
InterPro API (/api/entry/InterPro/protein/UniProt/Q5TGY3/, count=2, unpaginated):
| entry | type | name | interpro2go |
|---|---|---|---|
IPR032757 |
domain | Domain of unknown function DUF4683 | (empty) |
IPR039225 |
family | Transcription factor Gibbin | (empty) |
and /api/entry/all/protein/UniProt/Q5TGY3/ returns exactly four signatures:
IPR032757, IPR039225, pfam PF15735 (DUF4683), panther PTHR15617.
Two consequences:
PF02178 nor theIPR017956 appears. UniProt's two DNA_BIND "A.T hook"/evidence line, so nothing in the sequencePTHR15617's cached metadata also has go_terms: null, andDR PAN-GO; Q5TGY3; 0 GO annotations based on evolutionary models.So AHDC1 has no family-level or domain-level GO inference from any source. Every
row on the gene traces to one of four publications plus four automatic pipelines. This
is worth stating as a non-confirmation rather than quietly dropping (ADAMTSL5 lesson).
The over-claim is present — it just entered as a manual IDA from UniProt off the
Nature paper, not as a domain-derived IEA. GO:0003700 DNA-binding transcription factor
activity requires (QuickGO definition, fetched):
"A transcription regulator activity that modulates transcription of gene sets via
selective and non-covalent binding to a specific double-stranded genomic DNA
sequence (sometimes referred to as a motif) within a cis-regulatory region."
Nothing in PMID:35585237 measures sequence-specific binding. See §4.
Computed from the cached UniProt sequence (athook.py, asserts length 1603):
| feature | residues | sequence | canonical R-G-R-P core? |
|---|---|---|---|
| A.T hook 1 | 396–408 | RRKAGRGRKADAG |
no — GRGRK, the invariant proline is absent |
| A.T hook 2 | 544–556 | KRKRGRPPKNLLL |
yes — KRK·RGRP·PKN, textbook |
RGRP occurs exactly once in the 1,603-residue sequence, at 547–550. So AHDC1 has one
canonical AT-hook and one degenerate one. An AT-hook binds the minor groove of AT-rich
DNA; even at full strength it confers no sequence specificity in the GO:0003700
sense.
The genetics does support the motif mattering: PMID:34950897 finds four of ten XGS
missense variants inside 71 residues (537–607) around AT-hook 2, two of them inside
the 12-residue core — matching UniProt's VAR_086664 (G548S) and VAR_086665 (R549H),
which lie inside 544–556. That is evidence the region is functionally important; it is
not a DNA-binding measurement. The same paper says only that "AHDC1 likely has a
function in the nucleus mediated by its AT-hook binding motifs", and the Nature paper's
Discussion says "We speculate that this regulation occurs through Gibbin DNA
binding".
PMID:35585237 (Collier et al., Nature 2022) actually didThis single paper supplies five of the fifteen GOA rows. Full text is cached.
| claim | assay | what it licenses |
|---|---|---|
| binds promoters/enhancers | ChIP-seq of a stably introduced, inducible, tagged Gibbin transgene in hESC | chromatin association; no motif, no sequence specificity reported |
| regulates ~1,100 transcripts | RNA-seq of two CRISPR KO hESC clones | regulation of Pol II transcription |
| works with GATA3 | RNA-seq epistasis; GATA3 over-expression effect abolished in GKO | coregulator, not the DNA-recognition module |
| interactome | BASU proximity labelling + MS | zinc-finger TFs incl. the entire GATA family; methyl-CpG readers |
| loop maintenance | cohesin HiChIP, WT vs GKO | requirement for contacts; not a bridging measurement |
| hypermethylation | 850k arrays, WT vs GKO; DNMT activity assay | restrains cytosine methylation at cis-regulatory DNA |
| mesoderm / skin | scRNA-seq, organoids, mosaic CRISPR mouse | mesoderm formation, skin morphogenesis |
The decisive sentences against a sequence-specific TF reading are the authors' own:
"Interestingly, Gibbin DNA binding itself does not appear to be sufficient to drive
gene expression, as ChIP-seq signal was not restricted to the mesoderm lineage or to
Gibbin-regulated loci""Day 0 ChIP-seq indicated Gibbin does not bind to DNA in the absence of RA/BMP4"
and the abstract's framing that "enhancer- or promoter-bound Gibbin interacts with
dozens of sequence-specific zinc-finger transcription factors" — i.e. the sequence
specificity in the system is supplied by the partners.
No purified AHDC1 protein appears anywhere in the paper. No EMSA, no SELEX, no motif
call, no fluorescence anisotropy. The whole DNA-side of the story is crosslinked
chromatin from cells.
Conclusion: GO:0003700 → MODIFY to GO:0003712 transcription coregulator activity,
whose definition ("modulates the transcription of specific gene sets via binding to a
DNA-binding transcription factor at a specific genomic locus, either on its own or as
part of a complex") is what the paper actually demonstrates. GO:0003682 chromatin
binding is added separately for the ChIP-seq itself.
And the shape of the correction matters as much as its direction. Ancestor closure
over is_a,part_of was fetched for both terms: GO:0003712's only ancestors are
GO:0140110 and the molecular-function root, and GO:0003700 sits under GO:0140110
too. So GO:0003712 is a sibling of GO:0003700 under GO:0140110, not an ancestor
of it. This is a lateral correction inside the transcription-regulator branch — the
review is not retreating to a vaguer parent, it is naming a different activity in the same
class. That distinction is the difference between "we could not tell how specific to be"
and "the specific claim on record is the wrong one", and only the second is true here.
The same closure query is what showed that GO:0006355 is an ancestor of GO:0003700
but not of GO:0003712 — i.e. correcting the MF silently voids the GO_REF:0000108
BP row, which is why that row is handled explicitly rather than left alone.
Two places where the neighbouring sentence changes the reading:
GO:0030216 keratinocyte differentiation: the defect is non-cell-autonomousGO:0090310 negative regulation of DNA methylation-dependent heterochromatin
formation, the one surviving GO term in that area, is excluded by the paper's ownGO:0140585 callGO:0140585 promoter-enhancer loop anchoring activity is defined as "Bridging
together two cis-regulatory elements … holding two loop anchors together to maintain a
chromatin loop." That is a direct molecular claim about AHDC1 being the bridge.
What the paper has: (a) AHDC1 ChIP peaks at promoters and enhancers; (b) AHDC1 and GATA3
separated by typical promoter–enhancer distances, which the authors say only
"suggesting that promoter/enhancer-bound Gibbin interacts with enhancer-bound GATA3
through long-range chromatin contacts"; (c) a knockout that loses contacts. And their own
mechanistic model routes the loop effect through DNA methylation and CTCF, with
decreased CTCF binding at over 2,700 sites in the GKO.
So the loop loss is established; AHDC1 being the physical bridge is not.
→ MARK_AS_OVER_ANNOTATED, with GO:1902275 regulation of chromatin organization
proposed as the claim the knockout does support.
GO:0140588 chromatin looping was considered and rejected on its definition: it
describes "loading of an extrusion motor (by an SMC family complex) … chromatin
extrusion that stops at loop anchoring sites". AHDC1 is not an extrusion motor. Reading
the label rather than the definition would have shipped a wrong term here.
GO_REF:0000107 rows are circularWITH/FROM on both is UniProtKB:Q6PAL7|ensembl:ENSMUSP00000101535. Resolved:
Q6PAL7 = AHDC1_MOUSE, reviewed (Swiss-Prot), 1,594 aa vs human 1,603 — a genuine
1:1 ortholog, not a paralog.
QuickGO on the donor shows where its two projected terms come from:
GO:0001707 IMP PMID:35585237 UniProt
GO:0043589 IMP PMID:35585237 UniProt
The same paper that gives human AHDC1 its own IDA rows for those two terms. So
Compara projects mouse annotations of PMID:35585237 onto a human gene that already
carries direct annotations of PMID:35585237. EVIDENCE_CIRCULAR_OR_REDUNDANT /
CIRCULAR_PROPAGATION, with the term itself correct. Compara runs it in both directions:
mouse Ahdc1 carries GO:0003700 and GO:0140585 as GO_REF:0000107 IEAs projected
from the human IDAs.
Same paper, same experiment class, two different evidence codes. Human hESC
GKO clones and mosaic CRISPR mouse embryos are both loss-of-function perturbations.
UniProt coded the mouse rows IMP and the human rows IDA. The human rows should be
IMP too. This affects GO:0001707, GO:0043589 and, arguably, GO:0140585 and
GO:0003700. Noted per row; it changes no term.
Asymmetry worth recording: mouse Ahdc1 additionally carries seven IMP rows from
PMID:37819197 (GO:0001889, GO:0006112, GO:0006664, GO:0009060, GO:0032868,
GO:0042445, GO:0060612 — liver development, energy reserve metabolism, glycolipid
metabolism, aerobic respiration, response to insulin, hormone metabolism, adipose tissue
development). None of these was projected to human. I deliberately did not propose
them: they are whole-animal physiological consequences of a nuclear regulator in one
species, the correct human code would be ISO/ISS not IMP (AHNAK lesson), and the
mechanism linking AHDC1 to energy expenditure is unknown. Recorded as a question instead.
PMID:35585237 — negative, and that is a findingQuickGO by reference: PMID:35585237 → 7 annotations over exactly 2 entities
(UniProtKB:Q5TGY3 ×5, UniProtKB:Q6PAL7 ×2). Not paginated; numberOfHits == len(results).
This is the ACTR8 check, and it comes back clean: no complex-level projection, no
spreading of one phenotype across a subunit set. Contrast ACTR8, where
PMID:23979016 annotated 16 entities with identical evidence.
GO:0005515 — what NbExp actually decomposes intoThis section was rewritten after I got it wrong the first time. My first pass wrote
that "all twelve HTT records are the same single experiment logged twelve times", inferred
from the records sharing one publication accession. Dumping the full records instead of
the summary fields refuted it: the twelve rows carry twelve distinct interaction ACs
and four distinct aliasesA construct sets. The campaign rule is verify the number, don't
find a story that makes it acceptable — I nearly shipped the story.
UniProt's CC -!- INTERACTION: block reads ATXN1; NbExp=5 and HTT; NbExp=12.
Expanding every IntAct record (73 records, 45 distinct partners; totalElements asserted
against rows read; 2 of the 73 are RNA-level records where AHDC1 appears as
ENST00000374011 and are reported rather than silently dropped):
| partner | records | publications | what the records actually differ by | MI |
|---|---|---|---|---|
ATXN1 P54253 |
5 | 2 | PMID:16713569 → 2 records, one method (2 hybrid), differing by ATXN1 fragment: 528-815 "c terminal" and 557-699 "axh region", both sufficient to bind. PMID:32814053 → 3 records differing only by sub-method label, all one construct p.Gln225[50] |
0.67 |
HTT P42858 |
12 | 1 | 4 HTT constructs × 3 sub-method labels. Constructs: 1932-2642; 1-511 Gln18[49]; exon-1 with Gln18 at 17/20/23/49/51/79; 1-504 with Gln18[23]/Gln18[80] |
0.56 |
So the honest decomposition is:
validated two
hybrid (MI:1356) + two hybrid array (MI:0397) + two hybrid pooling (MI:0398) aresufficient to
bind, and curates some polyQ lengths as mutation disrupting strength and others asmutation with no effect, so the Y2H readout is graded. And on ATXN1, PMID:16713569sufficient to bind features, on EBI-10697753 and EBI-9090956; thePromiscuity check: HTT has 1,216 distinct IntAct partners and ATXN1 634, against
AHDC1's 45. Both are polyQ neurodegeneration baits, and both screens were designed around
neurodegeneration panels rather than around AHDC1's biology. AHDC1 is also heavily
disordered (ten MobiDB-lite disordered regions in UniProt), the classic sticky-prey
profile.
Partner-accession discipline (ACRV1 lesson): both partners resolve to reviewed
Swiss-Prot canonical entries at full length (ATXN1 815 aa, HTT 3,142 aa). No TrEMBL or
ORFeome substitution here — a negative result, reported.
Verdict, per partner, and it splits:
KEEP_AS_NON_CORE. Two independent laboratories, region mappingMARK_AS_OVER_ANNOTATED. One laboratory, bait-panel design, a 1,216-partnerNeither is REMOVE: both are experimental IPI rows. The informative replacement is not a
refinement of either — it is GO:0140297 DNA-binding transcription factor binding, from
the functional paper's own proximity interactome.
CommentsCorrections read from each cited article's own PubMed record (a Publisher
Correction is not findable by a publication-type query — ACTR8 lesson):
| PMID | pubtypes | CommentsCorrections |
|---|---|---|
| 35585237 | Journal Article | none |
| 33644933 | Journal Article + support | none |
| 32814053 | Journal Article + support | none |
| 16713569 | Journal Article + support | CommentIn → PMID:16713557 (a Cell Preview, not a correction) |
| 34950897 | Journal Article | none |
| 37819197 | Journal Article + support | none |
| 24791903 | Case Reports + Journal Article | none |
No retractions, errata or expressions of concern.
faith_pct: 100.0 and it missed the only functional paperThe record has no gates_passed field; its frontmatter carries
self_evaluation_pairwise: tie, faith_pct: 100.0, n_discoveries: 6,
citation_count: 6. All six citations are real numeric PMIDs (no PMID:bio_*
preprint ids); each was fetched from PubMed and resolves to a record whose title matches
the claim attached to it, and none carries a retraction, erratum or expression of
concern. Precision is not the problem here.
But its narrative states:
"The direct molecular mechanism by which nuclear AHDC1 influences gene regulation,
development, or metabolism has not been characterized in the available corpus."
and its citation list does not include PMID:35585237 — a 2022 Nature paper that
is the source of five of the gene's fifteen GO annotations and the sole basis of UniProt's
entire FUNCTION block. This is the precision/recall split the campaign has measured:
the gate certifies what it returned, not what it missed. Here the miss is total for
molecular function.
It did surface one thing GO does not have on the human gene: PMID:37819197, the mouse
metabolic phenotype (see §6).
ahdc1_refcensus.py parses the RN/RP/RX blocks of the cached UniProt file and
joins against the GOA TSV:
RN [1]–RN [28].RP line: 13 clinical genetics, 10 proteomics/PTM,RN [28] = PMID:35585237).35585237,33644933).So AHDC1's shape is the AFF4 shape: a large literature that is almost entirely human
genetics and mass spectrometry, one functional paper, and a GO record that is thin
because the experiments were thin — a coverage situation, not an over-annotation
situation. The exception is the single MF row, which over-reaches.
| term | why not |
|---|---|
GO:0003680 minor groove of adenine-thymine-rich DNA binding |
This is the motif-derived MF the brief warned about. Nothing has ever measured AHDC1 binding AT-rich DNA. Proposing it would be exactly the defect being reported. |
GO:0000987 cis-regulatory region sequence-specific DNA binding |
"sequence-specific" is the claim under challenge. |
GO:0140588 chromatin looping |
Definition is SMC-driven loop extrusion. |
GO:0090310 negative regulation of DNA methylation-dependent heterochromatin formation |
Excluded by the paper's own H3K9me3/HP1α negative result. |
GO:0030216 keratinocyte differentiation |
Non-cell-autonomous; rescued by WT mesoderm; absent in primary keratinocyte mutants. |
mouse metabolic terms from PMID:37819197 |
Mouse only; would need ISO/ISS; mechanism unknown. |
GO:0044030 regulation of DNA methylation |
Obsolete, term_replaced_by: None, consider → GO:0030234 (an MF) and GO:0040029. GO:0006306 DNA methylation is obsolete too. GO:0040029 epigenetic regulation of gene expression is the live term whose definition explicitly includes "cytosine methylation of DNA", and is what I used. |
PTHR15617 has 682 proteins in InterPro's cached metadata, of which the
reviewed-member CSV holds 2 (0.3%) — human Q5TGY3 and mouse Q6PAL7, both in
subfamily PTHR15617:SF1. There is no human paralog of AHDC1, so there is no sibling
review to cross-check against (the AADACL2/3/4 check is not applicable here). The
eggNOG group is ENOG502QSFA, and the only other protein named in the literature as
sharing a domain is REV3L via DUF4683 (PMID:34950897 calls it "a conserved REV3L
domain"), which is a domain-level resemblance with no functional claim attached.
ai4c-reviewer approved with five non-blocking items. Each premise was verified first.
The off-by-one was real. The PR body and the first history event said "5 NEW / 20
entries"; the file had 4 NEW / 19. Cause: GO:0006357 was planned as a NEW row and
implemented as the proposed_replacement_terms of a MODIFY, and the narrative count was
never re-derived. This is the campaign's most-confirmed lesson landing on me — a number
that does not add up is the bug report — and the tell was that I wrote the count from a
plan rather than deriving it with grep -c '^- term:' and grep -o 'action: NEW'.
Note the trap in the fix: acting on item 3 below added a fifth NEW row, so the file is
now 20 = 15 + 5 and the original claim reads as correct again. It was not correct when
made. Said explicitly in the reply and in the history record, because a number that quietly
becomes true is the easiest kind of correction to lose.
The off-target quote was real. The GO:0001707 GO_REF:0000107 row was supported by
"Heterozygous or homozygous Gibbin mutants ... failed to survive past birth". Perinatal
lethality speaks to neither mesoderm formation nor to the circularity the row argues.
Replaced with the human scRNA-seq mesoderm result and the day-3 onset — which is the right
choice for this row specifically, because what needs evidencing is that the target already
holds the term from this publication. The GO:0043589 Compara row carried the identical
quote and got a different fix: the mouse skin data (KRT14/KRT10 loss, reduced differentiated
layers), because on that row the donor's evidence genuinely is a distinct experiment. One
bad quote, two different right answers — worth noting, since the reflex is to apply one
replacement to both.
GO:0000785 chromatin. Checked before adding: enum-valid, and its ancestor closure
over is_a,part_of does contain GO:0005694, so it specialises the existing row rather
than competing with it. Added as a NEW located_in row on the same reference rather than
re-graining the EXP row, which reflects UniProt's curated Chromosome location and is not
wrong. Also added to both core_functions locations. The validator then cleared the two
"location term not reflected in existing_annotations" warnings that the core_functions-only
version had produced — i.e. the additive route was also the one the repo's own rules wanted.
core_functions restructure. The reviewer's objection was that entry 2 re-stated entry
1's activity and hung downstream developmental terms off it. Fixed by dividing the two
entries by activity and by experiment: entry 1 is the partner-facing arm (GO:0003712,
GO:0006357; proximity proteomics and epistasis), entry 2 the DNA-facing arm (GO:0003682,
GO:0040029 moved here from entry 1, GO:1902275, plus the developmental outcomes;
ChIP-seq, methylation arrays, HiChIP). Entry 2 now states the causal distance explicitly:
mesoderm formation is the direct readout, skin morphogenesis is reached
non-cell-autonomously — the same argument used to decline GO:0030216.
The IPI query was not an objection, and I did not concede it. Coding GO:0140297 off
the GATA3 epistasis instead was considered and rejected: the epistasis is a genetic result
about GATA3's dependence on AHDC1, which is IMP-shaped and would support a regulation
term, not a binding term. IPI on the proximity data with the labelling-radius caveat is
what matches the measurement. Recorded in the row rather than only in the PR reply.
A sixth item, from the second (later dismissed) review, and the sharpest of them: the
tagged-transgene caveat was weighted one way for GO:0003700 and another for
GO:0003682 and got only a trailing clause. That is a real inconsistency to answer,
because it is the same experimental limitation reaching two opposite conclusions — the
shape the campaign flags as "same author, same gene, two verdicts".
The asymmetry survives being made explicit, which is why it is now stated on both rows
rather than removed. Ectopic expression from a heterologous promoter distorts which
sites are occupied far more than whether the protein reaches chromatin at all.
GO:0003700 claims site specificity, so the limitation is load-bearing there.
GO:0003682 claims only association, so it is secondary there. And the GO:0003700
objection never rested on the construct anyway: all four arguments there hold if the
transgene were endogenous.
Both were non-blocking suggestions and both were right. They are recorded here because
each is an instance of a rule this review applies to everyone else.
"Over-expressed" was my inference, not the paper's report. The methods say only
"a doxycycline-inducible, HA-tagged Gibbin transgene" on a PiggyBac vector, "induced for
24 hours prior to crosslinking". Nothing compares the resulting level to endogenous AHDC1.
Checked: the string "over-expression" appears in that paper about GATA3, not about
Gibbin. So the accurate description is ectopic, epitope-tagged expression from a
heterologous promoter at an unmeasured level, and every occurrence relating to the
transgene has been reworded. (The two surviving uses of "over-expressed" in the review are
about the yeast two-hybrid constructs, where it is IntAct's own
experimentalPreparations value and therefore sourced.) This is the same move the review
refuses elsewhere — a characterisation presented as a property of the experiment — and I
made it while arguing against exactly that.
The ENCODE replication is not "independently generated", and checking turned a hedge into
the strongest single support on the row. ENCSR168AUX was queried directly rather than
assumed, and is now fetched by AHDC1-bioinformatics/fetch_encode_ahdc1.py and cached as
ENCSR168AUX.json so the table below is re-derivable rather than transcribed:
| field | value |
|---|---|
| target | /targets/AHDC1-human/ — untagged target name, i.e. not an eGFP-AHDC1 construct entry |
| genetic modification | ENCGM399CXU: category: insertion, purpose: tagging, method: **CRISPR**, perturbation: False |
| introduced tag | C-terminal 3xFLAG |
| antibody | ENCAB697XQW, targeting 3xFLAG-synthetic_tag |
| lab / biosample | Richard Myers (HudsonAlpha) / HepG2 |
So the reviewer's worry was half right in a useful way. It is tagged, so it does not
control for tagging — but the tag is a CRISPR knock-in at the endogenous locus, so the
protein is expressed from its own promoter at endogenous levels. That is precisely the
axis that bears on occupancy, and it is the axis the Stanford PiggyBac transgene cannot
control. Different lab, different lineage, different tag, native promoter, same
chromatin-state distribution and target gene set.
The residual shared limitation is now stated rather than glossed: both datasets are
epitope-tagged and no ChIP-seq of untagged endogenous AHDC1 with a validated antibody
exists, so tagging is the one axis neither controls.
Incidental but on-theme: ENCODE's own target record classifies AHDC1 as
investigated_as: ['transcription factor']. That is a third independent database
inheriting the classification from the gene's name rather than from a measurement, after
UniProt's GO:0003700 IDA and PANTHER's family label "TRANSCRIPTION FACTOR GIBBIN".
And a guard that did not enforce what its docstring claimed. The round-2 occurrence
check counted two matches anywhere in the review file, so it would have passed with both
statements inside the same row — the exact case it existed to prevent. This is the brief's
"unreachable check that reads as coverage" failure mode, and I wrote it into a script whose
whole purpose is catching that kind of thing. Replaced with a paired-claim check that
parses the YAML, resolves GO:0003700 and GO:0003682 to their rows, and requires the
justification in each row's review.reason; a missing row is an error rather than a
skip, so deleting the row cannot satisfy it. Two new self-test guards exercise it —
paired_claim_one_side_removed (mutating through the parser so exactly one side is
thinned) and paired_claim_row_deleted. Six guards now, all firing.
Raised in the pass-5 review and confirmed verbatim in the methods:
"For Gibbin ChIP-seq, freshly collected cells were treated with 5% 1,6-hexanediol in 5mL
PBS in suspension for 60 seconds, upon which the solution was immediately diluted with
25mL PBS and 2mL 16% formaldehyde for crosslinking."
Note "For Gibbin ChIP-seq" — this step is applied to that ChIP and not to the GATA3 or
CTCF ChIPs in the same paper. 1,6-hexanediol disrupts the weak multivalent interactions
that hold biomolecular condensates together, so what was crosslinked and sequenced is the
hexanediol-resistant fraction of AHDC1 on chromatin.
For this protein specifically that matters, and my first reading was that it cuts both ways:
GO:0003682 call. A heavily disordered protein (ten MobiDB-liteThe word "hexanediol" appeared zero times in the review, the notes and RESULTS.md
before this round. It is a methods-section detail that changes how the primary evidence
should be read, and the general lesson is the one this review keeps relearning: read the
methods for the assay you are annotating, not only the results paragraph that reports it.
Two corrections to my first attempt at this, both from the pass-6 review.
The filtering half was on the wrong row. I put both halves on GO:0003682 and wrote
that filtering was "a third independent reason not to read site specificity off these
peaks, alongside the ectopic promoter and the authors' own statement" — but both of those
arguments live on the GO:0003700 row, where hexanediol was never mentioned. A curator
reading the MODIFY row would have seen four arguments and never learned of the fifth. This
is the same defect as the tagged-transgene asymmetry one round earlier: an argument that
bears on two rows, stated on one. The filtering half is now on both, and a second
PAIRED_CLAIMS entry lints it, so the two instances of this defect are now both under
the same guard.
The reagent is not clean, and the hedge cannot come from this paper — but it is
sourceable. 1,6-hexanediol is not a condensate-specific perturbant, so
"hexanediol-resistant" is not strictly interchangeable with "not condensate-derived". The
Nature paper says nothing about the reagent's selectivity, which is a different matter from
the claim being unsourceable — a distinction the pass-7 reviewer made and which was worth
acting on, since the hedge was briefly the one uncited assertion in a row where everything
else carries provenance. PMID:33814344 (Düster et al., J Biol Chem 2021) was looked
up in PubMed and cached: kinases and phosphatases are "virtually inactive" at the 5–10%
concentrations used to dissolve condensates, and the Gibbin ChIP used 5%. The
concentration match is what makes it a real citation rather than a gesture.
Scope discipline on that citation: only the kinase/phosphatase and
dissolution-threshold results are cited, because those are what the paper measured. An
earlier draft also asserted that hexanediol alters chromatin compaction directly; no
citation for it surfaced, so the claim was dropped rather than left standing unsourced.
The pass-8 reviewer read further into the paper than I had, and the result is a
withdrawal, not a hedge. Two statements, both verbatim in the cached full text:
"We found that at least 7.5% 1,6-hexanediol is required to dissolve phase-separated
GST-CTD""This holds already at concentrations of 1,6-hexanediol where the agent inhibits kinase
activity while condensates are not yet dissolved"
The Gibbin ChIP used 5% — below the only dissolution threshold this paper reports,
and inside the range where it finds kinases and phosphatases virtually inactive. So the
pre-treatment cannot be relied on to have dissolved anything, and "survived a
condensate-disrupting pre-treatment" may partly mean the condensates were never
disrupted. The condensate-control reading is therefore withdrawn, and the GO:0003682
row no longer rests on it; the binding call rests on the conditional occupancy and the
endogenous-locus ENCODE replication, neither of which involves the reagent.
The filtering half is untouched, and does not depend on the mechanism at all: whatever
occupancy did depend on the interactions the reagent disrupts was removed before
crosslinking, and a pre-treatment that inactivates kinases and phosphatases at this
concentration is not inert either way.
Two further details from the same Discussion, added in the next round, point the same way
rather than rescuing the control:
Worth naming the shape of this, because it is the second time on this gene: I brought in
a citation to qualify a claim and did not read past the fact I wanted from it. The same
paper's Discussion contained the concentration threshold that overturns the claim outright,
and the two qualifiers above, and all of it came out one reviewer pass at a time. This is
the ACRBP lesson — if you cite a PMID more than once, read its full text — arriving late,
twice.
The withdrawn claim is now linted, and adding the lint exposed a live inconsistency.
RETRACTED originally held only the four IntAct phrasings. The condensate-control reading
is likelier to come back than those, because the GO:0003682 row still states the intent
of the pre-treatment immediately before withdrawing it — an editor trimming that paragraph
could easily leave the claim standing. Adding it caught something real straight away: §14
above still carried "It strengthens the GO:0003682 call" unqualified, roughly 1,700
characters from the withdrawal and so far outside the ±400 RETRACTION_WINDOW. The journal
structure of these notes makes that defensible, but it is exactly the reading the guard
exists to prevent. Resolved by striking the bullet in place with an explicit
superseded by §15 pointer, rather than by deleting it — the journal should record what
was thought and why it changed — and withdrawn/superseded were added to
RETRACTION_MARKERS so an in-place strike is a recognised context.
And a "reports but does not gate" bug in my own script. fetch_encode_ahdc1.py printed
its warnings and still returned 0, so a future run in which the ENCODE tag turned out to
be transfected rather than knocked in would have exited clean. That is the repo's own rule
violated inside a script written to enforce rules. The verdict logic is now a separate
function, returns non-zero, and has a --self-test exercising it on four synthetic records
(real record passes; untagged, transfected-tag, and no-modifications all fail).
A follow-on from the same reviewer, and a subtler version of the same thing: the script
computed tagged/knockin twice, once for the printed summary and once inside the
gate. Two copies of a derivation drift, and the failure mode is a summary that reports
something the exit status does not. Both now come from a single classify() call.
All four review passes ran in a runner with neither uv nor just installed (and, by pass
4, with Python execution sandbox-blocked), so every reviewer check was manual against
cache/go/terms.csv, the GOA TSV, the schema and the cached publications. Neither
just validate human AHDC1 nor the committed audit script could be run there. Their
conclusions matched the local runs, but the Build and test workflow is the authoritative
validation signal, and its scoped gene-review and history-record steps passed on this
branch.
Worth recording that the reviewer was right on every item it raised across four passes,
including two that corrected arguments I had just written, and that it withdrew one of
its own (the core_functions restructure) after checking the schema and finding
CoreFunction has exactly one BP slot with no downstream variant.
paint/AHDC1 from origin/main; own worktree.checkquotes script including the duplicate-YAML-key and raw-vs-parsed reconciliation.cache_lint gated on its real exit status (cmd >/dev/null 2>&1; echo $?), run afterorigin/main as well as after my own edits.This entry supersedes the biological interpretations above where they differ. The earlier notes and bioinformatics scripts remain historical records; their prose checks are not new biological experiments.
The approved human symbol is AHDC1, HGNC:25230, UniProt Q5TGY3. The archived official HGNC subset records aliases DJ159A19.3 and RP1-159A19.1 and no previous symbol. No alias directory exists locally. The coordinator checked separate open-PR searches for the canonical symbol and both aliases, with no overlap. All five local curated/machine-file hashes matched the current-main preflight in tmp/ahdc1-local-preflight.json; baseline copies were retained before editing. The starting review had 15 machine-seeded assertions and five prior NEW proposals. The present review preserves all 15 complete source objects, including evidence, reference, partner and qualifier fields, and preserves every original reference identifier/title pair.
The required Falcon attempt with 1200-second provider timeout and perplexity-lite fallback ran concurrently with publication caching. Both provider commands failed during installation of deep-research-client because the PyPI host could not resolve, before a provider request could run (each client exit 2; wrapper exit 1). No Falcon or fallback report was created. The existing machine-authored Affinage report remains unchanged; it omits the primary 2022 chromatin work and makes stronger disease-mechanism statements than the founding paper supports. Manual primary research below supplies this audit. The normal gene-publication cache command found all eight originally declared PMIDs cached. Additional supported fetches for PMID:36194562 and the historically cited PMID:16713557 each failed DNS, 0/1 recovered. No publication cache was authored manually.
All three GO:0005515 rows now use REMOVE under the informative-function policy. The interaction pairs are not declared false. The historical IntAct decomposition remains recorded above, but record counts are not treated as replicate counts or mechanism assays. The full original PMID:32814053 author PDF was independently read at https://edoc.mdc-berlin.de/id/eprint/19322/1/19322oa.pdf, using the previously recovered /tmp/ACTA1-PMID32814053.txt. It contains orthogonal DULIP validation of a selected network subset. AHDC1-specific orthogonal pair validation was not established in this read; neither universal validation nor universal absence of validation is asserted. The local publication cache is still abstract-only. For PMID:16713569, the cached abstract and original partner assertion support network context, while the pair-specific full experiment remains inaccessible.
The MGI Ahdc1 GO graph, inspected on 2026-09-27, is explicitly a historical snapshot generated 2023-03-10. It records experimental IMP annotations for mesoderm formation and skin morphogenesis from J:326009, the Collier Nature study. Mouse Ahdc1 Q6PAL7 and ENSMUSP00000101535 are identifiers for the same donor, not separate experimental replicates. The paper includes distinct mouse mutagenesis and human differentiation experiments. Thus the earlier circular-propagation classification is withdrawn: one shared publication does not establish a transfer-only cycle. Both conserved developmental assertions remain biologically supported, now NON_CORE to distinguish tissue-development context from the molecular transcription/chromatin role.
AmiGO definitions were read on 2026-09-27 for GO:0003700, GO:0003712, GO:0140585, GO:0003682, GO:0140297, GO:0040029 and GO:1902275. GO:0003700 requires selective DNA-sequence binding; GO:0003712 permits action through a transcription-factor-associated complex. GO:0140585 requires physical bridging at regulatory loop anchors. The loop-anchoring row is therefore MODIFY to GO:0003682, supported by positive ChIP occupancy; a loss-of-contact phenotype alone is not the justification for binding. Broad nucleus, nucleoplasm and chromosome assertions retain their source resolution. The transcription process is refined to the demonstrated Pol II gene-expression context without inheriting an unsupported intrinsic recognition mechanism.
Comparator and GO-CAM check: cached gocams/index.tsv has no AHDC1/Q5TGY3 or mouse Q6PAL7/MGI:2444218 entry. The local ADNP and GATA3 reviews provide contextual chromatin/transcription annotations but do not establish that AHDC1 is missing a term. UHRF1, MECP2 and SMCHD1 were selected as chromatin-associated regulator comparators; the live QuickGO annotation queries failed, so no systematic absence/presence claim is made from them. The primary Reactome UHRF1 entry R-HSA-212103 associates that chromatin regulator with epigenetic regulation, but its distinct maintenance-methylation chemistry is not transferred to AHDC1. No process NEW remains. Neither comparator annotation counts nor a perturbation phenotype alone is used to infer a curation gap.
The unchanged AHDC1-bioinformatics/audit_ahdc1_claims.py was run. Its source-coverage/count pass reports 15 source rows, 16 entries and one NEW at the intermediate draft; the final rerun reports 15 source rows, 15 entries and no NEW. The final run exits 1 with eight prose/shape failures: five required historical phrases no longer occur in two files, one tagged-transgene phrase differs, and two checks assume a standalone GO:0003682 row that is now a replacement term. The exact failures are recorded in /tmp/AHDC1-final-legacy-claim-audit.log. This legacy check is not passed, and its old literal requirements were not used to preserve scientifically overstrong statements or a redundant NEW. Its scripts, RESULTS.md and ENCODE artifact remain unchanged; no new bioinformatics analysis or re-fetch of ENCODE metadata is claimed.
Final action counts are 5 ACCEPT, 4 KEEP_AS_NON_CORE, 3 MODIFY and 3 REMOVE, with no NEW. The 12 original reference id/title pairs are unchanged; PMID:36194562 is the sole added reference. All 15 source assertions are unchanged outside review judgments. The two known notes-inclusive cache gaps are PMID:16713557 and PMID:36194562. Status is DRAFT pending those cache requirements and completion of final checks.
Independent-review correction: the coordinator identified that the epigenetic proposal still overstepped the unresolved direct-versus-indirect mechanism. It and the corresponding core process were withdrawn. All inherited top-level knowledge gaps were rewritten to remove universal literature-absence claims, unverified ontology-obsolescence assertions, and the obsolete request for a second functional study. The new Ewing sarcoma study supplies independent functional evidence. The historical count of one FUNCTION reference describes only the immutable UniProt snapshot, not the literature. The missing-cache flag on PMID:36194562 is true, with its external full-primary access explicitly documented.
Final validation outcome: just validate human AHDC1 passed with three warning groups: missing PMID:36194562 cache; unused machine Affinage evidence; and the synthesized chromatin core location absent as a standalone annotation. The last advisory is intentional because the redundant NEW was withdrawn while the ChIP-supported core location is retained. Rendering and history validation passed. Independent source-preservation checks confirm all 15 source objects, all 12 original id/title pairs and seven protected machine/bioinformatics artifacts are unchanged. All five preflight blobs also match publication base 9541f70405e9e9bef718106c32ec1a54a8051bda, advanced from the initially checked a18dacfd84f4b1a18c864a145a88772e475091bd by an unrelated ACTA2 change. The notes-inclusive check finds 11 distinct PMIDs and two missing caches, PMID:16713557 and PMID:36194562. The final legacy audit reports eight obsolete phrase/shape failures and is explicitly not passed. No additional full-repository validation or bioinformatics analysis is claimed.
Both notes-inclusive gaps, PMID:16713557 and PMID:36194562, are now supplied
by exact normal-fetch records. PMID:16713557 is an abstract-only Cell Preview
commenting on the ataxia interaction-network paper; it is not a correction
and supplies no new AHDC1 mechanistic evidence. PMID:36194562 now contains
XML full text from PMC9531837. Figure 2 co-immunoprecipitation, Figure 3
transcriptional effects and the Figure S5 ChIP caption corroborate the earlier
external full-paper reading. Cycloheximide and MG-132 experiments leave open
proteasomal, lysosomal and post-transcriptional explanations, as the authors
state. They do not establish a new intrinsic specificity or a resolved protein
stabilization mechanism. The local full_text_unavailable flag is now false.
All prior action and core judgments remain unchanged.
The source is normal fetch Actions run 36286975328, head
5946477c8ac79ade0709264c775ea1262b108438, artifact 10920674630. The transported
ZIP was verified against SHA-256
c0ffe4a66b80278af34b44aab6a3ae354ffd5699236b3a486ca95527be5e9713, with
per-file hashes in tmp/verified-reference-records/local-import-receipt.json.
No cache was authored or modified. This dated note supersedes the missing-cache
status above; it does not rewrite the prior unsuccessful retrieval history.
All 15 source assertions and reviews, the core synthesis, 13 reference
identities and protected source/bioinformatics/provider artifacts are preserved.
Targeted validation, rendering and history validation are recorded in the
closure manifest. The existing chromatin-core advisory and unused-provider
advisory, if emitted, are distinct from the now-closed cache gates and retain
DRAFT under the zero-warning COMPLETE rule. No obsolete bioinformatics analysis
was rerun or represented as passing.