|
1 | 1 | # poli 🧪: a library of discrete objective functions
|
2 | 2 |
|
3 |
| -This page contains documentation on how to use `poli`, a library of discrete objective functions in biology, cheminformatics, and more. This page also presents `poli-baselines`, a collection of optimizers of these discrete black box functions. |
| 3 | +[](https://github.com/MachineLearningLifeScience/poli/actions/workflows/python-tox-testing-including-conda.yml) [](https://github.com/MachineLearningLifeScience/poli-baselines/actions/workflows/python-tox-testing.yml) |
4 | 4 |
|
5 |
| -A core feature of `poli` is isolating calls to complicated objective functions which might, for example, depend on simulators, binaries, and highly specific package requirements. |
6 |
| -Our promise is: if you can run your objective function reliably in a `conda` environment, then you can register it and call it from other projects and environments without having to worry about re-installing all the dependencies. |
| 5 | +[poli](https://github.com/MachineLearningLifeScience/poli) is a library of discrete objective functions for benchmarking optimization algorithms. Examples include: |
| 6 | +- 🔬 **stability** of mutations from a wildtype protein (using [foldx](https://foldxsuite.crg.eu/) or [rasp](https://github.com/KULL-Centre/_2022_ML-ddG-Blaabjerg)). |
| 7 | +- 🧪 **docking scores** of ligands to proteins (using [dockstring](https://github.com/dockstring/dockstring), [pyscreener](https://github.com/coleygroup/pyscreener) and [pytdc](https://tdcommons.ai/functions/oracles/)). |
| 8 | +- 💊 **druglikeness** or **synthetic acccesibility** of small molecules (using [rdkit](https://github.com/rdkit/rdkit) and [pytdc](https://tdcommons.ai/functions/oracles/)). |
| 9 | + |
| 10 | +Some of `poli`'s features: |
| 11 | +- 🔲 **isolation** of black box function calls inside conda environments. Don't worry about clashes w. black box requirements, poli will create the relevant conda environments for you. |
| 12 | +- 🗒️ **logging** logic at the black box `__call__` level using observers. |
| 13 | +- A numpy interface. Inputs are `np.array`s of strings, outputs are `np.array`s of floats. |
| 14 | +- `SMILES` and `SELFIES` support for small molecule manipulation. |
| 15 | + |
| 16 | +This documentation also discusses [`poli-baselines`](https://github.com/MachineLearningLifeScience/poli-baselines), a collection of optimizers of these discrete black box functions which is currently in alpha stage. |
7 | 17 |
|
8 | 18 | ## Getting started
|
9 | 19 |
|
|
0 commit comments