Identifier Semantics
normalized_gene_idis the final NCBI Gene ID.normalized_gene_nameis the normalized gene symbol/name used to group gene cards.- Function-level data comes from
protein_functions; normalized identifiers come fromnormalized_protein_functions; publication metadata comes frompapers.
Endpoints
| Method | Endpoint | Purpose |
|---|---|---|
| GET | /api/schema | Validate required tables and columns. |
| GET | /api/stats | Counts, distributions, and top summaries. |
| GET | /api/search | Return grouped gene cards. |
| GET | /api/functions | Return function-level records. |
| GET | /api/gene/id/<gene_id> | Function rows by exact NCBI Gene ID. |
| GET | /api/gene/name/<gene_name> | Gene card by normalized gene name. |
| POST | /api/batch | Batch search over gene names and NCBI Gene IDs. |
| POST | /api/advanced | Rule-based filtering over allowed fields. |
| GET | /api/normalized/external-db-annotation | Cross-database presence check using gene-group IDs, mapped UniProt accessions, and name/synonym terms. |
| GET | /api/functions/wordcloud | PNG bigram wordcloud for function_name only or name+description. |
| GET | /api/export/search | Export filtered function rows as CSV, TSV, or JSON. |
Parameters
gene_name, normalized_gene_name: exact normalized gene-name match.
gene_id, normalized_gene_id, ncbi_gene_id: exact NCBI Gene ID match.
q: broad text search across gene, function, evidence, PMID/DOI, and paper fields.
function_type, species, localization, switching_mechanism, tumour_related: optional filters.
Allowed fields include normalized_gene_name, normalized_gene_id,
gene_name, protein_name, function_name,
function_description, function_type, species,
localization, switching_mechanism, tissues,
tumour_context, source_sentences, go_slims,
pmid, doi, title, abstract, and journal.
/api/normalized/external-db-annotation: accepts gene_name and/or gene_id.
The resolver expands to all gene IDs in the same normalized gene card, maps all related UniProt accessions, and then checks MoonProt, MoonDB (curated + predicted), and MultiTaskProtDB caches.
MoonDB returns both combined presence (moondb) and source detail IDs (moondb_curated_ids, moondb_predicted_ids).
/api/functions/wordcloud: type=canonical|moonlighting|all, mode=name_only|name_plus_description, optional gene_name.
Examples
curl '/api/search?gene_name=TP53&function_type=moonlighting&species=Homo%20sapiens'
curl -X POST '/api/batch' \
-H 'Content-Type: application/json' \
-d '{"genes":["TP53","BRCA1","7157"],"function_type":"all"}'
curl -X POST '/api/advanced' \
-H 'Content-Type: application/json' \
-d '{
"logic":"AND",
"conditions":[
{"field":"localization","operator":"contains","value":"nucleus"},
{"field":"function_type","operator":"equals","value":"moonlighting"}
],
"limit":1000
}'
curl '/api/normalized/external-db-annotation?gene_name=GAPDH'
curl '/api/functions/wordcloud?type=all&mode=name_plus_description&gene_name=GAPDH' --output cloud.png
Exports
The export endpoint returns function rows, not grouped cards. Supported formats are csv, tsv, and json.
curl '/api/export/search?gene_id=7157&format=csv'