Genomics Data Visualization Retrieval for Authoring with Multimodality
@article{nguyen2025multimodal,
title={Multimodal Retrieval of Genomics Data Visualizations},
author={Nguyen, Huyen N and L’Yi, Sehi and Smits, Thomas C and Gao, Shanghua and Zitnik, Marinka and Gehlenborg, Nils},
year={2025},
publisher={OSF Preprints},
url={https://osf.io/zatw9_v1},
doi={10.31219/osf.io/zatw9_v1},
}
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:
flask --app app.py run
The server will start on http://localhost:5000 by default.
-
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.
- Current Node.js version used:
v22.8.0
node -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.