Skip to main content

A package for the modeling and simulation of reaction-diffusion systems.

Project description

Introduction

Strengths is a modeling and simulation tool for reaction diffusion systems, interfaced as a Python package. It stands for “Simulation and modeling Tool for Reaction diffusion Networks in Graphs and Tridimensional Heterogenous Systems”. The design of reaction-diffusion systems is facilitated by the use of dictionary as a way to define most of the key objects.

Installing and using Strengths

For Strengths to work properly, a few dependencies have to be installed first:

  • NumPy, which is required for most of the features:

pip install numpy
  • Matplotlib (optional), which is required only for the plot feature (strengths.plot)

pip install numpy

The package can then be installed from the Python Package Index, with

pip install strengths

Alternatively, you can build Strengths from source. More details on how to do so are given in the documentation, in the “Building Strengths from source” section.

Once it is successfully installed, you should be able to import it in Python. Below is a short example, featuring the simulation of the trajectory for a simple reaction system:

# importing strengths

import strengths as strn
import strengths.plot as strnplt

# defining a reaction system:
# this one have two species, A
# and B. One can be converted to the other,
# through the reversible reaction A <=> B.

system = strn.rdsystem_from_dict({
    "network" : {
        "species" : [
            {"label" : "A", "density" : 150},
            {"label" : "B", "density" : 50}
            ],
        "reactions" : [
            {"eq" : "A -> B", "k+" : 0.01, "k-" : 0.012}
            ]
        }
    })

# running a simulation
trajectory = strn.simulate(system, t_sample=list(range(500)))

# plotting the trajectories of A and B
strnplt.plot_trajectory(trajectory, ["A", "B"])

More examples, using more advanced features - especially diffusion -, are available in the documentation, in the “Using Strengths” section.

Documentation

Detailed information on the package and how to use it are given in the documentation. Especially, to get started with the package, you may look at the “Using Strengths” section, which presents the key functionalities through examples. For detailed and more exhaustive information on the accessible interface, please refer to the “API Reference” section, where all relevant functions, classes, methods and attributes are covered in detail.

Source code and contribution

Strengths has a repository hosted on GitHub.

If you wish to contribute to the package, whether by giving your feedback, reporting bugs or errors, improving the documentation or writing code, please refer to the project’s community and contribution guidelines.

Testing

Running run_all_tests.py in the tests directory will execute at once all unit tests for the package.

Licence

Strengths’s source code and documentation are licensed under the terms of the MIT Licence. You’ll find the licence text in your strengths installation root file, or in the root file of the project’s GitHub repository.

Authors

  • Thibault Fillion

  • Francesco Piazza

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

strengths-0.0.13.tar.gz (71.6 kB view hashes)

Uploaded Source

Built Distributions

strengths-0.0.13-pp310-pypy310_pp73-win_amd64.whl (110.1 kB view hashes)

Uploaded PyPy Windows x86-64

strengths-0.0.13-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (111.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

strengths-0.0.13-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (113.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

strengths-0.0.13-pp310-pypy310_pp73-macosx_11_0_arm64.whl (108.3 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

strengths-0.0.13-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (113.1 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

strengths-0.0.13-pp39-pypy39_pp73-win_amd64.whl (110.1 kB view hashes)

Uploaded PyPy Windows x86-64

strengths-0.0.13-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (111.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

strengths-0.0.13-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (113.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

strengths-0.0.13-pp39-pypy39_pp73-macosx_11_0_arm64.whl (108.3 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

strengths-0.0.13-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (113.1 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

strengths-0.0.13-pp38-pypy38_pp73-win_amd64.whl (110.1 kB view hashes)

Uploaded PyPy Windows x86-64

strengths-0.0.13-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (111.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

strengths-0.0.13-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (113.2 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

strengths-0.0.13-pp38-pypy38_pp73-macosx_11_0_arm64.whl (108.3 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

strengths-0.0.13-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (113.1 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

strengths-0.0.13-pp37-pypy37_pp73-win_amd64.whl (110.1 kB view hashes)

Uploaded PyPy Windows x86-64

strengths-0.0.13-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (112.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

strengths-0.0.13-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (113.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686

strengths-0.0.13-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (113.1 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

strengths-0.0.13-cp312-cp312-win_amd64.whl (110.1 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

strengths-0.0.13-cp312-cp312-win32.whl (104.4 kB view hashes)

Uploaded CPython 3.12 Windows x86

strengths-0.0.13-cp312-cp312-musllinux_1_1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

strengths-0.0.13-cp312-cp312-musllinux_1_1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

strengths-0.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (496.9 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

strengths-0.0.13-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (491.5 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686

strengths-0.0.13-cp312-cp312-macosx_11_0_arm64.whl (112.4 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

strengths-0.0.13-cp312-cp312-macosx_10_9_x86_64.whl (119.2 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

strengths-0.0.13-cp311-cp311-win_amd64.whl (110.1 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

strengths-0.0.13-cp311-cp311-win32.whl (104.4 kB view hashes)

Uploaded CPython 3.11 Windows x86

strengths-0.0.13-cp311-cp311-musllinux_1_1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

strengths-0.0.13-cp311-cp311-musllinux_1_1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

strengths-0.0.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (496.9 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

strengths-0.0.13-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (491.3 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

strengths-0.0.13-cp311-cp311-macosx_11_0_arm64.whl (112.4 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

strengths-0.0.13-cp311-cp311-macosx_10_9_x86_64.whl (119.2 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

strengths-0.0.13-cp310-cp310-win_amd64.whl (110.1 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

strengths-0.0.13-cp310-cp310-win32.whl (104.4 kB view hashes)

Uploaded CPython 3.10 Windows x86

strengths-0.0.13-cp310-cp310-musllinux_1_1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

strengths-0.0.13-cp310-cp310-musllinux_1_1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

strengths-0.0.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (496.8 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

strengths-0.0.13-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (491.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

strengths-0.0.13-cp310-cp310-macosx_11_0_arm64.whl (112.4 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

strengths-0.0.13-cp310-cp310-macosx_10_9_x86_64.whl (119.2 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

strengths-0.0.13-cp39-cp39-win_amd64.whl (110.1 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

strengths-0.0.13-cp39-cp39-win32.whl (104.4 kB view hashes)

Uploaded CPython 3.9 Windows x86

strengths-0.0.13-cp39-cp39-musllinux_1_1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

strengths-0.0.13-cp39-cp39-musllinux_1_1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

strengths-0.0.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (496.6 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

strengths-0.0.13-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (491.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

strengths-0.0.13-cp39-cp39-macosx_11_0_arm64.whl (112.4 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

strengths-0.0.13-cp39-cp39-macosx_10_9_x86_64.whl (119.2 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

strengths-0.0.13-cp38-cp38-win_amd64.whl (110.1 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

strengths-0.0.13-cp38-cp38-win32.whl (104.4 kB view hashes)

Uploaded CPython 3.8 Windows x86

strengths-0.0.13-cp38-cp38-musllinux_1_1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

strengths-0.0.13-cp38-cp38-musllinux_1_1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

strengths-0.0.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (496.6 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

strengths-0.0.13-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (491.2 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

strengths-0.0.13-cp38-cp38-macosx_11_0_arm64.whl (112.4 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

strengths-0.0.13-cp38-cp38-macosx_10_9_x86_64.whl (119.2 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

strengths-0.0.13-cp37-cp37m-win_amd64.whl (110.1 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

strengths-0.0.13-cp37-cp37m-win32.whl (104.4 kB view hashes)

Uploaded CPython 3.7m Windows x86

strengths-0.0.13-cp37-cp37m-musllinux_1_1_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

strengths-0.0.13-cp37-cp37m-musllinux_1_1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

strengths-0.0.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (496.6 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

strengths-0.0.13-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (491.1 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

strengths-0.0.13-cp37-cp37m-macosx_10_9_x86_64.whl (119.2 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

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