Skip to main content

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

Metadata

Release files for autodiscjax 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for autodiscjax 0.4.1
File Size Uploaded Provenance
autodiscjax-0.4.1.tar.gz 28.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for autodiscjax 0.4.1
File Interpreter ABI Platform
autodiscjax-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 56.7 kB

Release files / autodiscjax-0.4.1.tar.gz

Download URL autodiscjax-0.4.1.tar.gz
Size 28.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ccfefe533f4d43388e4c331288045836b0a27fc4c1275e2e056d3332f82544bb
BLAKE2b-256 checksum
How to use checksums
e6309b8457fa41e6041b7a803714abd423b912e430ead235603d59e5f52a234d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release files / autodiscjax-0.4.1-py3-none-any.whl

Download URL autodiscjax-0.4.1-py3-none-any.whl
Size 28.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
397d98a0bbe0804bdb507d16f4ee2206cafc22ca410c1230ee73b86b2f7436e5
BLAKE2b-256 checksum
How to use checksums
3406bbd9152628b736e47bead0fbec9629b61e530222eeceee17935884aedc92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Security for autodiscjax 0.4.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page