Brief for batch gene-review agents (YeastPathways module project)
You are reviewing yeast metabolic genes for the ai-gene-review repo. Read
CLAUDE.md first and follow it strictly —
especially "Do not overrule curators from incomplete evidence", "Do not add what
curators deliberately declined to add", the IBA section, and the protein binding
policy. Look at one or two complete existing yeast reviews for format
(e.g. genes/yeast/CAT2/CAT2-ai-review.yaml).
For EACH gene in your batch:
just fetch-gene <org> <SYMBOL>(org =yeastfor S. cerevisiae,SCHPO
for S. pombe; use the symbol exactly as given). If the directory already
exists and the review has noPENDINGactions, skip the gene and say so.
Thenjust fetch-gene-pmids <org> <SYMBOL>to cache cited publications.- Do NOT run paid deep-research providers. Instead write
genes/<org>/<SYMBOL>/<SYMBOL>-notes.md: a short evidence journal built
from the UniProt record, cachedpublications/PMID_*.md, and (if useful)
WebSearch. Every claim carries provenance[PMID:nnn "quote"]or
[UniProt:ACC]. - Fill
<SYMBOL>-ai-review.yaml:description(project-independent biology),
a review for EVERY existing annotation (noPENDINGleft),core_functions
(MF with GO id +directly_involved_inBP +locations,supported_by),
references with titles. Use exact verbatimsupporting_textquotes from the
cached publication files (or the uniprot txt viafile:refs as other
reviews do). UseUNDECIDEDonly when evidence genuinely cannot be assessed.
Never guess GO ids: verify with the OLS MCP / QuickGO /uv run runoak -i sqlite:obo:go info GO:xxxxxxxbefore using any id you author.
Be especially careful with the pathway context given below: the gene's core
function should be the enzymatic step it catalyses in that pathway
(reaction/EC given), unless evidence says otherwise. just validate <org> <SYMBOL>must pass (warnings OK, errors not).- Create a history record:
just new-history --kind gene --organism <org> --slug <SYMBOL> --event CREATE --outcome changed --summary "Create review: <SYMBOL>" --agent-tool claude-code --sections existing_annotations,core_functions --details "<one paragraph>"
thenjust validate-history <path>.
Rules:
- Only touch files for the genes in your batch, publications/ (via the fetch
commands), and history/genes/.... Do NOT edit modules, projects, schema,
other genes, or cache/ files deliberately. Do NOT commit or push; the
coordinator commits.
- Do not fabricate. If a publication is abstract-only and you cannot verify a
curator's experimental annotation, defer to the curator (ACCEPT or UNDECIDED,
per CLAUDE.md), never REMOVE on that basis.
- Final answer: a compact table per gene: symbol, UniProt acc, #annotations,
action counts, core MF term(s), validation status, and any family-level or
pathway-level observations useful to the module curator (e.g. paralog
specialisation, mis-annotated EC, compartment, moonlighting).
Lessons from the pilot batch
- Scripting the YAML scaffolding is fine, but every
summary/reasonmust be
specific to that gene and that annotation row (what the cited evidence shows
for THIS protein). Avoid boilerplate such as "Electronic annotation consistent
with ..."; say which mapping produced it and whether it is right for this protein. - YeastPathways RCA rows (
SGD_PWY:with/from) inherit superpathway BPs
(e.g. PRPP-PWY-1 -> "nucleotide biosynthetic process" on histidine enzymes).
Judge each against what the gene product actually does. - YeastCyc sometimes attaches paralogs/promiscuous enzymes to reactions
without yeast evidence (e.g. HIS5 as an aromatic aminotransferase). Flag these. - The scratchpad is shared by parallel agents: put any helper scripts in a
uniquely named subfolder (e.g.scratchpad/<first-gene>_batch/).