https://github.com/brsynth/pinn

https://github.com/brsynth/pinn

Science Score: 23.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
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: brsynth
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 10.4 MB
Statistics
  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License

README.md

PINN

This is an example of using a physics-informed neural network in the context of cell modeling. The code is adapted from the tutorial of the code join to the article : Data-Driven Approach for Predicting Spread of Infectious Diseases Through DINNs: Disease Informed Neural Networks

Here the code associated.

Here we use a physics-informed neural network to predict parameters of a cell ODE model. The code have been generalized and made modular to be able to work on any number of differential equation and parameters. A first example in the file pinn_toy.ipynb find parameters of a minimalist physiological model. The differential equations use in the toy file were proposed by Ihab Boulas. For a complete introduction of this model see the file Equation_latex.ipynb.

Getting started

conda env create -n <local-env-name> --file environment.yml

Used with other ODE model

The main class of this project is Pinn. It needs several thing to make it work : * A system of differential equation with unknown parameters. * Data supposed to follows differential equations. * A range for every parameter. * A list of true parameters to compute the score.

The purpose of this class is to be trained on the data to get an estimation of parameters, in the given ranges. The system of differential equation is given to the model through a dictionary of function which encode the partial derivation to compute residual loss. In the case of the toy example pinn_toy.ipynb, this dictionary is in the file deriv_equations.py. In the toy example, the data are generated via ODE solver odeint of Scipy library, equations are also in the file deriv_equations.py. The list of true parameters is optional and only used to get a score on parameters fitting one simulated situations more to evaluate the model.

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
  • Member event: 1
  • Create event: 1
Last Year
  • Member event: 1
  • Create event: 1

Dependencies

environment.yml conda
  • _libgcc_mutex 0.1
  • _openmp_mutex 4.5
  • alsa-lib 1.2.10
  • asttokens 2.4.1
  • attr 2.5.1
  • blas 1.0
  • bottleneck 1.4.0
  • brotli 1.1.0
  • brotli-bin 1.1.0
  • bzip2 1.0.8
  • ca-certificates 2024.7.4
  • cairo 1.18.0
  • certifi 2024.7.4
  • colorama 0.4.6
  • comm 0.2.1
  • contourpy 1.2.0
  • cycler 0.12.1
  • dbus 1.13.6
  • debugpy 1.8.1
  • decorator 5.1.1
  • exceptiongroup 1.2.0
  • executing 2.0.1
  • expat 2.5.0
  • filelock 3.13.1
  • font-ttf-dejavu-sans-mono 2.37
  • font-ttf-inconsolata 3.000
  • font-ttf-source-code-pro 2.038
  • font-ttf-ubuntu 0.83
  • fontconfig 2.14.2
  • fonts-conda-ecosystem 1
  • fonts-conda-forge 1
  • fonttools 4.49.0
  • freetype 2.12.1
  • gettext 0.21.1
  • glib 2.78.4
  • glib-tools 2.78.4
  • graphite2 1.3.13
  • gst-plugins-base 1.22.9
  • gstreamer 1.22.9
  • harfbuzz 8.3.0
  • icu 73.2
  • importlib-metadata 7.0.1
  • importlib_metadata 7.0.1
  • intel-openmp 2023.1.0
  • ipykernel 6.29.2
  • ipython 8.21.0
  • jedi 0.19.1
  • jinja2 3.1.3
  • joblib 1.3.2
  • jupyter_client 8.6.0
  • jupyter_core 5.7.1
  • keyutils 1.6.1
  • kiwisolver 1.4.5
  • krb5 1.21.2
  • lame 3.100
  • lcms2 2.16
  • ld_impl_linux-64 2.40
  • lerc 4.0.0
  • libblas 3.9.0
  • libbrotlicommon 1.1.0
  • libbrotlidec 1.1.0
  • libbrotlienc 1.1.0
  • libcap 2.69
  • libcblas 3.9.0
  • libclang 15.0.7
  • libclang13 15.0.7
  • libcups 2.3.3
  • libdeflate 1.19
  • libedit 3.1.20191231
  • libevent 2.1.12
  • libexpat 2.5.0
  • libffi 3.4.2
  • libflac 1.4.3
  • libgcc-ng 13.2.0
  • libgcrypt 1.10.3
  • libgfortran-ng 13.2.0
  • libgfortran5 13.2.0
  • libglib 2.78.4
  • libgomp 13.2.0
  • libgpg-error 1.47
  • libhwloc 2.9.3
  • libiconv 1.17
  • libjpeg-turbo 3.0.0
  • liblapack 3.9.0
  • libllvm15 15.0.7
  • libnsl 2.0.1
  • libogg 1.3.4
  • libopenblas 0.3.26
  • libopus 1.3.1
  • libpng 1.6.42
  • libpq 16.2
  • libsndfile 1.2.2
  • libsodium 1.0.18
  • libsqlite 3.45.1
  • libstdcxx-ng 13.2.0
  • libsystemd0 255
  • libtiff 4.6.0
  • libuuid 2.38.1
  • libvorbis 1.3.7
  • libwebp-base 1.3.2
  • libxcb 1.15
  • libxcrypt 4.4.36
  • libxkbcommon 1.6.0
  • libxml2 2.12.5
  • libzlib 1.2.13
  • llvm-openmp 8.0.1
  • lz4-c 1.9.4
  • markupsafe 2.1.5
  • matplotlib 3.8.3
  • matplotlib-base 3.8.3
  • matplotlib-inline 0.1.6
  • mkl 2023.1.0
  • mkl-service 2.4.0
  • mpg123 1.32.4
  • mpmath 1.3.0
  • munkres 1.1.4
  • mysql-common 8.0.33
  • mysql-libs 8.0.33
  • ncurses 6.4
  • nest-asyncio 1.6.0
  • networkx 3.2.1
  • nspr 4.35
  • nss 3.98
  • numexpr 2.8.7
  • numpy 1.26.4
  • openjpeg 2.5.0
  • openssl 3.3.1
  • packaging 23.2
  • pandas 2.2.2
  • parso 0.8.3
  • pcre2 10.42
  • pexpect 4.9.0
  • pickleshare 0.7.5
  • pillow 10.2.0
  • pip 24.0
  • pixman 0.43.2
  • platformdirs 4.2.0
  • ply 3.11
  • prompt-toolkit 3.0.42
  • psutil 5.9.8
  • pthread-stubs 0.4
  • ptyprocess 0.7.0
  • pulseaudio-client 16.1
  • pure_eval 0.2.2
  • pygments 2.17.2
  • pyparsing 3.1.1
  • pyqt 5.15.9
  • pyqt5-sip 12.12.2
  • python 3.12.2
  • python-dateutil 2.8.2
  • python-tzdata 2024.1
  • python_abi 3.12
  • pytorch 2.2.0
  • pytorch-mutex 1.0
  • pytz 2024.1
  • pyyaml 6.0.1
  • pyzmq 25.1.2
  • qt-main 5.15.8
  • readline 8.2
  • scikit-learn 1.3.0
  • scipy 1.12.0
  • setuptools 69.1.0
  • sip 6.7.12
  • six 1.16.0
  • stack_data 0.6.2
  • sympy 1.12
  • tbb 2021.11.0
  • threadpoolctl 3.3.0
  • tk 8.6.13
  • toml 0.10.2
  • tomli 2.0.1
  • tornado 6.3.3
  • tqdm 4.66.5
  • traitlets 5.14.1
  • typing_extensions 4.9.0
  • tzdata 2024a
  • wcwidth 0.2.13
  • wheel 0.42.0
  • xcb-util 0.4.0
  • xcb-util-image 0.4.0
  • xcb-util-keysyms 0.4.0
  • xcb-util-renderutil 0.3.9
  • xcb-util-wm 0.4.1
  • xkeyboard-config 2.41
  • xorg-kbproto 1.0.7
  • xorg-libice 1.1.1
  • xorg-libsm 1.2.4
  • xorg-libx11 1.8.7
  • xorg-libxau 1.0.11
  • xorg-libxdmcp 1.1.3
  • xorg-libxext 1.3.4
  • xorg-libxrender 0.9.11
  • xorg-renderproto 0.11.1
  • xorg-xextproto 7.3.0
  • xorg-xf86vidmodeproto 2.3.1
  • xorg-xproto 7.0.31
  • xz 5.2.6
  • yaml 0.2.5
  • zeromq 4.3.5
  • zipp 3.17.0
  • zlib 1.2.13
  • zstd 1.5.5