python library built on top of jax to facilitate automated exploration and simulation of computational models of biological processes
Project description
AutoDiscJax
Autodiscjax is a python library built on top of jax and equinox to facilitate automated exploration and simulation of computational models of biological processes (such as gene, proteins or metabolites networks). It provides several already-implemented modules and pipelines to organize experimentation on these biological network pathways using curiosity-driven learning and exploration algorithms.
Installation
pip install autodiscjax
Why use AutoDiscJax?
AutoDiscJax follows two main design principles:
- Everything is a module, where a module is simply a parametrized function that takes inputs and returns outputs (and log_data). All autodiscjax modules
adx.Module
are implemented as equinox moduleseqx.Module
, which essentially allows to represent the function as a callable PyTree (and hence to be compatible with jax transformations) while keeping an intuitive API for model building (python class with a _call_ method). The only add-on with respect to equinox is that when instantiating aadx.Module
, the user must specify the module's outputs PyTree structure, shape and dtype. - An experiment pipeline defines (i) how modules interact sequentially and exchange information, and (ii) what information should be collected and saved in the experiment history.
AutoDiscJax provides a handful of already-implement modules and pipelines to
- Simulate biological networks while intervening on them according to our needs
- Automatically organize experimentation in those systems, by implementing a variety of exploration approaches such as random, optimization-driven and curiosity-driven search
- Analyze the discoveries of the exploration method, for instance by testing their robustness to various perturbations
Finally, AutoDiscJax takes advantage of JAX mains features (just-in-time compilation, automatic vectorization and automatic differentation) which are especially advantageous for parallel experimentation and computational speedups, as well as gradient-based optimization.
License
The project is licensed under the MIT license.
Acknowledgements
AutoDiscJax is inspired by:
- the auto_disc library purpose and structure (by the FLOWERS team)
- the equinox library module definition (by Patrick Kidger)
See Also
Library to: sbmltoodejax
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file autodiscjax-0.4.tar.gz
.
File metadata
- Download URL: autodiscjax-0.4.tar.gz
- Upload date:
- Size: 28.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 091683e69b563122881d79de444bd26fe91779d8416e3c6da70c32360c8dcd92 |
|
MD5 | 210c1a16e0fcf8e68c07768b3b4ef1f6 |
|
BLAKE2b-256 | c497cff2bded1d99d43de4256dac23c549bee79ef5b56ac60a256d3f8dc7e5bd |
File details
Details for the file autodiscjax-0.4-py3-none-any.whl
.
File metadata
- Download URL: autodiscjax-0.4-py3-none-any.whl
- Upload date:
- Size: 28.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e8ea13ddaed408ce41aa22070cddb952af1f62d8853a10323ca256668aa9e77 |
|
MD5 | 606eb8bda953883938e50ebac7685a67 |
|
BLAKE2b-256 | 0432f5276128c07a16d2428b4a7b6c142302ad0667597893f75d7da1ea2dad00 |