Biochemical Engine for Enzymatic kinetic modelS
- Builds biochemical reaction networks (EC-based stoichiometry).
- Pulls reaction templates and stoichiometry from a local database (37K+ reactions).
- Can estimate missing kinetics via CatPred when the database has no match.
- Implements the core–edge iterative enlargement algorithm.
- Exports models to SBML (Level 3).
Prerequisites: Python 3.12+, Conda. For CatPred: git and wget (or curl) on PATH.
-
Clone and enter the repo
-
In your terminal run:
./install.sh
This creates the
bees_envconda env, clones CatPred into the parent of BEES (../CatPred,../catpred_pipeline), downloads and extracts the pretrained data (~1 GB), and writes.env.beesin the BEES root. If the download or extraction fails, the script exits with a clear error. -
Try to run BEES:
conda activate bees_env python BEES.py -i projects/Glycolysis/input.yml
-
Common issue — if the install script reports that it could not find
kcat/andkm/: manually setCATPRED_CHECKPOINT_BASEto the directory that contains those folders (often.../catpred_pipeline/data/pretrained/production). Put it in.env.beesor export it before running; see Manual CatPred setup below.
- Copy and edit an input file:
cp projects/minimal/input.yml my_input.yml— set project name, at least one species and one enzyme (with EC number), environment (temperature, pH), and settings (end_time, time_step). - Run:
python BEES.py --input_file my_input.yml - Output appears in
output/in your project folder:reactions_summary.txt, logs, simulation plots, andmodel.xml.
Example configs in projects/: minimal/, Glycolysis/, fattyAcidSynthesis/, and more. See projects/Project_folder_README.md for descriptions.
After every iterative enlargement run, BEES automatically generates an SBML Level 3 file (model.xml) in the project's output directory ready to run.
Manual CatPred setup (without install.sh): clone CatPred into a sibling of BEES (e.g. CatPred and catpred_pipeline), download the pretrained archive into catpred_pipeline, extract it, then create the catpred conda env. Set CATPRED_DIR to the CatPred clone, CATPRED_CHECKPOINT_BASE to the directory that contains kcat/ and km/ (often .../catpred_pipeline/data/pretrained/production), and CATPRED_CONDA_ENV=catpred. BEES auto-loads .env.bees when present; otherwise export these in your shell before running.
Run tests: pytest tests/ -v (or make test).
See LICENSE.