A simple library in Python/JAX for testing different learning methods with STL for biomolecular models.
This project uses uv to take care of dependencies and project management.
Please see the uv project for instructions on installation for your platform.
After installing uv, from the repo root:
uv syncRun the current entrypoint:
uv run main.pyAs the library grows, the recommended usage will be via a package entrypoint
under biolearn and example scripts under examples/.
Run scripts as modules from the repo root:
uv run python -m scripts.ss_classificationFor other scripts, replace ss_classification with the module name.
If tests are present, run them from the repo root:
uv run pytestThe code is meant to be modular with the following use cases in mind.
- Testing and implementation different models for biological systems.
- Testing of different loss functions.
- Use with various STL specifications.
- Verification of learned models.
With this in mind, the project should follow a structure similar to the following (suggested; folders can be introduced as needed):
├── biolearn
│ ├── losses
│ ├── models
│ ├── specifications
│ └── utils
├── data
├── scripts
├── pyproject.toml
└── README.md
Notes:
models/holds biomolecular system models and parameterizations.losses/captures loss functions and objective definitions.stl/provides Signal Temporal Logic parsers and evaluators.verification/contains routines to validate learned models against STL specs.examples/andscripts/are for runnable experiments and utilities.
Contributions are welcome.
- Open an issue or discussion before large changes.
- Keep changes scoped and add tests when introducing new behavior.
- Use clear, descriptive docstrings and type hints where helpful.
CC BY 4.0. See LICENSE.