https://github.com/brsynth/damn

New hybrid machine learning model combining artificial neural network and a dynamic flux balance analysis on a metabolic model to predict bacterial growth curve.

https://github.com/brsynth/damn

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.8%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

New hybrid machine learning model combining artificial neural network and a dynamic flux balance analysis on a metabolic model to predict bacterial growth curve.

Basic Info
  • Host: GitHub
  • Owner: brsynth
  • Language: Python
  • Default Branch: main
  • Size: 500 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 11 months ago · Last pushed 7 months ago
Metadata Files
Readme

README.md

dAMN Hybrid Neural Network for Dynamical FBA

DOI

First usable release of the dAMN software.
This version corresponds to the implementation used to generate results for the associated publication.

Overview

dAMN is a hybrid machine learning model that combines: - A neural network for metabolic flux inference; - A dynamical FBA to simulate metabolite and biomass evolution over time

It is designed to predict time-course biomass growth under various media conditions, integrating stoichiometry and transport constraints from genome-scale metabolic models (GEMs).

Applied on E.coli dataset.


Project Structure

| File/Folder | Description | |---------------------------|----------------------------------------------------------------| | dAMN.ipynb | Notebook to train, test and parametrize the model with a given dataset | | dAMN_train.py | Script to train the model on a given dataset | | dAMN_test.ipynb | Notebook to test and visualize the prediction | | dAMN_parameter_search.py| Script for model parametrization | | utils.py | Core functions for data preprocessing, model training, testing and plotting | | data/ | Input datasets: media, OD, and metabolic model (SBML) | | model/ | Folder where trained models and validation arrays are stored | | figure/ | Plots for training and testing curves |

| environment.yml | conda environment configuration file |

Setup and Environment

This project uses Python 3.8, TensorFlow 2.19.0, and COBRApy.

Create the Conda environment (recommended)

To recreate the required environment from the environment.yml file:

bash conda env create -n dAMN_env -f environment.yml conda activate dAMN_env

Contributors

Pr. Jean-Loup Faulon (jean-loup.faulon@inrae.fr): conceptualization, coding, modeling

Danilo Dursoniah, Postdoc (danilo.dursoniah@inrae.fr): testing, maintenance

Owner

  • Name: BioRetroSynth
  • Login: brsynth
  • Kind: organization

Our group is interested in synthetic biology and systems metabolic engineering in whole-cell and cell-free systems.

GitHub Events

Total
  • Push event: 6
  • Public event: 1
Last Year
  • Push event: 6
  • Public event: 1

Dependencies

environment.yml pypi
  • absl-py ==2.1.0
  • alembic ==1.14.0
  • altair ==5.5.0
  • altair-data-server ==0.4.1
  • altair-saver ==0.5.0
  • altair-viewer ==0.4.0
  • anndata ==0.11.3
  • annotated-types ==0.7.0
  • anyio ==4.8.0
  • appdirs ==1.4.4
  • argon2-cffi ==23.1.0
  • argon2-cffi-bindings ==21.2.0
  • array-api-compat ==1.10.0
  • arrow ==1.3.0
  • arviz ==0.21.0
  • astunparse ==1.6.3
  • async-lru ==2.0.5
  • attrs ==25.1.0
  • autograd ==1.8.0
  • babel ==2.17.0
  • beautifulsoup4 ==4.13.3
  • bleach ==6.2.0
  • certifi ==2025.4.26
  • cffi ==1.17.1
  • charset-normalizer ==3.4.1
  • chex ==0.1.88
  • click ==8.2.1
  • cloudpickle ==3.1.1
  • cobra ==0.29.1
  • colorlog ==6.9.0
  • contourpy ==1.3.1
  • cycler ==0.12.1
  • cython ==3.1.1
  • dask ==2025.5.1
  • defusedxml ==0.7.1
  • deneb ==1.0.1
  • depinfo ==2.2.0
  • diffeqtorch ==1.0.0
  • diffrax ==0.6.2
  • diskcache ==5.6.3
  • distributed ==2025.5.1
  • docrep ==0.3.2
  • elfi ==0.8.7
  • equinox ==0.11.11
  • escher ==1.8.1
  • etils ==1.11.0
  • fastjsonschema ==2.21.1
  • filelock ==3.16.1
  • flatbuffers ==25.2.10
  • flatlatex ==0.15
  • fonttools ==4.55.3
  • formulaic ==1.1.1
  • formulaic-contrasts ==1.0.0
  • fqdn ==1.5.1
  • fsspec ==2024.12.0
  • future ==1.0.0
  • gast ==0.6.0
  • gitdb ==4.0.12
  • gitpython ==3.1.44
  • google-pasta ==0.2.0
  • gpy ==1.13.2
  • greenlet ==3.1.1
  • grpcio ==1.71.0
  • h11 ==0.14.0
  • h5netcdf ==1.6.1
  • h5py ==3.12.1
  • httpcore ==1.0.7
  • httpx ==0.28.1
  • idna ==3.10
  • importlib-resources ==6.5.2
  • inflect ==7.5.0
  • iniconfig ==2.1.0
  • interface-meta ==1.3.0
  • ipyparallel ==9.0.1
  • ipython-genutils ==0.2.0
  • ipywidgets ==7.8.5
  • isoduration ==20.11.0
  • jabbar ==0.0.16
  • jax ==0.5.0
  • jax-cuda12-pjrt ==0.5.0
  • jax-cuda12-plugin ==0.5.0
  • jax-tqdm ==0.3.1
  • jaxlib ==0.5.0
  • jaxopt ==0.8.3
  • jaxtyping ==0.2.36
  • jinja2 ==3.1.5
  • jinns ==1.2.0
  • joblib ==1.4.2
  • json5 ==0.12.0
  • jsonpointer ==3.0.0
  • jsonschema ==4.23.0
  • jsonschema-specifications ==2024.10.1
  • julia ==0.6.2
  • juliacall ==0.9.25
  • juliapkg ==0.1.17
  • jupyter-events ==0.12.0
  • jupyter-lsp ==2.2.5
  • jupyter-server ==2.15.0
  • jupyter-server-terminals ==0.5.3
  • jupyterlab ==4.4.0
  • jupyterlab-pygments ==0.3.0
  • jupyterlab-server ==2.27.3
  • jupyterlab-widgets ==1.1.11
  • keras ==3.9.1
  • kiwisolver ==1.4.8
  • libclang ==18.1.1
  • lineax ==0.0.7
  • locket ==1.0.0
  • mako ==1.3.8
  • markdown ==3.7
  • markdown-it-py ==3.0.0
  • markupsafe ==3.0.2
  • matplotlib ==3.10.0
  • mdurl ==0.1.2
  • mergedeep ==1.3.4
  • mistune ==3.1.3
  • ml-dtypes ==0.5.1
  • more-itertools ==10.6.0
  • mpmath ==1.3.0
  • msgpack ==1.1.0
  • namex ==0.0.8
  • narwhals ==1.41.0
  • natsort ==8.4.0
  • nbclient ==0.10.2
  • nbconvert ==7.16.6
  • nbformat ==5.10.4
  • networkx ==3.4.2
  • nflows ==0.14
  • notebook ==7.4.0
  • notebook-shim ==0.2.4
  • numdifftools ==0.9.41
  • numpy ==1.24.4
  • nvidia-cublas-cu12 ==12.4.5.8
  • nvidia-cuda-cupti-cu12 ==12.4.127
  • nvidia-cuda-nvcc-cu12 ==12.6.85
  • nvidia-cuda-nvrtc-cu12 ==12.4.127
  • nvidia-cuda-runtime-cu12 ==12.4.127
  • nvidia-cudnn-cu12 ==9.1.0.70
  • nvidia-cufft-cu12 ==11.2.1.3
  • nvidia-curand-cu12 ==10.3.5.147
  • nvidia-cusolver-cu12 ==11.6.1.9
  • nvidia-cusparse-cu12 ==12.3.1.170
  • nvidia-nccl-cu12 ==2.21.5
  • nvidia-nvjitlink-cu12 ==12.4.127
  • nvidia-nvtx-cu12 ==12.4.127
  • omnipath ==1.0.8
  • opt-einsum ==3.4.0
  • optax ==0.2.4
  • optimistix ==0.0.10
  • optlang ==1.8.3
  • optree ==0.14.1
  • optuna ==4.1.0
  • outcome ==1.3.0.post0
  • overrides ==7.7.0
  • pandas ==2.2.3
  • pandocfilters ==1.5.1
  • paramz ==0.9.6
  • partd ==1.4.2
  • path ==17.1.0
  • path-py ==12.5.0
  • pillow ==11.1.0
  • pluggy ==1.5.0
  • portpicker ==1.6.0
  • prometheus-client ==0.21.1
  • protobuf ==5.29.4
  • pyabc ==0.12.16
  • pyabcranger ==0.0.72
  • pycall ==2.3.2
  • pycparser ==2.22
  • pydantic ==2.10.6
  • pydantic-core ==2.27.2
  • pydeseq2 ==0.5.0
  • pyknos ==0.16.0
  • pyparsing ==3.2.1
  • pyro-api ==0.1.2
  • pyro-ppl ==1.9.1
  • pysocks ==1.7.1
  • pytest ==8.3.5
  • python-json-logger ==3.3.0
  • python-libsbml ==5.20.4
  • pytz ==2024.2
  • pyyaml ==6.0.2
  • redis ==6.1.0
  • referencing ==0.36.2
  • regex ==2024.11.6
  • requests ==2.32.3
  • rfc3339-validator ==0.1.4
  • rfc3986-validator ==0.1.1
  • rich ==13.9.4
  • rpds-py ==0.24.0
  • ruamel-yaml ==0.18.10
  • ruamel-yaml-clib ==0.2.12
  • sbi ==0.21.0
  • sbibm ==1.1.0
  • scikit-learn ==1.6.1
  • scipy ==1.12.0
  • selenium ==4.33.0
  • semver ==3.0.4
  • send2trash ==1.8.3
  • session-info ==1.0.0
  • smmap ==5.0.2
  • sniffio ==1.3.1
  • sortedcontainers ==2.4.0
  • soupsieve ==2.6
  • sqlalchemy ==2.0.36
  • stdlib-list ==0.11.0
  • swiglpk ==5.0.12
  • sympy ==1.13.1
  • tblib ==3.1.0
  • tensorboard ==2.19.0
  • tensorboard-data-server ==0.7.2
  • tensorflow ==2.19.0
  • tensorflow-io-gcs-filesystem ==0.37.1
  • termcolor ==3.0.0
  • terminado ==0.18.1
  • threadpoolctl ==3.5.0
  • tinycss2 ==1.4.0
  • toolz ==1.0.0
  • torch ==2.5.1
  • tqdm ==4.67.1
  • trio ==0.30.0
  • trio-websocket ==0.12.2
  • triton ==3.1.0
  • typeguard ==4.4.1
  • types-python-dateutil ==2.9.0.20241206
  • typing-extensions ==4.13.2
  • tzdata ==2024.2
  • uri-template ==1.3.0
  • urllib3 ==2.4.0
  • vega-datasets ==0.9.0
  • webcolors ==24.11.1
  • webencodings ==0.5.1
  • websocket-client ==1.8.0
  • werkzeug ==3.1.3
  • widgetsnbextension ==3.6.10
  • wrapt ==1.17.2
  • wsproto ==1.2.0
  • xarray ==2025.4.0
  • xarray-einstats ==0.8.0
  • zict ==3.0.0