SystemsBioinformatics / stochpy

Licence: BSD-3-Clause license
StochPy is a versatile stochastic modeling package which is designed for stochastic simulation of molecular control networks

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to stochpy

pysces
The official PySCeS project source code repository.
Stars: ✭ 25 (-30.56%)
Mutual labels:  console-application, kinetic-modeling
sbml-test-suite
The SBML Test Suite is a conformance testing system. It allows developers and users to test the degree and correctness of the SBML support provided in a software package.
Stars: ✭ 21 (-41.67%)
Mutual labels:  systems-biology
ecell4 base
An integrated software environment for multi-algorithm, multi-timescale, multi-spatial-representation simulation of various cellular phenomena
Stars: ✭ 61 (+69.44%)
Mutual labels:  systems-biology
biojupies
Automated generation of tailored bioinformatics Jupyter Notebooks via a user interface.
Stars: ✭ 96 (+166.67%)
Mutual labels:  systems-biology
newt
A web application to visualize and edit pathway models
Stars: ✭ 46 (+27.78%)
Mutual labels:  systems-biology
shiny-iatlas
An interactive web portal for exploring immuno-oncology data
Stars: ✭ 43 (+19.44%)
Mutual labels:  systems-biology
chise.js
A web application to visualize and edit the pathway models represented by SBGN Process Description Notation
Stars: ✭ 15 (-58.33%)
Mutual labels:  systems-biology
CNApy
An integrated visual environment for metabolic modeling with common methods such as FBA, FVA and Elementary Flux Modes, and advanced features such as thermodynamic methods, extended Minimal Cut Sets, OptKnock, RobustKnock, OptCouple and more!
Stars: ✭ 27 (-25%)
Mutual labels:  systems-biology
pathway-mapper
PathwayMapper: An interactive and collaborative graphical curation tool for cancer pathways
Stars: ✭ 47 (+30.56%)
Mutual labels:  systems-biology
DEcode
A prediction model for differential gene expression (DE) based on genome-wide regulatory interactions
Stars: ✭ 16 (-55.56%)
Mutual labels:  systems-biology
pybel
🌶️ An ecosystem in Python for working with the Biological Expression Language (BEL)
Stars: ✭ 99 (+175%)
Mutual labels:  systems-biology
workshop omics integration
Workshop in omics integration and systems biology
Stars: ✭ 32 (-11.11%)
Mutual labels:  systems-biology
pyPESTO
python Parameter EStimation TOolbox
Stars: ✭ 93 (+158.33%)
Mutual labels:  systems-biology
EscherConverter
A standalone program that reads files created with the graphical network editor Escher and converts them to files in community standard formats.
Stars: ✭ 14 (-61.11%)
Mutual labels:  systems-biology
smfsb
Documentation, models and code relating to the 3rd edition of the textbook Stochastic Modelling for Systems Biology
Stars: ✭ 27 (-25%)
Mutual labels:  systems-biology
cobrame
A COBRApy extension for genome-scale models of metabolism and expression (ME-models)
Stars: ✭ 30 (-16.67%)
Mutual labels:  systems-biology
SBMLToolkit.jl
SBML differential equation and chemical reaction model (Gillespie simulations) for Julia's SciML ModelingToolkit
Stars: ✭ 25 (-30.56%)
Mutual labels:  systems-biology
MomentClosure.jl
Tools to generate and study moment equations for any chemical reaction network using various moment closure approximations
Stars: ✭ 34 (-5.56%)
Mutual labels:  systems-biology
xamarin-forms-gui.cs
Xamarin.Forms gui.cs Backend
Stars: ✭ 74 (+105.56%)
Mutual labels:  console-application
yeast-GEM
The consensus GEM for Saccharomyces cerevisiae
Stars: ✭ 72 (+100%)
Mutual labels:  systems-biology

StochPy Stochastic modeling in Python

StochPy is a versatile stochastic modeling package which is designed for stochastic simulation of molecular control networks

StochPy is open source software distributed under the BSD 3-Clause License, see LICENSE file for more details.

Documentation

Documentation can be found in the user guide (see Documentation directory or in sourceforge)

Installation

The following software is required before installing StochPy (see user guide for more details):

Install StochPy and dependencies with PIP using the following command (in your StochPy Python virtual environment):

pip install scipy matplotlib python-libsbml jedi==0.17.2 ipython stochpy

If you are using Anaconda, create a custom conda environment for StochPy, for example:

conda create -n "stochpy39" -c sbmlteam python=3.9 pip scipy matplotlib sympy ipython

activate your new environment, install StochPy (only required once per environment) and start ipython.

conda activate stochpy39
pip install stochpy
ipython

Linux/MAC OS/Cygwin from source.

In the directory where you downloaded/cloned the StochPy source, for example, the git main branch:

sudo python setup.py install

Windows

Use the available windows installer or use PyPI (described above).

Getting Started

You can run ipython and import stochpy:

import stochpy
smod = stochpy.SSA()

Basic Simulation with the Direct method

smod.DoStochSim(IsTrackPropensities=True)
smod.data_stochsim.simulation_endtime
smod.data_stochsim.simulation_timesteps
smod.GetWaitingtimes()
smod.PrintWaitingtimesMeans()

Do some Plotting

smod.PlotSpeciesTimeSeries()
smod.PlotWaitingtimesDistributions()
smod.PlotPropensitiesTimeSeries()

Write data to a text file

smod.Export2File()
smod.Export2File(analysis='distribution')
smod.Export2File(analysis='distribution',datatype='species')
smod.Export2File(analysis='mean',datatype='species')
smod.Export2File(analysis='std',datatype='species')
smod.Export2File(analysis='autocorrelation',datatype='species')

Show the means from the data of 3-th trajectory

smod.DoStochSim(trajectories=3) # multiple trajectories
smod.data_stochsim.simulation_trajectory
smod.PrintSpeciesMeans()
smod.PrintSpeciesStandardDeviations()

Switch to data from trajectory 1 and show the means of each species

smod.GetTrajectoryData(1)
smod.PrintSpeciesMeans()
smod.PrintSpeciesStandardDeviations()

Do one long simulation

smod.DoStochSim(trajectories=1,end=1000000,mode='steps')
smod.PrintSpeciesMeans()
smod.PrintSpeciesStandardDeviations()

Plot the PDF for different bin sizes

smod.PlotSpeciesDistributions()
smod.PlotSpeciesDistributions(bin_size=5)  # larger bin size
smod.PlotSpeciesDistributions(bin_size=10) # again a larger bin size
smod.Export2File(analysis='distribution',datatype='species')

Usage of the Reload Function: Ksyn = 20, kdeg = 0.2

smod.ChangeParameter('Ksyn',20.0)
smod.ChangeParameter('Kdeg',0.2)
smod.DoStochSim()
smod.PrintSpeciesMeans()   # should be ~Ksyn/Kdeg

Use another model to show the Interpolation features

smod.Model('dsmts-001-01.xml.psc')
smod.DoStochSim(trajectories=1000,end=50,mode='time')
smod.GetRegularGrid(npoints=51)
smod.PlotAverageSpeciesTimeSeries()
smod.PrintAverageSpeciesTimeSeries()
smod.Export2File(datatype='species',analysis='timeseries',IsAverage=True)

Test each method for different models:

smod.Model('Autoreg.psc')
smod.DoStochSim(trajectories=1,end=1000,mode='steps')
smod.Method('NextReactionMethod')
smod.DoStochSim(trajectories=1,end=1000,mode='steps')
smod.data_stochsim.species
smod.PlotWaitingtimesDistributions()
smod.Method('FirstReactionMethod')
smod.DoStochSim(trajectories=1,end=1000,mode='steps')
smod.Method('TauLeaping')
smod.DoStochSim(trajectories=1,end=1000,mode='steps')
smod.Model('DecayingDimerizing.psc')
smod.DoStochSim(method = 'Direct',trajectories=1,end=50,mode='time')
smod.DoStochSim(method = 'NextReactionMethod',trajectories=1,end=50,mode='time')
smod.DoStochSim(method = 'FirstReactionMethod',trajectories=1,end=50,mode='time')
smod.PlotWaitingtimesDistributions()
smod.DoStochSim(method = 'TauLeaping',trajectories=1,end=50,mode='time',epsilon=0.03)  # Should outperform all other implementations
smod.PlotSpeciesTimeSeries()
#smod.PlotWaitingtimesDistributions()   # Should give an error
smod.Model('chain500.psc')
smod.DoStochSim(method = 'Direct',trajectories=1,end=10000,mode='steps')
smod.DoStochSim(method = 'NextReactionMethod',trajectories=1,end=10000,mode='steps') # should outperform the direct method and all other implementations

Use the Next Reaction Method to test a model with a time event

smod.Model('dsmts-003-03.xml.psc')
smod.DoStochSim(method = 'NextReactionMethod')
smod.DoTestsuite()

Use the First Reaction method to test a model with a concentration event

smod.Model('dsmts-003-04.xml.psc')
smod.DoStochSim(method = 'FirstReactionMethod')
smod.DoTestsuite()

Volume Models

smod.Model('dsmts-001-11.xml.psc')
smod.DoStochSim(method = 'Direct',trajectories=1000,end=50,mode ='time')
smod.PrintAverageSpeciesTimeSeries()

Author information

Timo R. Maarleveld, Brett G. Olivier, and Frank J. Bruggeman Centrum Wiskunde en Informatica, Amsterdam, Netherlands VU University, Amsterdam, Netherlands

e-mail: [email protected]

Publication

StochPy: A Comprehensive, User-Friendly Tool for Simulating Stochastic Biological Processes http://dx.doi.org/10.1371/journal.pone.0079345

Licence

Copyright (c) 2011-2021, Timo R. Maarleveld, Brett G. Olivier, and Frank J. Bruggeman Vrije Universiteit Amsterdam. All rights reserved.

StochPy is open source software distributed under the BSD 3-Clause License see LICENSE file for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].