Package: de-sim
DE-Sim: a Python-based object-oriented discrete-event simulator for modeling complex systemsDE-Simis an open-source, Python-based object-oriented discrete-event
simulation (DES) tool that makes it easy to use large, heterogeneous
datasets and high-level data science tools such asNumPy,Scipy,pandas, andSQLAlchemyto build and simulate
complex computational models. Similar toSimula,DE-Simmodels are implemented
by defining logical process objects which read the values of a set of
variables and schedule events to modify their values at discrete
instants in time.To help users build and simulate complex, data-driven models,DE-Simprovides the following features:High-level, object-oriented modeling:DE-Simmakes it easy for
users to use object-oriented Python programming to build models. This
makes it easy to use large, heterogeneous datasets and high-level
data science packages such as NumPy, pandas, SciPy, and SQLAlchemy to
build complex models.Stop conditions:DE-Sim makes it easy to terminate simulations
when specific criteria are reached. Researchers can specify stop
conditions as functions that return true when a simulation should
conclude.Results checkpointing:DE-Sim makes it easy to record the results
of simulations by using a configurable checkpointing module.Reproducible simulations:To help researchers debug simulations,
repeated executions of the same simulation with the same
configuration and same random number generator seed produce the same
results.Space-time visualizations:DE-Sim generates space-time
visualizations of simulation trajectories. These diagrams can help
researchers understand and debug simulations.Projects that useDE-SimDE-Simhas been used to developWC-Sim, a multi-algorithmic
simulator forwhole-cell models.ExamplesMinimal simulation: a
minimal example of a simulationRandom walk: a random
one-dimensional walk which increments or decrements a variable with
equal probability at each eventParallel hold (PHOLD): model developed
by Richard Fujimoto for benchmarking parallel DES simulatorsEpidemic:
an SIR model of an epidemic of an infectious diseaseTutorialPlease seesandbox.karrlab.orgfor
interactive tutorials on creating and executing models withDE-Sim.Template for models and simulations`de_sim/examples/minimal_simulation.py<de_sim/examples/minimal_simulation.py>`__
contains a template for implementing and simulating a model withDE-Sim.InstallationInstall dependenciesPython >= 3.7pip >= 19Install this package using one of these methodsInstall the latest release from PyPIpip install de_simInstall a Docker image with the latest release from DockerHubdocker pull karrlab/de_simInstall the latest version from GitHubpip installgit+https://github.com/KarrLab/de_sim.git#egg=de_simAPI documentationPlease see theAPI
documentation.PerformancePlease see the*DE-Sim* articlefor
information about the performance ofDE-Sim.Strengths and weaknesses compared to other DES toolsPlease see the*DE-Sim* articlefor a
comparison ofDE-Simwith other DES tools.LicenseThe package is released under theMIT license.CitingDE-SimPlease use the following reference to citeDE-Sim:Arthur P. Goldberg & Jonathan Karr. (2020).DE-Sim: an object-oriented,
discrete-event simulation tool for data-intensive modeling of complex
systems in Python. Journal of Open Source Software, 5(55),
2685.Contributing toDE-SimWe enthusiastically welcome contributions toDE-Sim! Please see theguide to contributingand thedeveloper’s code of
conduct.Development teamThis package was developed by theKarr Labat the Icahn School of Medicine at Mount Sinai in New York, USA by the
following individuals:Arthur
GoldbergJonathan KarrAcknowledgementsThis work was supported by National Science Foundation award 1649014,
National Institutes of Health award R35GM119771, and the Icahn Institute
for Data Science and Genomic Technology.Questions and commentsPlease submit questions and issues toGitHubor contact theKarr Lab.