Skip to main content

Differentiable models of enzyme-catalysed reaction networks

Project description

Enzax

Tests Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. Supported Python versions: 3.12 and newer Documentation Status

Enzax is a library of automatically differentiable equations and solvers for modelling networks of enzyme-catalysed reactions, written in JAX.

Enzax provides straightforward, fast and interoperable access to the gradients of realistic metabolic network models, allowing you to incorporate these models in your MCMC and machine learning algorithms when you want to, for example, predict the effect of down-regulating an enzyme on the yield of a fermentation experiment.

Installation

pip install enzax

Usage

Find a kinetic model's steady state

from enzax.examples import methionine
from enzax.steady_state import get_kinetic_model_steady_state
from jax import numpy as jnp

guess = jnp.full((5,) 0.01)

steady_state = get_kinetic_model_steady_state(methionine.model, guess)

Find a steady state's Jacobian with respect to all parameters

import jax
from enzax.examples import methionine
from enzax.steady_state import get_kinetic_model_steady_state
from jax import numpy as jnp
from jaxtyping import PyTree

guess = jnp.full((5,) 0.01)
model = methionine.model

def get_steady_state_from_params(parameters: PyTree):
    """Get the steady state with a one-argument non-pure function."""
    _model = RateEquationModel(parameters, model.structure)
    return get_kinetic_model_steady_state(_model, guess)

jacobian = jax.jacrev(get_steady_state_from_params)(model.parameters)

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

enzax-0.2.0.tar.gz (51.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

enzax-0.2.0-py3-none-any.whl (21.3 kB view details)

Uploaded Python 3

File details

Details for the file enzax-0.2.0.tar.gz.

File metadata

  • Download URL: enzax-0.2.0.tar.gz
  • Upload date:
  • Size: 51.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for enzax-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5a17ac456bec2f4d7caf9842a48822452a0658596dba4ba18c2dec1c941f916c
MD5 2e5a67a36235329b3f1da7b74aad7f08
BLAKE2b-256 1b5fecdb7999a62eb5bf9c37df0e8d9f8f0238cead2175ff29ae690e434f38a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for enzax-0.2.0.tar.gz:

Publisher: release.yml on dtu-qmcm/enzax

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file enzax-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: enzax-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 21.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for enzax-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 68221b3ee06b1f1a2c6593a53815583fe3f2fa89d23780731495a91e3ac23839
MD5 111175b1768c225de990ddc280d59e28
BLAKE2b-256 7697adca83f693d9ae278211d0c03582c5efd9f9b80aa6eae72304870f6983db

See more details on using hashes here.

Provenance

The following attestation bundles were made for enzax-0.2.0-py3-none-any.whl:

Publisher: release.yml on dtu-qmcm/enzax

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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