P. putida KT2440 Genome-wide Module Curation Plan
Goal
Curate the Pseudomonas putida KT2440 proteome pathway by pathway, using module
logic as the organizing structure. The project should simultaneously improve
gene reviews under genes/PSEPK/ and reusable module documents under
modules/.
The first pass is intentionally light: build a whole-proteome metadata table from
UniProt REST, group genes into pathway/module buckets, and identify holes or
over-annotations before running full fetch-gene, GOA review, or deep research.
First-pass data
Use the project-local downloader:
uv run python projects/P_PUTIDA/fetch_uniprot_metadata.py
Default output:
projects/P_PUTIDA/data/psepk_uniprot_metadata.tsvprojects/P_PUTIDA/data/psepk_uniprot_metadata.manifest.txt
This is a lightweight UniProt REST TSV download for proteome UP000000556. It
does not create genes/PSEPK/<gene>/ folders, fetch GOA, fetch full UniProt text
records, seed YAML, or fetch publications.
Fields used for triage: accession, entry name, gene names, protein name, taxon,
length, reviewed status, annotation score, function comment, EC number, GO IDs,
InterPro, Pfam, PANTHER, KEGG, BioCyc, UniPathway, RefSeq, and UniProt keywords.
Build the curator-facing gene list from the metadata snapshot:
python3 projects/P_PUTIDA/build_gene_list.py
Default output:
projects/P_PUTIDA/data/psepk_gene_list.tsvprojects/P_PUTIDA/data/psepk_gene_list.manifest.txt
Partition genes into first-pass pathway/module buckets:
python3 projects/P_PUTIDA/partition_pathways.py
Default output:
projects/P_PUTIDA/data/psepk_pathway_partition.tsv— one primary bucket per
gene.projects/P_PUTIDA/data/psepk_pathway_membership.tsv— overlapping KEGG and
UniPathway memberships.projects/P_PUTIDA/data/psepk_pathway_buckets.tsv— bucket-level counts and
example genes.projects/P_PUTIDA/data/psepk_unknown_bucket.tsv— unknown-function and
minimal-signal genes.projects/P_PUTIDA/data/psepk_orphan_bucket.tsv— EC/domain-family orphans
without a pathway/module bucket.projects/P_PUTIDA/data/psepk_pathway_partition.manifest.txt
The partitioner treats organism-specific KEGG ppu pathways as the primary
pathway source. Broad KEGG overview maps are retained in the membership table
but excluded from primary assignment. When a gene is in multiple specific KEGG
pathways, the primary bucket is the pathway with the smallest PSEPK gene count,
which favors narrower curation units. UniPathway is used as a fallback pathway
source, followed by metadata heuristics for non-pathway systems such as
transport, regulation, motility, DNA repair, translation, cell envelope, stress
response, and mobile elements.
Build the PR-oriented pathway worklist:
python3 projects/P_PUTIDA/build_pathway_worklist.py
Default output:
projects/P_PUTIDA/data/psepk_pathway_worklist.tsvprojects/P_PUTIDA/data/psepk_pathway_worklist.manifest.txt
Extract a per-pathway checklist for a PR batch:
uv run python projects/P_PUTIDA/extract_pathway_batch.py ppu00400 \
--module tryptophan_biosynthesis \
--research-provider openscientist
Default output for the first pilot:
projects/P_PUTIDA/batches/ppu00400_tryptophan_biosynthesis.tsvprojects/P_PUTIDA/batches/ppu00400_tryptophan_biosynthesis.md
After hand-curating the Markdown page, refresh provider and review statuses
without replacing it by adding --tsv-only.
Research provider policy
Current provider override (2026-07-18): while Edison is unavailable, use
OpenScientist for both gene-level and module-level deep research:
just deep-research-openscientist PSEPK <gene> --timeout 7200
just module-deep-research-openscientist <module> --timeout 7200
just module-pathway-deep-research openscientist "<module>" <pathway> PSEPK --timeout 7200
OpenScientist jobs commonly take 20 minutes or longer. A short polling window is
not a failure condition: keep a live client running to completion and allow the
two-hour timeout. Treat the generated report as retrieval support and verify
curation-changing claims against UniProt, GOA, PAINT, ontology definitions, and
primary literature.
The provider ladder below is the baseline policy. While this override is
active, replace its Asta/Falcon gene, module, and species-aware research steps
with the OpenScientist commands above.
Use the cheapest useful source first:
- UniProt metadata, local existing reviews, and module context.
- Full
fetch-geneonly after a module pass selects the gene for curation:
just fetch-gene PSEPK <gene>
- Current gene-level research uses OpenScientist while the Edison-backed
Falcon route is unavailable. Use three iterations for batch throughput but
retain a two-hour provider allowance:
just deep-research-openscientist PSEPK <gene> --timeout 8100 \
--extra-args --param timeout=7200 --param max_iterations=3
- Use OpenScientist for the generic reusable-module synthesis as well:
just module-deep-research-openscientist <module> --timeout 8100 \
--extra-args --param timeout=7200 --param max_iterations=3
- For species-aware module/pathway research, use the module + pathway + taxon
wrapper. This keeps generic module research separate from PSEPK-specific
satisfiability work and injects local candidate genes from the pathway
partition table when available:
just module-pathway-deep-research openscientist "central carbon metabolism" \
ppu00020 PSEPK --project P_PUTIDA --timeout 8100 \
--extra-args --param timeout=7200 --param max_iterations=3
The report is written under the project support folder by default, e.g.
projects/P_PUTIDA/deep-research/PSEPK__central-carbon-metabolism__ppu00020-deep-research-openscientist.md.
- Asta remains a lightweight gene-level fallback, and Falcon remains the
preferred module-level provider when its Edison route is available again. - PaperBLAST remains an optional protein-specific lookup:
uv run python scripts/fetch_paperblast.py <uniprot_accession>
- Use
perplexity-liteonly as a secondary fallback when Asta is unavailable
or comparison across providers is useful. - Escalate to OpenAI/perplexity/full manual literature only when the first-pass
provider output leaves a curation-changing question unresolved.
OpenScientist is a long-running research provider, not a short smoke test.
Successful jobs commonly take more than 20 minutes and difficult jobs can use
most or all of the two-hour provider allowance. Do not apply a 180-second
timeout or treat a quiet wrapper as failure. If a five-iteration run exhausts
the allowance, rerun with max_iterations=3 and the same full timeout.
Operational caveat: the repository has a PaperBLAST wrapper, but it depends on
Playwright and the PaperBLAST website can present a Cloudflare challenge. If the
script returns a timeout or challenge page, record that in the module checklist
and use an available provider rather than pretending PaperBLAST was queried.
Never create a fake -deep-research-{provider}.md by hand. If manual notes are
needed, write them as notes or a clearly named manual research file.
Module-hole-filling workflow
For each module:
- Define the expected pathway shape in
modules/*.yamlor identify that a new
module document is needed. A standalone module must have more than one
substantive part. If a UniPathway/KEGG bucket is a single gene, single enzyme,
or single reaction, record the curation in the batch page and fold it into a
broader multi-step module later rather than creating or retaining a one-part
ModuleReview. - Pull candidate PSEPK genes from the metadata table using EC, KEGG
ppu:*,
BioCyc monomers, UniPathway, InterPro/Pfam/PANTHER families, GO IDs, keywords,
protein names, and locus tags. - Classify each pathway step as
covered,candidate_uncertain,gap,
not_expected_in_KT2440, ormodule_needs_revision. - For covered steps, record representative UniProt groundings in the module
where useful. - For gaps and uncertain candidates, run targeted gene review and decide
whether the gap is a real biological absence, a naming/paralog issue, a
missing annotation, a bad propagated annotation, or a module-model error. - Validate changed modules with:
uv run linkml-validate -s src/ai_gene_review/schema/gene_review.yaml -C ModuleReview modules/<module>.yaml
Initial module order
| Phase | Module area | Existing module seed | First-pass question | Expected outputs |
|---|---|---|---|---|
| 0 | Whole-proteome inventory | none | What genes, accessions, ECs, pathways, families, and keywords are present in PSEPK? | Metadata TSV; module-bucket table; selected first batch |
| 1 | Entner-Doudoroff, pentose phosphate, TCA, glyoxylate, anaplerosis | modules/gluconeogenesis.yaml, modules/fatty_acid_beta_oxidation.yaml as style references |
Does the module set capture P. putida central-carbon logic, including no canonical EMP glycolysis? | New or revised central-carbon modules; review selected ED/TCA gaps |
| 2 | Aromatic compound catabolism | likely new beta-ketoadipate / aromatic-catabolism modules | Are benzoate, catechol, protocatechuate, quinate/shikimate, phenylacetate, tyrosine, and ferulate routes satisfiable? | Beta-ketoadipate and related modules; review missing or over-specific ring-cleavage annotations |
| 3 | Amino-acid biosynthesis and nitrogen assimilation | modules/tryptophan_biosynthesis.yaml, modules/methionine_biosynthesis.yaml, modules/nitrogen_cycle.yaml |
Which biosynthetic pathways are complete and where do Pseudomonas-specific variants replace textbook enzymes? | Update modules with PSEPK exemplars; review variant enzymes and broad nitrogen terms |
| 4 | Cofactors, vitamins, redox cofactors, metal handling | possible new modules | Are pyrroloquinoline quinone, heme, Fe-S, molybdenum cofactor, siderophore, and lanthanide-related systems represented? | New cofactor/siderophore/REE modules; targeted ped/pvd/lut reviews |
| 5 | Energy metabolism and respiratory chains | modules/oxphos.yaml |
Which terminal oxidases, dehydrogenases, and anaerobic respiration modules are encoded? | PSEPK respiratory-chain module coverage; EC7/translocase convention checks |
| 6 | Cell envelope, secretion, transport, and efflux | possible new modules | Which outer-membrane porins, TonB receptors, RND pumps, secretion systems, and envelope biogenesis pathways need module treatment? | Transport/envelope worklists; scrutiny of generic transporter annotations |
| 7 | Motility, chemotaxis, pili, biofilm, alginate | possible new modules | Are flagellar assembly, chemotaxis receptors, type IV pilus, alginate, and biofilm regulation wired consistently? | Motility/biofilm modules; gene reviews for receptors/regulators selected by module gaps |
| 8 | Stress response, DNA repair, and regulatory networks | modules/two_component_relay.yaml, modules/gtpase_switch.yaml as style references |
Which global regulators and repair/stress systems are already reviewed, and which are module-critical gaps? | Regulator module updates; targeted sigma/two-component/DNA-repair reviews |
| 9 | Specialized metabolism and biotechnology traits | possible new PHA, solvent tolerance, olefin, plant-interaction modules | Which KT2440 signature traits are absent from reusable modules? | New modules for PHA, solvent tolerance, olefin biosynthesis, and plant-associated traits |
| 10 | Dark proteome and orphan enzymes | none | Which high-confidence proteins remain unassigned to any module and which DUFs look curation-relevant? | Prioritized orphan list; optional bioinformatics analyses |
Module curation deliverables
Each module batch should leave behind:
- A module checklist in this subfolder naming candidate genes, expected steps,
and gap decisions. - Any revised or new
modules/*.yamlfiles, only when the reusable module has
more than one substantive part. - A short list of genes promoted from metadata-only triage to full review.
- Links to completed gene reviews and validation commands run.
- Notes on GO term gaps, obsolete/broad terms, and cases where a PSEPK enzyme
fills a pathway step under a different name than the standard model organism. - One focused pull request containing the module, its selected gene reviews,
research artifacts, batch record, rendered outputs, and validation results.
Active batch: ppu00220 / arginine_biosynthesis
Batch files:
projects/P_PUTIDA/batches/ppu00220_arginine_biosynthesis.tsvprojects/P_PUTIDA/batches/ppu00220_arginine_biosynthesis.md
Status as of 2026-07-17:
- A reusable eight-part acetylated-ornithine module covers the linear ArgA/ArgE
and cyclic ArgJ implementations through the shared ArgF/ArgG/ArgH trunk. - 12 selected gene reviews are curated: ten preferred pathway genes plus
argD/PP_4481andPP_3571as boundary/conflict reviews. - 12/12 OpenScientist gene-level reports and the PSEPK
module/pathway/taxon report are complete and integrated conservatively. - Direct KT2440 genetics, local family assignments, and exact UniProt
exemplars override unsupported provider claims about route dominance,
redundancy,PP_4481, andPP_3571. - Scoped validation passes, and repository-wide validation reports 3,694/3,694
reviews valid with zero errors. Draft PR
#2178 contains the
focused module batch.
Pilot status: ppu00400 / tryptophan_biosynthesis
Pilot batch files:
projects/P_PUTIDA/batches/ppu00400_tryptophan_biosynthesis.tsvprojects/P_PUTIDA/batches/ppu00400_tryptophan_biosynthesis.md
Status as of 2026-07-06:
- 28 KEGG
ppu00400candidate genes extracted from pathway membership. - 28/28 review folders present.
- 28/28 Asta gene-level retrieval reports present.
- 28/28 review YAMLs curated with no remaining
PENDINGactions. - Falcon generic module research complete:
modules/tryptophan_biosynthesis-deep-research-falcon.md. - Falcon PSEPK module+pathway research complete:
projects/P_PUTIDA/deep-research/PSEPK__tryptophan_biosynthesis__ppu00400-deep-research-falcon.md. - Validation complete for all 28 gene reviews with
just validate PSEPK <gene>. - Module validation complete with:
- PR #1874
merged.
uv run linkml-validate -s src/ai_gene_review/schema/gene_review.yaml -C ModuleReview modules/tryptophan_biosynthesis.yaml
Main curation conclusions from the pilot:
- The strict tryptophan module is chorismate to L-tryptophan and is covered in
KT2440 bytrpE, PP_0420/TrpG-likepabA,trpD,trpC,trpF,trpA,
andtrpB. - The broad KEGG
ppu00400map also pulls in shared shikimate genes
(aroB,aroK,aroA,aroC, aroE/aroQ/DAHP-synthase paralogs),
phenylalanine/tyrosine branch genes (pheA,tyrB,amaC,phhA), and
quinate/aromatic-catabolic genes (quiC1,quiA). These should be handled as
neighboring or shared-pathway context, not as core tryptophan module members. - PP_0420 is the main curation issue: current metadata names it
pabA, but the
KT2440 tryptophan-pathway context supports treating it as the TrpG-like
anthranilate synthase amidotransferase component. Folate/pABA activity remains
unresolved pending direct evidence. - Paralog ambiguity remains for aroE, aroQ, and DAHP synthase copies. The pilot
reviews accept the enzyme-class annotations while avoiding claims about which
paralog uniquely satisfies upstream shikimate flux.
Previous batch: ppu00010 / entner_doudoroff_and_gluconeogenesis
Batch files:
projects/P_PUTIDA/batches/ppu00010_entner_doudoroff_and_gluconeogenesis.tsvprojects/P_PUTIDA/batches/ppu00010_entner_doudoroff_and_gluconeogenesis.md
Status as of 2026-07-06:
- 38 KEGG
ppu00010membership candidates extracted for first-pass review. - 38/38 review folders present.
- 38/38 Asta gene-level retrieval reports present.
- 38/38 review YAMLs curated with no remaining
PENDINGactions. - Falcon generic module research complete:
modules/entner_doudoroff_and_gluconeogenesis-deep-research-falcon.md. - Falcon PSEPK module+pathway research complete:
projects/P_PUTIDA/deep-research/PSEPK__entner_doudoroff_and_gluconeogenesis__ppu00010-deep-research-falcon.md. - Module YAML seeded:
modules/entner_doudoroff_and_gluconeogenesis.yaml.
Main curation conclusions from the current batch:
- KT2440 should be treated as ED-centered rather than complete forward EMP
glycolysis; the module combines the ED branch, shared lower EMP trunk, and
gluconeogenic bypasses. - KEGG
ppu00010is an incomplete satisfiability boundary for KT2440 because
edd,eda,zwf, andpglare required ED-branch genes but are carried
through the neighboringppu00030-style boundary. - The ppu00010 membership table includes peripheral EC/pathway spillover from
pyruvate dehydrogenase, acetyl-CoA synthetase, aldehyde/alcohol
dehydrogenases, phosphosugar mutases/epimerases, and periplasmic glucose
oxidation. These reviews are useful first-pass curation, but not every member
is a core ED/gluconeogenesis module component.
Current batch: ppu00770 / coenzyme_a_biosynthesis
Batch files:
projects/P_PUTIDA/batches/ppu00770_coenzyme_a_biosynthesis.tsvprojects/P_PUTIDA/batches/ppu00770_coenzyme_a_biosynthesis.md
Status as of 2026-07-18:
- 24 KEGG
ppu00770membership candidates partitioned, plus the independently
identified PP_4452 false-positive ketopantoate-reductase annotation. - 12/12 selected review folders present, curated, and validated with no
remainingPENDINGactions. - 12/12 OpenScientist gene-level reports present and manually assessed; the
PP_2325 and PP_2998 PanE overcalls were not imported. - OpenScientist PSEPK module+pathway+taxon research complete:
projects/P_PUTIDA/deep-research/PSEPK__coenzyme_a_biosynthesis__ppu00770-deep-research-openscientist.md. - The first generic OpenScientist request reached its full two-hour limit
without a result. A correctly scoped retry completed in 1,889.79 seconds and
has been assessed and incorporated. - The reusable module now models eight reaction activities, including
canonical PanC/PanK and archaeal PoK/PPS reaction-order variants, with exact
cross-taxon UniProt exemplars and seven verified PAINT IBD function nodes. - Draft PR #2180.
Main curation conclusions from this batch:
- KT2440 satisfies all eight reactions with seven proteins because fused
dfp/coaBCperforms the consecutive ligase and decarboxylase steps. - Canonical
panE/PP_1351 satisfies ketopantoate reduction. PP_2325 is the
close ortholog of experimentally inactive PaKPR2 and is removed from the
pathway; PP_2998 remains unresolved; PP_4452 is an opine-family
oxidoreductase rather than a ketopantoate reductase. - Beta-alanine supply is an external, taxon-dependent input rather than a fixed
PanD module step. KT2440 likely uses reductive pyrimidine degradation. - PP_0922 AcpH and MazG are pathway-map spillover involved in carrier-protein
turnover and nucleotide-pool turnover, respectively, not CoA synthesis.
Previous batch: ppu00622 / benzoate_upper_pathway
Batch files:
projects/P_PUTIDA/batches/ppu00622_benzoate_upper_pathway.tsvprojects/P_PUTIDA/batches/ppu00622_benzoate_upper_pathway.md
Status as of 2026-07-13:
- 6 KEGG
ppu00622membership candidates extracted for first-pass review. - 4/6 candidates selected as core upper benzoate genes:
benA,benB,benC, andbenD. - 2/6 candidates (
PP_1791,PP_2504) classified as lower meta-cleavage
spillover from overlapping KEGG maps and excluded from this module. - 4/4 selected review folders present and already curated.
- 4/4 selected genes now have OpenScientist gene-level retrieval reports.
- OpenScientist generic module research complete:
modules/benzoate_upper_pathway-deep-research-openscientist.md. - OpenScientist PSEPK module+pathway research complete:
projects/P_PUTIDA/deep-research/PSEPK__benzoate_upper_pathway__ppu00622-deep-research-openscientist.md. - Module YAML seeded:
modules/benzoate_upper_pathway.yaml.
Main curation conclusions from this batch:
- The useful module boundary is the benzoate-to-catechol upper pathway:
BenABC dioxygenation followed by BenD cis-diol dehydrogenation. - KT2440 satisfies the module with the contiguous single-copy
benA/benB/benC/benDcluster. - The KEGG
ppu00622"Xylene degradation" label is misleading for plasmid-free
KT2440; the biochemical anchor is closer to KEGG M00551 and ppu00362
benzoate degradation. - Catechol ortho-cleavage, catechol meta-cleavage, and CoA-dependent benzoate
routes are separate modules, not parts of this upper-pathway module.
Previous batch: ppu00740 / riboflavin_biosynthesis
Batch files:
projects/P_PUTIDA/batches/ppu00740_riboflavin_biosynthesis.tsvprojects/P_PUTIDA/batches/ppu00740_riboflavin_biosynthesis.md
Status as of 2026-07-15:
- 15 KEGG
ppu00740membership candidates extracted for first-pass review. - Module-first light pass started without creating PENDING review stubs for all
KEGG members. - Species-neutral module YAML seeded:
modules/riboflavin_biosynthesis.yaml. - OpenScientist generic module research complete:
modules/riboflavin_biosynthesis-deep-research-openscientist.md. - OpenScientist PSEPK module+pathway research complete:
projects/P_PUTIDA/deep-research/PSEPK__riboflavin_biosynthesis__ppu00740-deep-research-openscientist.md.
Main first-pass boundary decisions:
- Core riboflavin-ring synthesis is the RibA, RibD, RibB/RibBX, RibH, and
RibE/RibC reaction chain from GTP and ribulose 5-phosphate to riboflavin. - RibF is modeled as the connected bacterial FMN/FAD activation step because it
converts riboflavin to the active flavin cofactors and is often bifunctional. ssuE,msuE,ubiX,bluB,nudF, andhadare KEGG-map neighbors or
spillover candidates, not required steps in de novo riboflavin biosynthesis.- The PSEPK report supports full module satisfiability but flags
ribAB-Iand
ribAB-IIas likely RibBX-like DHBP synthase proteins with degenerate
C-terminal GTP-CHII-fold domains; treatribAas the only GTP cyclohydrolase
II exemplar until targeted gene reviews confirm otherwise. - Full gene reviews should prioritize
ribAB-IandribAB-II, thenribCand
ribF; lower-priority checks includeribD,ribE, and any non-core
candidates whose current pathway annotations appear misleading.
Previous batch: ppu00361 / catechol_ortho_cleavage
Batch files:
projects/P_PUTIDA/batches/ppu00361_catechol_ortho_cleavage.tsvprojects/P_PUTIDA/batches/ppu00361_catechol_ortho_cleavage.md
Status as of 2026-07-15:
- 3 KEGG
ppu00361membership candidates extracted for first-pass review:
catA-II,catA-I, andcatB. catC/PP_3714 added from neighboringppu00362because it is the required
muconolactone delta-isomerase step that completes the catechol branch.- 4/4 selected review folders present and curated;
catA-IIwas fetched and
curated in this batch. - OpenScientist generic module research complete:
modules/catechol_ortho_cleavage-deep-research-openscientist.md. - OpenScientist PSEPK module+pathway research complete:
projects/P_PUTIDA/deep-research/PSEPK__catechol_ortho_cleavage__ppu00361-deep-research-openscientist.md. - Module YAML seeded:
modules/catechol_ortho_cleavage.yaml.
Main curation conclusions from this batch:
- The reusable module is the three-step catechol ortho-cleavage branch:
CatA catechol 1,2-dioxygenase, CatB muconate cycloisomerase, and CatC
muconolactone delta-isomerase. - KT2440 satisfies the module once CatC/PP_3714 is included. The original
three-gene candidate list omitted CatC because KEGG partitions PP_3714 into
neighboringppu00362; this is a map-membership artifact, not a biological
gap. - The KEGG
ppu00361"chlorocyclohexane and chlorobenzene degradation" label
is over-broad for KT2440; the native module is non-chlorinated catechol
ortho-cleavage feeding the beta-ketoadipate pathway. - CatA-I/PP_3713 and CatA-II/PP_3166 should be represented as distinct
catechol 1,2-dioxygenase exemplars, with unresolved physiology around their
relative contributions under benzoate and catechol flux.
First batch proposal
Start with central carbon plus aromatic catabolism, because these are core
KT2440 biology and the existing project already has reviewed genes in the
neighborhood (aceA, acnB, BenR, benA/B/C/D, catA/B/C, pcaG, fcs,
hpd, AAA biosynthesis genes). This gives an immediate test of the metadata
clustering, module satisfiability, and review-escalation workflow before scaling
to the rest of the genome.