Review the gene specified in $ARGUMENTS.
- ORGANISM should typically be a uniprot species code (in a few cases we use lowercase GO names)
- GENE_SYMBOL should be the human readable gene symbol for that org
IMPORTANT: you MUST consult the annotation-reviewer.md subagent for this task.
Step 1: Ensure gene data is fetched
Run just fetch-gene ORGANISM GENE_SYMBOL if the gene directory doesn't exist yet.
Step 2: Run deep research AND publication caching in parallel
Publication caching only needs the GOA file (created by fetch-gene), so it can run
concurrently with deep research. Launch both at the same time:
- Deep research: If the user specifies a deep research provider(s), use that provider(s),
otherwise default to falcon. Use
--fallback perplexity-lite so that if the primary
provider times out, it automatically retries with perplexity-lite.
E.g. just deep-research-falcon ORGANISM GENE_SYMBOL --fallback perplexity-lite
- Publication caching:
just fetch-gene-pmids ORGANISM GENE_SYMBOL
Run these two steps in parallel (e.g. as concurrent background agents or shell jobs).
Do NOT wait for deep research to finish before starting publication caching.
Step 3: Fetch additional data (bacterial organisms)
For bacterial organisms (e.g. PSEPK, ECOLI, SALTY, or any prokaryote), after deep research,
also fetch FEBA/RB-TnSeq fitness data if available:
just fetch-fitness ORGANISM GENE_SYMBOL
This creates a GENE-fitness.md file with mutant fitness phenotypes and cofitness partners.
The annotation-reviewer agent will use this data as additional evidence when reviewing annotations.
Step 4: Run annotation review
Invoke the annotation-reviewer subagent to systematically review all annotations.
Two standing rules from the annotation-reviewer skill that apply to every review:
- Do not second-guess deterministic pipeline outputs. Term ids, labels, evidence
codes, qualifiers and obsoletion status come from deterministic tooling; never assert
from memory that a term is obsolete, merged, or renamed — verify via OLS/QuickGO
before any rationale depends on it.
- Review from the YAML; the GOA tsv is just its seed. The reviewer works from the
review YAML's
existing_annotations (seeded deterministically from the tsv) and
judges each row on "does this gene product execute a function in this process". The
tsv never needs to be opened; if it is, ignore the gene-product-to-term relationship
type (QUALIFIER column). The only annotation flags that matter are NOT
(negated: true) and qualifier: contributes_to, which must be respected.
Ortholog source reviews (e.g. genes/human/<GENE>/) are in scope when the defect
is on the donor side.