Genomics Visualization Retrieval for Authoring with Multimodality
Preprint on OSF.
@article{nguyen2026multimodal,
author={Nguyen, Huyen N. and L'Yi, Sehi and Smits, Thomas C. and Gao, Shanghua and Zitnik, Marinka and Gehlenborg, Nils},
journal={IEEE Transactions on Visualization and Computer Graphics},
title={Geranium: Multimodal Retrieval of Genomics Data Visualizations},
year={2026},
volume={},
number={},
pages={1-17},
doi={10.1109/TVCG.2026.3683429}}
Geranium is a multimodal retrieval system that helps researchers efficiently find genomics visualization examples using image, text, or specification-based queries. Search results function as adaptable templates/scaffolds that researchers can modify with their own data and design preferences.
Flexible query approaches: Choose your preferred search method - example images, natural language queries, or partial Gosling specification queries for precise visualization retrieval
Adaptable visualization scaffolds: Search results function as modifiable templates, not just static examples
Integrated live editor: Edit and customize retrieved visualizations directly within the application
Triplet output: Each resulting visualization is returned as a triplet of image, text, and its corresponding Gosling specification
Diverse Collection: The collection spans single-view to multi-view visualizations for specialized genomic applications like epigenomics and structural variation analysis
The application consists of two components: a server and a client that need to be run separately.
Navigate to the server directory:
cd server
Create and activate a Python virtual environment:
python3 -m venv .venv
source .venv/bin/activate
Install the required dependencies:
python3 -m pip install -r requirements.txt
Alternatively, if using uv package manager:
uv pip install -r requirements.txt
Start the server on port 5001:
flask --app app.py run --debug --port 5001
The server will start on http://localhost:5001.
Open a new terminal and navigate to the client directory:
cd client
Install the necessary dependencies:
npm install
Start the client application:
npm run dev
Once started, the client will be available at http://localhost:5173/.
After both the server and client are running, open your browser and navigate to http://localhost:5173/ to start using Geranium.
Make sure the server is running before accessing the client.
The client will attempt to interact with the backend hosted by Flask on its default port.
If the client does not run properly, you may need to update your Node.js and/or Vite versions.
v22.8.0node -v
If you are using an older version, consider updating Node.js.
Sometimes deleting the node_modules folder and reinstalling dependencies can resolve issues:
rm -rf node_modules
npm install
To update Vite to the latest version, run:
npm update vite
Contributions are welcome! If you’d like to contribute, please open a new issue or submit a pull request. Please read CONTRIBUTING.md to find more guidelines.