Skip to main content

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:

  1. 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 modules eqx.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 a adx.Module, the user must specify the module's outputs PyTree structure, shape and dtype.
  2. 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

  1. Simulate biological networks while intervening on them according to our needs
  2. Automatically organize experimentation in those systems, by implementing a variety of exploration approaches such as random, optimization-driven and curiosity-driven search
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autodiscjax-0.4.tar.gz (28.4 kB view details)

Uploaded Source

Built Distribution

autodiscjax-0.4-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

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

Hashes for autodiscjax-0.4.tar.gz
Algorithm Hash digest
SHA256 091683e69b563122881d79de444bd26fe91779d8416e3c6da70c32360c8dcd92
MD5 210c1a16e0fcf8e68c07768b3b4ef1f6
BLAKE2b-256 c497cff2bded1d99d43de4256dac23c549bee79ef5b56ac60a256d3f8dc7e5bd

See more details on using hashes here.

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

Hashes for autodiscjax-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3e8ea13ddaed408ce41aa22070cddb952af1f62d8853a10323ca256668aa9e77
MD5 606eb8bda953883938e50ebac7685a67
BLAKE2b-256 0432f5276128c07a16d2428b4a7b6c142302ad0667597893f75d7da1ea2dad00

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page