This project provides an interactive scaling analysis for proteomics database search strategies. It uses marimo to create a notebook-style web app for exploring how hardware performance and search parameters affect estimated runtimes and memory requirements.
- Interactive sliders and input boxes for hardware and search parameters
- Visualizations of asymptotic scaling, memory overhead, and runtime heatmaps
- Figures update automatically as parameters change
- Python 3.12 or newer (see .python-version)
- marimo >= 0.15.5
- matplotlib >= 3.10.6
- numpy >= 2.3.3
Dependencies are listed in pyproject.toml.
-
Clone the repository:
git clone https://github.com/instadeepai/database_search_scaling.git cd database_search_scaling -
Install
uv
Follow the official instructions.
-
Create and activate a Python 3.12 environment:
uv venv --python 3.12 source .venv/bin/activate -
Install dependencies with uv:
uv sync
To launch the interactive notebook, run:
marimo run database_search_scaling.pyThis will start a local web server and open the app in your browser. You can adjust parameters and view updated figures interactively.
database_search_scaling.py: Main marimo app with all interactive cells and visualizations.pyproject.toml: Project metadata and dependencies..python-version: Specifies required Python version.
For more details on marimo, see the marimo documentation.