Skip to content

enricozb/python-crn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This package is no longer actively mantained

Python CRN

A CRN simulator based on David Soloveichik's Mathematica CRN Simulator

Version & Promises

Currently this is in a pre-alpha state, but already has some reasonable features. No guarantees are made for backward-compatibility. That is, some of the API calls might change, some of the reaction literals syntax might change, etc.

Dependencies

The package is written for Python 3.6+ and definitely won't work on an older Python version.

The current list of dependencies are

numpy
scipy
sympy
stochpy

Examples

A simple example of creating a crn, simulating it, and plotting it, is given here. An explanation of this code in detail can be found in crn/examples/basic_example.py.

from crn import *

a, a1, a2, b, c, t, z = species("A A1 A2 B C T Z")

sys = CRN(
    a >> a1 + a2,
    a1 + b >> t,
    c >> z,
    (a2 >> z).k(2.5),
    z + t >> 0)

sys.simulate({a: 2.5, b: 2.0}, t=5).plot("sim.png", title="Example Simulation")

This will output:

Example Simulation Plot

More examples will be added soon in the crn/examples/ folder.

Installation

Install using pip or pip3 depending on your setup.

pip3 install crn

Note: StochPy is not Python 3 ready. So, when crn is imported, it actually runs lib2to3 on the files that need to be modified within StochPy.

About

Chemical Reaction Networks Simulator

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages