TreeGrafter Failure Modes & Tree Placement

TreeGrafter Failure Modes & Tree Placement

← back to TreeGrafter Inference Evaluation

Provenance. Every count on this page comes from the sidecars
regenerated on 2026-10-03 at commit f81b9f300 (see
Results
on the main page for the reproduce commands and the drift since the earlier
2026-09-06 snapshot, which had 306 down-grades, and the 2026-10-01 refresh,
which had 299). Since 2026-10-03 the population includes the
rejection re-review
outcomes and the holozoan rows.

Later curation (2026-10-26, PR #5550). The Thlaspi TFP nucleus row
(genes/THLAR/TFP/TFP-ai-review.yaml, GO:0005634) is now UNDECIDED;
the prior call is preserved with explicit supersession in
rereview-2026-09-24/batch-08.yaml. The counts below remain the dated
f81b9f300 snapshot, not a count of current reviews. A fresh extraction must
exclude that unresolved row from the downgraded population; keeping a row in
that population is not a biological reason to retain an over-annotation call.

This sub-page drills into the 283 down-graded TreeGrafter annotations
(REMOVE / MARK_AS_OVER_ANNOTATED / MODIFY from the
main evaluation) and asks the question directly: does it
make sense where TreeGrafter placed the protein on the PANTHER tree?

We answer it without re-running TreeGrafter, because the placement is already
recorded for every protein:

The join (graft node + family + subfamily + propagated term + reviewer action)
is computed by analyze_placement.py into
treegrafter_placement.tsv. 282 of the 283
cases recover a subfamily; all 283 recover a graft node.

Every one of the 283 is then assigned to one of the four failure modes below
by classify_failure_modes.py →
treegrafter_failure_modes.tsv. The
assignment has two layers: a per-row curated table,
failure_mode_curated.tsv (163 current rows,
each with a one-line justification), which always wins; and a keyword
heuristic over the GO aspect and the reviewer's review.reason for the rest
(87 rows), with 33 rows left unclassified. The curated table also keeps 38
superseded rows
— earlier calls on annotations that are no longer
down-graded at f81b9f300 (e.g. ilvA-I/ilvA-II, K9IMD0 GO:0019731,
mdr, aprA electron transfer, and the 19 rows the rejection re-review
relaxed, such as nuoG/nuoL/nuoM GO:0003954, mobA GO:1902758 and
ptxD ×2), each annotated with its current action — which the classifier
ignores. Six rows superseded at the 2026-09-27 refresh (fogD ×4, IRE1
GO:0070059, K9IJK6 GO:0014909) re-entered the down-graded set after
follow-up reviews and are current again. The operational rule that separates modes 1 and 4: if
the PANTHER subfamily name already describes the protein correctly and the
bad term came from a higher node, it is mode 1; if the subfamily itself is the
wrong enzyme, it is mode 4.

Both tables are joined on (file, term_id), never on the gene symbol: symbols
are not unique across the corpus (mdh in METEA and PSEPK, ALB in CANLF and
FELCA, the two PSEPK dapF paralogs), and a symbol-keyed join silently pulled
one organism's review.reason onto another's row.

Thirty-four of the 87 heuristic rows are decided by construction rather than
by reading the reviewer:
33 cellular-component terms (mode 3 by aspect alone)
and 1 row whose term is on an explicit low-information binding allowlist
(binding, protein binding, identical protein binding, small molecule binding — mode 3 whatever the reason says). Terms that name a real ligand
(ubiquinone binding, double-stranded DNA binding, metal ion binding) are
not on that list and are decided from the reviewer's reason like any other
row. That leaves 53 rows genuinely placed by keyword, which is the tier the
second-pass curation should target. The keywords read the reviewer's current
wording, so a rewritten reason can move a row: the rejection re-review's
strengthened reasons took PP_0312 and scpC from mode 1 to mode 0 and
benB from mode 0 to mode 4, and made flgE cytosol match the pseudo-enzyme
keywords (it is curated back to mode 3).

Mode annotations share proteins MF BP CC
1 Granularity (family / node-level or sibling term) 133 47% 107 70 63 0
3 Generic / out-of-context localization, binding or process (informativeness policy) 70 25% 55 9 27 34
4 Mis-placement (within a superfamily, or onto the wrong family) 42 15% 29 24 16 2
2 Pseudo-enzyme / co-opted fold 5 2% 3 2 3 0
0 Unclassified (heuristic declines; curation queue) 33 12% 18 12 21 0

The proteins column counts distinct review files, not gene symbols: a
symbol-keyed count merges the two mdh proteins and other cross-organism or
paralogous symbol collisions, and reads modes 1 and 4 as 104 and 28.

The 33 unclassified rows are deliberate: the reviewer's reason states a real
problem but not in words the heuristic can safely map to a mode. Seventeen
are holozoan: the five over-annotations on each of the three S. rosetta
cadherins (cell morphogenesis, calcium-dependent cell-cell adhesion,
cell migration, cell-cell adhesion mediated by cadherin, cadherin binding), which the reviews call untested rather than impossible, and
S. rosetta warts GO:0000082 and GO:0043065. The other 16 are ahpC,
carB, cbcW ×2, Cgas, groES, mfd, nuoM, PP_0094, PP_0301,
PP_0312, PP_2608 ×2, pyrC' GO:0006145, pyrE GO:0046132 and
scpC. (pyrC' GO:0006145 is a case for the mode-1/mode-4 rule: the
reviewer calls it a broad-family propagation, but the subfamily it landed in,
ALLANTOINASE, is itself the wrong enzyme for a PyrC-like protein.) Some do not fit any
of the four modes cleanly — Cgas is a lineage-specific loss of function
with direct species evidence, cbcW and nuoM a complex-level activity or
property on a single subunit — and are left as mode 0 rather than pushed
into the nearest bucket. Two of the previous refresh's mode-0 rows (davA,
acoA), and hutF, which the heuristic had put in mode 1, are now curated as
mode 4 from the substrate-mismatch rationales in the
rejection re-review records; I7J3R9 left
the queue because its row is retired, and flgG because it is no longer
down-graded.

Headline: placement is usually fine — the term is the problem

Reading the propagated GO term against the PANTHER subfamily name shows that
TreeGrafter rarely puts a protein in a grossly wrong part of the tree. The
fold/family assignment is usually reasonable. What fails is the GO term
that rides along with the graft. Four failure modes account for 88% of the
down-grades (the remaining 12% are mode 0):

1. Family-level over-generalisation (term granularity)

The protein is placed in the right family, but the propagated term is the
broad family function while the subfamily already knows something more
specific (or divergent).

Gene Propagated term (down-graded) PANTHER subfamily (where it landed)
eryAI / eryAII / eryAIII fatty acid synthase activity (MODIFY) INACTIVE PHENOLPHTHIOCEROL SYNTHESIS POLYKETIDE SYNTHASE**
mcr-1 / mcr2 / mcr-3 / mcr-4 LPS core region biosynthetic process (OVER), phosphotransferase activity, phosphate group as acceptor (MODIFY) PHOSPHOETHANOLAMINE TRANSFERASE EptA
fliI ×3, sctN ×2 proton-transporting ATP synthase activity, rotational mechanism (REMOVE) SPI-1 TYPE 3 SECRETION SYSTEM ATPASE / FLAGELLUM-SPECIFIC ATP SYNTHASE (PTHR15184); the term comes from a PAINT IBD on the duplication node above the F1-β and FliI/SctN clades (case study)
ADAR2 tRNA-specific adenosine deaminase activity (REMOVE) AT07585P-RELATED (PTHR10910:SF62); the same graft node PTN000098697 supplied the accepted double-stranded RNA adenosine deaminase activity, double-stranded RNA binding and adenosine to inosine editing

The erythromycin PKS modules are the clearest case: the family is named
"fatty acid synthase" (PTHR43775) and the family-level GO term fatty acid synthase activity was propagated — but the subfamily correctly identifies a
polyketide synthase. The mcr colistin-resistance enzymes are placed in exactly
the right subfamily (phosphoethanolamine transferase / EptA) yet inherited a
generic phosphotransferase MF and a lipid-A-vs-LPS-core process error. The
graft point is right; the inherited term is too coarse.
ADAR2 was filed as
mode 4 ("ADAR on the ADAT branch") on the previous snapshot; by the rule above
it is mode 1 — the graft node that supplied the wrong tRNA-specific term also
supplied the correct ADAR activity and editing terms, which the reviewer
accepted — and it has been re-filed. (ahpC's thioredoxin peroxidase activity, listed here before, is now mode 0: its current reason is about the
term being obsolete and the AhpF reductant, not family-level propagation.)

2. Pseudo-enzyme / loss of activity

Correct fold family, but the protein has lost catalytic activity or been
co-opted to a non-enzymatic role — something a tree graft cannot detect.

Gene Propagated term Subfamily Reality
OCTS1 glutathione transferase activity, glutathione metabolic process (OVER) GLUTATHIONE S-TRANSFERASE Octopus S-crystallin: GST fold, ~1/700–1/6000 of authentic GST activity; a structural eye-lens protein (PMID:7639695, PMID:27499004, PMID:8587103)
A0A8B6GS20 (MTMR9) phosphatidylinositol dephosphorylation (MODIFY), negative regulation of autophagy (OVER) myotubularin-related Pseudophosphatase: lacks the catalytic cysteine; regulates active MTMR partners
pyrC' (P. putida) allantoinase activity (REMOVE) ALLANTOINASE (PTHR43668:SF2) The reviewer cites direct work on the P. putida complex identifying it as a catalytically inactive PyrC-like partner of PyrB (heuristic mode 2)

Genuine pseudo-enzymes turn out to be rare in this corpus — five
annotations on three genes. The two rows the previous snapshot flagged as
contested mode-4 calls, K9IMD0 (draculin) GO:0019731 and mdr
GO:0015421, are no longer down-graded (K9IMD0 is now KEEP_AS_NON_CORE
after a follow-up review, mdr UNDECIDED after the 2026-09-20 re-review;
both genes are still awaiting_adjudication in the re-review records); their
curated rows are kept as superseded. Two cases listed here on an earlier
snapshot were re-filed: TFP's enzyme regulator activity is an outdated node
term
(specifier proteins are now known to be Fe(II)-dependent C–S lyases;
mode 1), and IRE1's unfolded protein binding is a generic binding term on a
sensor (mode 3).

3. Generic / out-of-context localization and process (an informativeness policy)

This mode is not a grafting error: it records the review standard's
preference for specific, core terms. Low-information CC terms (cytoplasm, cytosol, plasma membrane, nucleus)
or organism-context BP terms inherited from a distant ancestor, correct-ish but
non-core or absent from the host. Examples: relA → plasma membrane, flgE
→ cytosol (an exported hook subunit), fbp → sucrose biosynthetic process (a pathway the host does not run), and, new at this refresh,
animal-only processes on unicellular holozoans: adherens-junction
organization and cell-cell junction assembly on the three S. rosetta
cadherins, regulation of organ growth on S. rosetta warts, cell fate specification on Capsaspora CoBra and fungal/plant mannan biosynthesis on
couscous (see the case study). Note that the
mcr LPS-core process call is mode 1, not mode 3 — its reason states
node-level propagation explicitly. 33 of the 70 mode-3 rows are CC terms
placed by aspect alone (34 CC rows in all). Mode 3 is the mode the rejection
re-review shrank most: 40 of the 66 rows that left the down-graded set at
this refresh were mode 3, mostly redundant cytosol/cytoplasm rows now kept
as non-core.

4. True within-superfamily mis-placement (the cases a re-run would change)

A minority are placement errors: the protein lands in a structurally related
but functionally distinct subfamily of a shared fold superfamily. These are the
only down-grades where re-examining the actual graft point (or an independent
bioinformatic/structural check) would change the call.

Gene Propagated term (down-graded) Landed in subfamily Should be
aprA (Desulfovibrio) succinate dehydrogenase activity (REMOVE) (its electron transfer activity row is now ACCEPT; its anaerobic respiration row is mode 1) SUCCINATE DEHYDROGENASE [UBIQUINONE] FLAVOPROTEIN (PTHR11632:SF51) Adenylylsulfate (APS) reductase α-subunit — shares the FAD fumarate-reductase/SDH flavoprotein fold but reduces APS, not succinate
fcs (P. putida) medium-chain fatty acid-CoA ligase activity (MODIFY), fatty acid metabolic process 2-SUCCINYLBENZOATE–CoA LIGASE Feruloyl-CoA synthetase — adjacent ANL adenylating-enzyme superfamily, wrong specific subfamily
mdh (P. putida and M. extorquens, ×2 each) L-lactate dehydrogenase (NAD+) activity, lactate metabolic process (REMOVE) L-LACTATE DEHYDROGENASE (PTHR43128:SF16; the family PTHR43128 is L-2-HYDROXYCARBOXYLATE DEHYDROGENASE (NAD(P)(+))) Malate dehydrogenase — LDH/MDH superfamily node
mqo1 / mqo2 / mqo3 (S)-2-hydroxyglutarate dehydrogenase activity (REMOVE) L-2-HYDROXYGLUTARATE DEHYDROGENASE, MITOCHONDRIAL Malate:quinone oxidoreductase
dapE, pepV acetylornithine deacetylase activity, L-arginine biosynthetic process (REMOVE) N-ACETYL-L-CITRULLINE DEACETYLASE (PTHR43808:SF31, M20A) DapE succinyl-DAP desuccinylase / PepV dipeptidase — ArgE branch of a mixed M20A family ‡
Q53353, lsdB, Saro_0802, Saro_2809 carotenoid dioxygenase activity, carotene catabolic process (REMOVE/MODIFY) CAROTENOID 9,10(9',10')-CLEAVAGE DIOXYGENASE (PTHR10543) Lignostilbene / resveratrol dioxygenases (EC 1.13.11.43) — no stilbene subfamily exists
mupP phosphoglycolate phosphatase activity, DNA repair (REMOVE) PHOSPHOGLYCOLATE PHOSPHATASE (PTHR43434) MurNAc-6-phosphate phosphatase (HAD superfamily)
quiA quinoprotein glucose dehydrogenase activity (OVER) QUINOPROTEIN GLUCOSE DEHYDROGENASE Quinate dehydrogenase (quinone)
coWts (Capsaspora) actomyosin structure organization (REMOVE), cytoskeleton (OVER) CITRON RHO-INTERACTING KINASE (PTHR22988:SF71) Warts/LATS kinase — a mis-placement across families, not within one (case study)
coITGB2 (Capsaspora) cell-cell adhesion (OVER) INTEGRIN BETA-LIKE PROTEIN 1 (PTHR10082:SF3, vertebrate ITGBL1 node) Integrin beta of a unicellular holozoan; the reviewer attributes the term to the wrong graft node
kdsC, lytN, pvdD, davD, davA, acoA, hutF, benB, lpdV, ech, galB, PP_1257 see treegrafter_failure_modes.tsv KdsC in a mixed CMAS/KdsC family; an amidase in a lytic-transglycosylase subfamily; a pyoverdine NRPS module carrying EntF terms; LPD-val vs LPD-glc across P. putida E3 paralogs; N-carbamoylputrescine amidase on the 5-aminopentanamide amidase DavA; …

‡ dapE discrepancy, unresolved. The dapE reviewer's reason for
GO:0008777 says Q88MP5 "is assigned to the proteobacterial DapE
subfamily", but its cached UniProt record assigns it to PANTHER
PTHR43808:SF31 N-ACETYL-L-CITRULLINE DEACETYLASE — the reason appears to
refer to the NCBIfam TIGR01246 DapE signature it cites for GO:0006526, not
to PANTHER. The mode-4 call rests on the PANTHER subfamily and stands; the
review's wording is noted here and not changed.

Mis-placements are 15% of the down-grades (42 annotations, 29 proteins) —
still the minority. ptxD, listed here before, left the set when the
rejection re-review moved its two rows to UNDECIDED (substrate genuinely
unknown); the coWts and coITGB2 rows are new, and davA, acoA,
hutF and benB moved in from modes 0 and 1. This share was previously reported as 19% (58 annotations)
from a looser heuristic that filed any reason containing paralog or rather than as mode 4; reasons that explicitly say family-level propagation
(zwf, scpC, paaF/paaH/paaJ, the four aroQ rows) now correctly land
in mode 1, which is what the operational rule above says they are.
Almost all of them are the same pattern: a mixed PANTHER family whose
subfamilies are labelled by the best-studied member
, so an uncharacterised
paralog in a different substrate class inherits that member's terms
(LDH/MDH, M20A, CCD/stilbene dioxygenase, SDH/FRD/AprA).

Lightweight graft check (PANTHER vs InterPro, no re-run)

Rather than re-install InterProScan, we read the two classifications UniProt
already stores
for each exemplar: the PANTHER family/subfamily (the TreeGrafter
graft point that propagated the term) and the InterPro signature entries (an
independent, signature-based opinion). Computed live by
graft_check.py →
treegrafter_graft_check.tsv (UniProt
fetched 2026-09-27; the review_action column was refreshed offline at
f81b9f300 with --refresh-actions and reads from treegrafter_review.tsv,
so it shows the current action — aceK ACCEPT, NaUGT1 UNDECIDED, the
other eight as at selection). The first five exemplars:

Gene Propagated term (down-graded) PANTHER subfamily (graft) InterPro's specific call Diagnosis
aprA succinate dehydrogenase activity SDH flavoprotein, mitochondrial IPR011803 AprA PANTHER subfamily-resolution gap: no AprA subfamily exists, so it grafted onto the nearest (mito SDH) — but InterPro does identify AprA. An InterPro2GO call would beat TreeGrafter here.
OCTS1 glutathione transferase activity GLUTATHIONE S-TRANSFERASE IPR003083 S-crystallin InterPro names the lens crystallin; PANTHER subfamily stays "GST". Pseudo-enzyme invisible to the graft.
mcr-1 phosphotransferase, phosphate acceptor PHOSPHOETHANOLAMINE TRANSFERASE EptA IPR058128 Mcr1; IPR040423 PEA_transferase Placement is right (both methods); the propagated GO term is just a poor ancestral-node mapping.
eryAIII fatty acid synthase activity INACTIVE…POLYKETIDE SYNTHASE PKS ketoacyl-synthase / acyltransferase domains Placement is right (both methods say PKS); the propagated term is the family-level FAS term.
fcs medium-chain fatty acid-CoA ligase 2-succinylbenzoate–CoA ligase only generic AMP-dependent ligase domain Correct superfamily; no database has a feruloyl-CoA-synthetase-specific entry. Substrate unresolved by either method.

Two conclusions from the graft check:

  1. In 4 of 5 cases the placement is sound — the error is the GO term bound to
    the graft node
    , not the tree position. Re-running TreeGrafter would
    reproduce the same (reasonable) subfamily. The fix belongs upstream in
    PAINT/PANTHER's node-to-GO mapping (propagate the subfamily-specific term;
    don't attach a catalytic MF to a pseudo-enzyme subfamily).
  2. InterPro sometimes has resolution PANTHER lacks (AprA, S-crystallin,
    Mcr1 — 3 of these 5). For these proteins a signature/InterPro2GO annotation would have been
    more specific or correct than the phylogenetic graft — a concrete argument
    for cross-checking TreeGrafter against InterPro2GO (see next steps).

OpenScientist blinded verification (illustrative, not a validation)

Reference standard. The comparison here is with the AIGR agent review
actions recorded when each exemplar was selected (aprA REMOVE, fcs
MODIFY, OCTS1 MARK_AS_OVER_ANNOTATED, eryAIII MODIFY, mcr-1
MODIFY, NaPMT3 REMOVE, ADAR2 REMOVE, NaUGT1 REMOVE, aceK
MODIFY, ahpC MODIFY). It is not with the current actions: some of
those reviews were later revised with the reports in hand (aceK
GO:0004721 → ACCEPT; NaUGT1 GO:0080043 → UNDECIDED), and
exemplar_independence.py →
exemplar_independence.tsv records that 9 of
the 10 exemplar annotations now cite the OpenScientist/Falcon report in
their review.supported_by. All ten were drawn from rows that were already
down-graded, with no accepted-annotation controls, and n = 10, so no claim
about the check's reliability can be made. See
Reference standard.

Each propagated term was posed to OpenScientist as a blinded
function-assignment hypothesis — the agent saw only "GENE has \<propagated
term>"
(never the reviewer's action or the PANTHER subfamily name) using the
dedicated
treegrafter_function_hypothesis.md
prompt, which asks it to actively test the failure modes. Reports and
provenance are committed under each gene's *-hypotheses/ directory.

Gene Blinded verdict Failure mode the agent assigned Decisive evidence it found Reviewer action at selection (unchanged)
OCTS1 REFUTED pseudo-enzyme / activity lost (mode 2) S-crystallin (IPR003083); lost catalytic Trp39; ~1000× lower kcat; PDB 5B7C MARK_AS_OVER_ANNOTATED
mcr-1 REFUTED wrong node term, placement right (mode 1) EC 2.7.8.43 ⇒ correct MF is GO:0016780, not sibling GO:0016776; error traced to a TAS annotation on EptA at the PTHR30443:SF0 node MODIFY
eryAIII REFUTED granularity, family-vs-subfamily (mode 1) DEBS3 type-I modular PKS (EC 2.3.1.94); family-level FAS term propagated over the PKS subfamily MODIFY
aprA REFUTED within-superfamily mis-placement (mode 4) APS reductase α (EC 1.8.99.2); absent covalent FAD-binding His REMOVE
fcs REFUTED within-superfamily mis-placement (mode 4) feruloyl-CoA synthetase (EC 6.2.1.34 ⇒ GO:0050563); aromatic vs aliphatic substrate MODIFY

(The 2026-09-20 re-review of aprA notes that the report's claim that a
covalent FAD-binding histidine is required by all SDH/FRD catalysis is
stronger than needed, and did not use it as decisive proof.) fcs required a
scope-narrowed re-run at max_iterations=2 after the first attempt hit the
7200 s API ceiling.

Scale-up: 10 exemplars, two providers, family heterogeneity

The exemplar set was extended to 10 genes across 10 distinct enzyme families
(adding NaPMT3, ADAR2, NaUGT1, aceK, ahpC) and each was run blinded on two
providers
(OpenScientist autonomous-compute + Falcon/Edison literature). The
blinded conclusions were later cited in the source reviews as
file:…/openscientist.md / falcon.md references, which is why the
comparison below uses the actions recorded at selection.

Gene Reviewer action at selection Current action OpenScientist Falcon Specific call
OCTS1 OVER_ANNOTATED same REFUTED (pseudo-enzyme) pseudo-enzyme S-crystallin, structural (GO:0005212)
mcr-1 MODIFY same REFUTED (wrong node term) too general pEtN transferase ⇒ GO:0016780/GO:0043838
eryAIII MODIFY same REFUTED (granularity) mis-placed DEBS3 modular PKS (EC 2.3.1.94)
aprA REMOVE same REFUTED (mis-placed) mis-placed APS reductase α (EC 1.8.99.2)
fcs MODIFY same REFUTED (mis-placed) mis-placed feruloyl-CoA synthetase (GO:0050563)
NaPMT3 REMOVE same REFUTED (granularity) mis-placed putrescine N-MTase (EC 2.1.1.53, GO:0030750)
ADAR2 REMOVE same REFUTED (mis-placed) mis-placed dsRNA/mRNA ADAR (not tRNA ADAT)
NaUGT1 REMOVE UNDECIDED REFUTED (granularity) mis-placed UGT85A clade, wrong substrate
aceK MODIFY ACCEPT too general too general IDH kinase/phosphatase ⇒ GO:0101014
ahpC MODIFY same too general too general AhpF-dependent peroxiredoxin

Both providers down-graded the propagated term on all 10 genes (8 REFUTED + 2
"too general" for OpenScientist; 7 REFUTED + 3 "too general" for Falcon) and
agree with each other on the failure mode in 8/10. That matches the reviewer
action recorded at selection on all 10, but because every exemplar was chosen
from a down-graded row, this shows only that the check reproduced those ten
down-grades; how often it would down-grade an accepted annotation is
unmeasured. The current actions for aceK and NaUGT1 were set with the
reports in hand, so they are not used for the comparison. Note also that the
providers' own mode labels do not always match this page's rule: both call
ADAR2 mis-placed, but by the mode-1/mode-4 rule it is mode 1 (see above).
Cross-provider agreement shows the two agents read the same literature the same
way; on its own it does not measure accuracy.

Family-level companion runs (Falcon). Each PANTHER family was
characterized for whether one GO MF term is safe to propagate. 9 of 10
families were called HETEROGENEOUS
— a single substrate-specific term
mis-annotates some branches:

Family Verdict Why
PTHR11632 (aprA) HETEROGENEOUS SDH + fumarate reductase; GO:0000104 over-annotates FRD
PTHR43775 (eryAIII) HETEROGENEOUS FAS + modular PKS share the ketosynthase fold
PTHR11571 (OCTS1) HETEROGENEOUS active GSTs + co-opted crystallins
PTHR11558 (NaPMT3) HETEROGENEOUS spermidine synthases + neofunctionalized PMTs
PTHR11926 (NaUGT1) HETEROGENEOUS 14 plant UGT groups, divergent substrates
PTHR43201, PTHR30443, PTHR10910, PTHR10681 HETEROGENEOUS substrate/reductant/subfamily divergence
PTHR39559 (aceK) HOMOGENEOUS single IDH kinase/phosphatase function

The one homogeneous family (aceK) is also the one whose review was later
revised to accept the propagated term (with the reports in hand). That is a
single case, and the
other "too general" verdict (ahpC) sits in a family called heterogeneous
(PTHR10681), so family homogeneity does not by itself predict the verdict
here. A family homogeneity check before single-term propagation remains a
reasonable hypothesis to test on a larger, independent sample.

What this means for the "re-run TreeGrafter" question

For the bulk of failures (modes 1–3, 73% of the down-grades; modes 1
and 2 alone are 49% if mode 3's informativeness calls are set aside), re-running TreeGrafter would
reproduce the same, sensible placement — the fix belongs at the
annotation level (propagate the subfamily-specific term, gate
catalysis-implying MF behind active-site checks, suppress generic CC), not at
the placement level. For the 15% in mode 4 (aprA, fcs, mdh,
mqo1–3, dapE/pepV, the stilbene dioxygenases, pvdD, …), the placement
itself is the suspect — and because they cluster in a handful of mixed
families (see the
family hotspots), the
durable fix is a subfamily split or subfamily-level annotation in PAINT rather
than a per-protein re-run.

The main page's corroboration analysis
adds the operational lever: every annotation on this page is by construction an
uncorroborated TreeGrafter call (GO_REF:0000118); the TreeGrafter calls
that another pipeline reproduced surface under GO_REF:0000120 and are
accepted 77% of the time (an upper bound — reviewers could see the label).

Suggested follow-ups