Overview
The AI Gene Review tool helps researchers and curators review existing Gene Ontology (GO) annotations using strict, defined criteria. It provides a structured workflow for validating annotations using AI-driven analysis combined with literature research and bioinformatics evidence.
Key Features
Multi-organism Support
Human, mouse, worm, and other model organisms with unified annotation workflow
Literature Integration
Automatic PubMed citation fetching and caching with reference management
Schema Validation
LinkML-based validation for consistency and structured data integrity
Anti-Hallucination Validation
ID/label tuple checksums prevent AI fabrication of ontological terms
Batch Processing
Handle multiple genes efficiently with comprehensive reporting
Structured Reviews
YAML-based gene annotation reviews with detailed provenance tracking
Evidence Tracking
Detailed provenance and supporting text for all annotation decisions
Misannotation Detection
Computational analysis to identify potentially misannotated genes
Quick Start
Installation
- Install uv for dependency management
- Clone and install dependencies:
git clone https://github.com/cmungall/ai-gene-review.git
cd ai-gene-review
uv sync --group dev
Basic Usage
Fetch gene data:
uv run ai-gene-review fetch-gene human TP53
Validate a gene review file:
uv run ai-gene-review validate genes/human/TP53/TP53-ai-review.yaml
Generate validation reports with TSV output:
just validate-all # Creates reports/validation-all.tsv
Fetch publications for a gene:
uv run ai-gene-review fetch-gene-pmids genes/human/TP53/TP53-ai-review.yaml
Generate statistics report:
just stats # Generate HTML report
just stats-open # Generate and open in browser
Workflow Overview
Fetch Gene Data
Download UniProt records and GO annotations
Literature Research
Gather supporting publications and evidence
Create Review
Structure annotations using the YAML schema
Validate
Check against LinkML schema and best practices
Iterate
Refine annotations based on validation results
Anti-Hallucination Validation
Novel Approach: The AI Gene Review system implements a robust anti-hallucination validation mechanism using ID/label tuple checksums to prevent AI systems from fabricating or misusing ontological terms.
How It Works
Every ontology term requires both an id (semantic identifier) and label (human-readable name):
term:
id: GO:0005515 # Ontology identifier
label: protein binding # Canonical label
Validation Process
The TermValidator performs multi-layer validation:
- Format Validation: Ensures IDs follow proper CURIE patterns
- Existence Validation: Verifies terms exist in authoritative ontologies
- Label Matching: Cross-references provided labels against canonical labels
- Branch Validation: Ensures GO terms are in correct ontological branches
- Obsolescence Checking: Flags outdated terms
Why This Prevents Hallucination
- ✅ Dual Verification: Both ID and label must be correct and consistent
- ✅ External Truth Source: Validates against authoritative ontologies
- ✅ Real-time Checking: Uses live API calls to catch fabricated terms
- ✅ Semantic Consistency: Ensures terms make sense in context
Supported Ontologies
The validator supports 10+ major ontologies including GO, HP, MONDO, CL, UBERON, CHEBI, PR, SO, PATO, and NCBITaxon.
Misannotation Analysis
Computational Detection: New framework inspired by research showing 78% of enzyme annotations may be incorrect. Identifies potentially misannotated genes using sequence similarity and domain architecture analysis.
Analysis Framework
Located in analysis/misannotation/ with dedicated tools:
Quick Test Commands:
cd analysis/misannotation
# Quick test with single gene (fast)
just test-quick human TP53
# Full analysis with BLAST (slower)
just analyze-sequence human
just analyze-domains human
just analyze-full human
# Generate summary report
just summarize-risk
Risk Assessment
- HIGH Risk: <25% sequence identity with characterized proteins
- MEDIUM Risk: 25-50% sequence identity
- LOW Risk: >50% sequence identity with consistent domains
Output Formats
- JSON reports: Detailed analysis per gene
- TSV summaries: Easy filtering and analysis
- Risk categorization: HIGH/MEDIUM/LOW classifications
Resources & Links
Gene Review Structure
Each gene review follows a structured YAML format containing:
- Gene metadata: UniProt ID, gene symbol, taxon information
- Description: Comprehensive summary of gene function
- References: Literature and bioinformatics sources
- Existing annotations: Review of current GO annotations with actions
- Core functions: Curated essential gene functions
Example Data
The repository includes example gene reviews for:
- Human: BRCA1, CFAP300, RBFOX3, TP53
- Mouse: Various examples
- Worm: lrx-1
Developer Tools
Available commands using just command runner:
just --list # Show all available commands
just test # Run tests, type checking, and linting
just format # Run code formatting checks
just install # Install project dependencies
just validate-all # Validate all genes with TSV output
Case Studies
PedH: a lanthanide-dependent alcohol dehydrogenase (Pseudomonas putida KT2440)
All ten GO annotations on PedH are electronic (IEA), as is typical for non-model genomes. The review weighs each one against the primary literature:
- Lanthanide, not calcium: the ARBA/InterPro-derived "calcium ion binding" is removed, because PedH requires trivalent lanthanides rather than Ca2+. GO has no lanthanide term, so "lanthanide ion binding" is proposed as a new term.
- Localization: "membrane" is removed and "periplasmic space" accepted; PedH is a soluble periplasmic enzyme. The more specific "outer membrane-bounded periplasmic space" is also removed in favour of the general periplasmic term.
- A regulatory phenotype: deleting pedH changes pedE and pedH promoter output, so a non-core "regulation of gene expression" annotation is proposed. The mechanism is unresolved, and no regulator activity is claimed.
- Gaps in GO: two new terms are proposed, lanthanide ion binding and lanthanide-dependent alcohol dehydrogenase activity.
PedH is one of more than 900 P. putida reviews; see the P. putida project.
Epe1: a JmjC protein with no detectable demethylase activity (S. pombe)
The domain assignments place Epe1 among JmjC histone demethylases, and the IBA for histone demethylase activity follows them. The direct evidence does not: the UniProt caution note (the canonical iron-binding His replaced by Tyr at 370), the sequence alignment, and no detectable activity for purified Epe1 in vitro. The IBA is removed as a propagation. The experimental H3K9 demethylase rows are left UNDECIDED, because active-site mutants separate Epe1's functions in vivo and a catalytic contribution is not excluded. The case is catalogued in the IBA review as a pseudoenzyme that kept an ancestral catalytic term.
RIC7 (F4JLB7): a name that points to the wrong gene (Arabidopsis)
F4JLB7 carries the name RIC7, a CRIB-motif ROP effector, but its domain architecture (signal peptide, leucine-rich repeats, hydrophobic C terminus) is consistent with a membrane-associated LRR receptor-like protein, whose ligand and partners remain unresolved. The primers used to clone RIC7 in the original study map to the neighbouring CRIB gene At4g28556, so the experimental annotations (IPI, IMP, IDA) are held as UNDECIDED pending a locus correction.
For work spanning many genes, such as obsoletion migrations, pipeline audits and species campaigns, see the projects index.