✨ lumen-anndata¶
https://github.com/user-attachments/assets/836f0699-6379-4314-a861-7e3729d66f48
Overview¶
lumen-anndata is an extension to enable Lumen to interact with anndata objects, a common format for single-cell genomics data. It aims to allow researchers to use natural language to explore, analyze, and visualize complex single-cell datasets through a chat interface.
Features¶
lumen-anndata supports the following capabilities:
- Natural language querying of anndata objects
- Integration with select scanpy functions for running analysis and static plotting
- Interactive visualization of single-cell data (UMAP, DotMap, HeatMap, Dendrogram, etc.) with HoloViz
Installation¶
Install it via pip
:
Usage¶
To launch the Lumen app, run:
---¶
Development¶
For a simple setup use uv
:
uv venv
source .venv/bin/activate # on linux. Similar commands for windows and osx
uv pip install -e .[dev]
uv pip install "git+https://github.com/holoviz/lumen@main#egg=lumen[ai-llama]"
pre-commit run
pytest tests
For the full Github Actions setup use pixi:
This repository is adapted from copier-template-panel-extension
To update to the latest template version run:
Note: copier
will show Conflict
for files with manual changes during an update. This is normal. As long as there are no merge conflict markers, all patches applied cleanly.
To update the embeddings to use a new version of scanpy
, increment the version in scripts/embed_docs.py
and run:
Ensure you have an OpenAI API key set in your environment variables. You can set it in your terminal session with:
❤️ Contributing¶
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature
. - Make your changes and commit them:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature/YourFeature
. - Open a pull request.
Please ensure your code adheres to the project's coding standards and passes all tests.