Skip to main content

simple rule-based stochastic simulation

Project description

# stocal

A python framework for regular and rule-based stochastic simulations.


## What is Stocal?

Stocal is a framework for stochastic simulation of continuous
time Markov processes (also known as [Gillespie simulations](https://en.wikipedia.org/wiki/Gillespie_algorithm)).

Features of stocal:
* support for reactions of any order
* support for unique and periodic (deterministic) events
* support for time-dependent reaction rates
* support for rules that generate novel reactions on the fly
* support for complex chemical states

Stocal works with python version 2.7 as well as version 3.5.


### Basic Usage

Running a simple stochastic simulation is straight forward:
```python
import stocal

# Define a stochastic process
process = stocal.Process([
stocal.MassAction({'A': 2}, {'A2': 1}, 1.0),
stocal.MassAction({'A2': 1}, {'A': 2}, 10.0),
stocal.Event({}, {'A': 100}, 0.0, frequency=10.0),
])

# Sample a stochastic trajectory of the process
initial_state = {}
trajectory = process.sample(initial_state, tmax=100) :
for dt, transitions in trajectory:
print trajectory.time, trajectory.state['A2']
```


### API / Tutorial

A tutorial on how to use stocal can be found [here](https://github.com/harfel/stocal/wiki).
Various usage examples are provided in stocal/examples.
The package API is thoroughly documented and can be accessed through
pydoc. The behavior of stocal is specified via tests. The test suite
can be run with `python setup.py test`.


### Installation

The latest stable release of stocal is available from the python package index:
```shell
pip install stocal
```
The development version can be obtained from github using the following commands:
```shell
git clone https://github.com/harfel/stocal.git
cd stocal
git checkout develop
sudo python setup.py install
```


## Issue Reporting and Contributing

Please post any issues that might occur with stocal on the
<a href="https://github.com/harfel/stocal/issues">github issue
tracker</a>.
If you are interested in contributing to stocal, pull requests
and any other inquiries will be dealt with as soon as possible.


## License

Stocal is distributed under the MIT Software license.
(c) 2018 Harold Fellermann

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

stocal-1.2.tar.gz (68.8 kB view details)

Uploaded Source

File details

Details for the file stocal-1.2.tar.gz.

File metadata

  • Download URL: stocal-1.2.tar.gz
  • Upload date:
  • Size: 68.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/2.7

File hashes

Hashes for stocal-1.2.tar.gz
Algorithm Hash digest
SHA256 ca0a428e71b827c0636cda497677e54e19ad2bad2e4942f05476d462f137f5a9
MD5 e2cab49804947ba9ab91cc9c25aa45ad
BLAKE2b-256 34f9d7d1ad61fb49cabab1ff717c0f0509d5eb2b9fdbd8a5ebec9255aa2cc885

See more details on using hashes here.

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