GIBBER
GIBBER
GIBBER (Genes In Brain BrowsER) is the code behind Exploring Genes in the Brain through Multimodal Views driven by Disorder Ontologies, presented at EG VCBM 2026.

Research use only. Not a medical device. See DISCLAIMER.md for intended use, data provenance and limitations.
Overview
GIBBER lets researchers browse disorder–gene–brain-structure relations top-down:
- choose a disorder–gene association set: the NHGRI-EBI GWAS Catalog (with source publication, p-value and link for every association) or the Graphwise LinkedLifeData associations (Cause, RiskFactor, AssociatedWith), or both;
- select one or two disorders, with their descendants, from the SNOMED CT disorder hierarchy, in a tree or a circular force-directed layout;
- compare the associated gene sets as lists or as a heatmap of expression per brain structure;
- inspect the expression of the selected genes per brain structure in slice and volume views over the MNI ICBM 2009b template with the Allen Human Reference Atlas parcellation, or in a 2-D projection (PCA, UMAP or t-SNE) computed by the backend.
The backend is FastAPI over a PostgreSQL (PostGIS, pgvector) database; the frontend is Vue with D3 and three.js / WebGL. The running application uses no outside service: the browser talks only to the GIBBER backend, and the backend only to its database. Only the one-off ingestion scripts download data from public sources and query the UMLS API.
Data
No large data is in the repository; the ingestion scripts in backend/prepare/ download it into data/:
- Allen Human Brain Atlas normalised microarray expression of donor 9861, and the Allen Human Reference Atlas 3D (2020) annotation, under the Allen Institute Terms of Use;
- the MNI ICBM 2009b non-linear symmetric template;
- the NHGRI-EBI GWAS Catalog associations (v1.0.2) and the EBI OLS ontology exports, under the EMBL-EBI terms of use.
SNOMED CT is licensed and not included: download the International RF2 release yourself (e.g. SnomedCT_InternationalRF2_PRODUCTION_20260601T120000Z.zip from the NLM, which needs a UMLS account) and extract it to data/snomed_ct.
The ingestion also maps UMLS concepts to SNOMED CT through the UMLS API, which needs a UMLS API key.
The repository does contain small derived tables in data/links/: the Graphwise gene–disorder associations (UMLS_Genes_*.tsv) and a list of neurological disorders with SNOMED CT and UMLS identifiers.
None of the data is patient data; see DISCLAIMER.md for sources and licences.
Running locally
Docker
The backend (repository root) and the frontend (frontend/) each have a Dockerfile. The backend image expects the ingested database and the data/ folder (see the development setup below for creating both):
docker build -t gibber-backend .
docker run -p 8000:8000 -v "$PWD/data:/app/data" \
-e GIBBER_DATABASE_URL=postgresql://<user>:<password>@<host>:<port>/gibber_db gibber-backend
docker build -t gibber-frontend ./frontend
docker run -p 8080:80 -e GIBBER_API_BASE_URL=http://localhost:8000 -e GIBBER_SITE_BASE_URL=<site base path> gibber-frontend
Development setup
Prerequisites:
uv,docker, a recent LTSnode, and a UMLS API key.
Start the development database (PostgreSQL with PostGIS and pgvector on port 5439, pgAdmin on port 10005) and install the backend dependencies:
(cd data/dev-containers && docker compose up -d)
uv sync
Put your UMLS API key into a .env file in the repository root:
echo "UMLS_API_KEY=<your key>" > .env
Download the public data (see Data for SNOMED CT, which you have to download yourself), then run the (lengthy) ingestion:
source .venv/bin/activate
cd backend/prepare
python3 00_load_all.py
python3 01_ingest.py
python3 02_gwas.py
python3 02a_snomed.py
Then start the backend from the repository root. Its default database URL uses port 5410, so point it at the development database:
cd ../..
GIBBER_DATABASE_URL=postgresql://gibber_user:gibberingallday@localhost:5439/gibber_db \
python3 -m uvicorn backend:app --reload --port 8093
Finally, start the frontend, which talks to the backend at http://127.0.0.1:8093 (frontend/.env.development):
cd frontend
npm install
npm run dev
Citation
@inproceedings{kantz2026gibber,
booktitle = {VCBM 2026 - Eurographics Symposium on Visual Computing for Biology and Medicine},
editor = {Krueger, Robert and M{\"o}rth, Eric and Furmanov{\'a}, Katar{\'i}na},
title = {{Exploring Genes in the Brain through Multimodal Views driven by Disorder Ontologies}},
author = {Kantz, Benedikt and Veronese, Mattia and Giacomel, Alessio and Atzori, Manfredo and Nikolova, Ivelina and Silvello, Gianmaria and Waldert, Peter and Lengauer, Stefan and Schreck, Tobias},
year = {2026},
publisher = {The Eurographics Association}
}
@software{kantz2026gibber_software,
author = {Kantz, Benedikt},
title = {{hereditary-eu/GIBBER: v0.1.0-VCBM}},
version = {v0.1.0},
year = {2026},
publisher = {Zenodo},
doi = {10.5281/zenodo.20513606},
url = {https://doi.org/10.5281/zenodo.20513606}
}
Acknowledgement
Funded by the European Union under grant agreement No 101137074 (HEREDITARY). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Health and Digital Executive Agency (HaDEA). Neither the European Union nor the granting authority can be held responsible for them.
License
MIT, see LICENSE.

