Programmatic access

REST API

Public JSON endpoints for genes, expression, orthology, PPI, multi-omics and analysis tools are listed below: https://www.mapleomics.com/api/. Genome, synteny, GWAS and trait pages also use static datasets. No key or registration is required; please keep request rates modest.

Responses are JSON. Gene and sample lists use page (1-based) and per_page (20/50/100). Other endpoint limits are listed below. Gene identifiers accept both display IDs (e.g. Atru.chr4.2311) and canonical IDs (Atru.chr4.2311_Atru).

GET/api/stats

Counts of primary annotated gene records, sample-catalog records, normalized tissue categories and distinct PPI protein identifiers. Source annotation model counts and searchable record counts have separate definitions; see data scope.

curl https://www.mapleomics.com/api/stats

GET/api/gene/search

Search the gene index. Params: q (ID or description substring), species (code, e.g. Atru), page, per_page.

curl 'https://www.mapleomics.com/api/gene/search?q=Atru.chr4.231&species=Atru'

GET/api/gene/<gene_id>/expression  ·  /api/gene/<gene_id>/info

Per-tissue TPM values; gene annotation, coordinates and orthogroup.

curl https://www.mapleomics.com/api/gene/Atru.chr4.2311_Atru/expression

GET/api/ortholog/search  ·  /api/ortholog/group/<orthogroup_id>

OrthoFinder orthologs for a gene (gene param) or all members of an orthogroup.

curl 'https://www.mapleomics.com/api/ortholog/search?gene=Atru.chr4.2311_Atru'

POST/api/blast/run

JSON body: sequence (FASTA or raw), program (blastn/blastp/blastx/tblastn), db (genome/cds/protein), positive finite evalue (≤10), max_target_seqs (integer 1–100, default 50; subjects per query, not HSP rows). blastn/tblastn use genome or CDS; blastp/blastx use protein. Limits: 100 queries and 200,000 residues total. The response includes the actual parameters; failed searches return an error, not zero hits.

curl -X POST https://www.mapleomics.com/api/blast/run \
  -H 'Content-Type: application/json' \
  -d '{"sequence":"ATGGCTGCTGCTGCTGCTGCTGCTGCTGCTGCTGCTGCTGCTGCTGCT","program":"blastn","db":"cds","max_target_seqs":10}'

GET/api/ppi/search

Up to 100 STRING-derived association edges, ordered by score. Param: protein (protein/gene ID). The page filters this returned subset by score; the API does not accept a score threshold.

curl 'https://www.mapleomics.com/api/ppi/search?protein=Atru.chr5.769'

GET/api/multiomics/…

/gene/<id> cross-layer view; /diff DEG table (params layer, minimum absolute log₂ fold change fc, maximum fdr); /te ratio table (params q, class, sort, dir); /sorf/browse and /sorf/detail/<orf_id> sORF browser; /stats and /search. List page sizes range from 1 to 200. Invalid numeric filters return HTTP 400. gene-level Ribo differential and TE endpoints are temporarily paused (HTTP 503, data_status: under_reanalysis) because the imported Ribo comparison used mixed-date sample groups. All-layer differential queries and gene views omit this affected layer; original source records are retained.

curl 'https://www.mapleomics.com/api/multiomics/te?page=1&per_page=20'

GET/api/samples  ·  /api/samples/stats

Sample catalogue (params species, assay_type, tissue, development_stage, page, per_page) and summary counts by assay, species and stage.

curl https://www.mapleomics.com/api/samples/stats

GET/api/primer/sequence  ·  POST/api/primer/design

Fetch a template (gene_id, flank) or run Primer3 (JSON body: gene_id or sequence, preset, product_size_min/max).

curl -X POST https://www.mapleomics.com/api/primer/design \
  -H 'Content-Type: application/json' -d '{"gene_id":"Atru.chr4.2311_Atru"}'

POST/api/chat

Natural-language assistant. JSON body: message, optional history.

curl -X POST https://www.mapleomics.com/api/chat \
  -H 'Content-Type: application/json' -d '{"message":"Which tissues express KCS most?"}'
Available downloads, including species metadata, the displayed leaf DEG table and released assembly links, are listed on the Data & Downloads page. Questions or issues: see the About page.