From 7e3e45eaa4ef345ed71f7a8d9f2982e643feec9c Mon Sep 17 00:00:00 2001 From: Samuel Pastva Date: Thu, 3 Oct 2024 16:53:27 +0200 Subject: [PATCH] Update readme --- README.md | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 1eecb6a..7b9d4bf 100644 --- a/README.md +++ b/README.md @@ -5,23 +5,24 @@ [![GitHub issues](https://img.shields.io/github/issues/jcrozum/biobalm?style=flat-square)](https://github.com/jcrozum/biobalm/issues) [![License](https://img.shields.io/pypi/l/biobalm?style=flat-square)](https://github.com/jcrozum/biobalm/blob/main/LICENSE) -# Boolean Attractor Landscape Mapper (biobalm) +# Boolean Attractor Landscape Mapper (`biobalm`) -biobalm is a Python library for exploring the attractor landscape of large-scale Boolean networks with hundreds or thousands of variables. It combines symbolic (BDD) and automated (ASP) reasoning to efficiently construct a *succession diagram* of a Boolean network: an inclusion-based acyclic graph of the network's trap spaces. biobalm can then use this succession diagram to accelerate attractor search and infer control strategies for target trap spaces. +`biobalm` is a Python library for exploring the attractor landscape of large-scale Boolean networks with hundreds or thousands of variables. It combines symbolic (BDD) and automated (ASP) reasoning to efficiently construct a *succession diagram* of a Boolean network: an inclusion-based acyclic graph of the network's trap spaces. biobalm can then use this succession diagram to accelerate attractor search and infer control strategies for target trap spaces. + + > `biobalm` is accompanied by an analysis artefact that benchmarks it against `pystablemotifs`, `mts-nfvs` and `aeon.py`. The artefact also compares the succession diagrams generated by published biological Boolean networks to random network ensembles and finds significant differences in structure. The artefact is available at [Zenodo](https://doi.org/10.5281/zenodo.13854760) and [Github](https://github.com/jcrozum/balm-analysis). ### Installation -biobalm is on PyPI: **TODO: PyPI release coming soon. Use git method (below).** +`biobalm` is on PyPI: ``` pip install biobalm ``` -The base installation allows you to generate succession diagrams and control strategies, plus some easier-to-find attractors. However, to enable the full attractor detection functionality, you need to also install `pint` and `mole`: +The base installation should enable all core functionalities (generate succession diagrams and control strategies, find attractor seeds states and attractor sets). Optionally, you can also use `pint` during attractor identification as a static analysis step: - Native binaries of `pint` can be obtained [here](https://loicpauleve.name/pint/doc/#Binaries). - - Download `mole` [here](http://www.lsv.fr/~schwoon/tools/mole/), compile it (simply run `make`), and make sure the result is in your `$PATH`. - + You can also install the latest version of biobalm directly from github: ``` @@ -30,11 +31,23 @@ pip install git+https://github.com/jcrozum/biobalm.git@main ### Referencing biobalm -**TODO: A publication describing biobalm in detail will be available soon. Until then, please link this github repository instead.** +`biobalm` is on [bioRxiv](https://www.biorxiv.org/content/10.1101/2024.09.30.615897v1): -### Using biobalm +``` +@article {biobalm, + author = {Trinh, Van-Giang and Park, Kyu Hyong and Pastva, Samuel and Rozum, Jordan C}, + title = {Mapping the attractor landscape of Boolean networks}, + elocation-id = {2024.09.30.615897}, + year = {2024}, + doi = {10.1101/2024.09.30.615897}, + publisher = {Cold Spring Harbor Laboratory}, + URL = {https://www.biorxiv.org/content/early/2024/10/02/2024.09.30.615897}, + eprint = {https://www.biorxiv.org/content/early/2024/10/02/2024.09.30.615897.full.pdf}, + journal = {bioRxiv} +} +``` -To learn more about how biobalm functions, you can explore the example notebooks listed below. Alternatively, biobalm's API documentation is also available [online](https://jcrozum.github.io/biobalm/). +### Using biobalm -**TODO: Usage examples coming soon.** +To learn more about how biobalm functions, API documentation is available [online](https://jcrozum.github.io/biobalm/). You can also explore the analysis artefact mentioned above for more in-depth examples of biobalm usage.