Recent Releases of gillespy2

gillespy2 - v1.8.2

Changes

  • [#938]
    • Added argument to Tau-Hybrid solves that allows the tau step size to be set to a constant value (constanttaustep_size).
    • Optimized Tau-Hybrid solvers to only use ODE integrator when necessary.
  • [#943] Clarified usage of integrator argument in Model.run method.
  • [#944] Updates to CSV.

Bug Fixes

  • [#937, #941] SBML import fixes (python reserved words and dependent parameters).
  • [#942] Fixed time span export when exporting to StochSS Live! model.

Full Changelog: https://github.com/StochSS/GillesPy2/compare/v1.8.1...v1.8.2

- Python
Published by BryanRumsey about 3 years ago

gillespy2 - v1.8.1

Changes

  • [#922] Updated copyright dates.
  • [#929] Removed StochKit solvers

Bug Fixes

  • [#924] Fixed dependency warnings.
  • [#928] Fixed reaction dependency graphs for C++ Solvers.

Full Changelog: https://github.com/StochSS/GillesPy2/compare/v1.8.0...v1.8.1

- Python
Published by BryanRumsey over 3 years ago

gillespy2 - v1.8.0

Changes

  • [#879] Converted make structure with S-Construct structure.
  • [#913] Updates to tau hybrid solvers.

Bug Fixes

  • [#914] Fixed compiler warnings.
  • [#916] Fixed notebook plotting using plotly.
  • [#918] Fixes for the SSA C solver.

Full Changelog: https://github.com/StochSS/GillesPy2/compare/v1.7.2...v1.8.0

- Python
Published by BryanRumsey over 3 years ago

gillespy2 - v1.7.2

Changes

  • [#893] Added Github action for pylint.

Bug Fixes

  • [#878] Fixed stochastic propensities for homo-dimer bimolecular reactions.
  • [#881] Fixed conflicting error message.
  • [#885] Fixed SBML event assignments.
  • [#892] Fixed issue with raising errors of incorrect type.
  • [#900] Fixed rounding in event assignments with discrete/continuous species.
  • [#903] Fixed tau step selection in the NumPy TauHybrid solver.

closes #696 closes #709 closes #771 closes #790 closes #851 closes #874 closes #876 closes #880 closes #884 closes #886 closes #887 closes #895 closes #896 closes #898 closes #902

Full Changelog: https://github.com/StochSS/GillesPy2/compare/v1.7.1...v1.7.2

- Python
Published by BryanRumsey over 3 years ago

gillespy2 - v1.7.1

Changes

  • [#867] Improvements to the Tau Hybrid C Solver.
  • [#868] Updated authors and acknowledgments.

Bug Fixes

  • [#862] Fixed the get_solver_settings function for all solvers.
  • [#864] Bug fixes to Tau Hybrid C Solver.
  • [#866] Fixed results objects generated by the ODE C Solver.
  • [#870] Fixed homo-dimer bimolecular propensity function for mass-action reactions.
  • [#872] Fixed anonymize function for models with events.

Full Changelog: https://github.com/StochSS/GillesPy2/compare/v1.7.0...v1.7.1

- Python
Published by BryanRumsey almost 4 years ago

gillespy2 - v1.7.0

Changes

  • [#756] Added system support for folder with spaces in installation path on Linux and MacOS.
  • [#770] Reaction now accept an ODE propensity function in addition to the stochastic propensity function.
  • [#773] Added an example to demonstrate the correct method of using timespans with negative values.
  • [#786] ODECSolver and TauHybridCSolver now accept integrator options.
  • [#797] Updates to examples.
  • [#817] Updated documentation.
  • [#829] Improved tau hybrid step selection.

Bug Fixes

  • [#787] TimeSpan.arange and TimeSpan.linspace now accept floats for t
  • [#799] Fixed issue with SBML compartments missing the size attribute being set to nan.
  • [#820] Fixed time plotting when using Results.plot_mean_stdev.
  • [#832] Fixed error reporting when importing SBML models.
  • [#841] Fixed multi-firing events in the tau hybrid c solver.
  • [#850] CLE Solver now uses model's timespan if t and increment are not provided.
  • [#853] Fixed Stochastic/Deterministic switching in the tau hybrid solvers.

Full Changelog: https://github.com/StochSS/GillesPy2/compare/v1.6.9...v1.7.0

- Python
Published by BryanRumsey almost 4 years ago

gillespy2 - v1.6.9

GillesPy2 Release v1.6.9

Changes

  • [#737] Restructured our examples
  • [#744] Updated warning messages and removed the warning package
  • [#745] Removed deprecated basic solvers
  • [#746] CLESolver now added to get_best_solver_algo function and can be selected with algorithm="CLE"
  • [#754] Deprecated model argument in solver.run()
  • [#764] Added Model.add() function to allow multiple different components to be added at once
  • [#775] Added a Dimerization notebook to examples

Fixes

  • [#734] Improvements to error handling
  • [#742] Fixed model validation
  • [#747] Fixed issue with model timespan not being used in solver.run()
  • [#750] Fixed issue causing Model.delete_event to fail
  • [#755] Fixed live graphing errors when using the ODECSolver
  • [#763] Added a JSON encoder for export_StochSS
  • [#769] Fixed issue with double logging

Full Changelog: https://github.com/StochSS/GillesPy2/compare/v1.6.8...v1.6.9

- Python
Published by BryanRumsey over 4 years ago

gillespy2 - v1.6.8

GillesPy2 Release v1.6.8

Changes

  • Added cleanup_tempfiles() function for clearing out gillespy2 temp files
    • [#726]
    • [#706]
  • TauHybridCSolver now added to get_best_solver() and get_best_algo() methods and will be appropriately selected based on model SBML feature set
    • [#697]

Fixes

  • Fixed initialization errors in integrator for TauHybridCSolver
    • [#719]
  • Fixed Event Trigger evaluation in TauHybridCSolver
    • [#717]
    • [#683]
  • Fixed the issue where numerical errors were introduced with continuous values when being evaluated for stochastic reactions in TauHybridCSolver
    • [#711]
  • Fixed multi-trajectory bug in TauHybridCSolver
    • [#703]
  • C-based solver interrupts and timeouts are now appropriately handled
    • [#701]
    • [#684]
  • Multiple updates to error handling
    • [#713]
    • [#693]
    • [#699]
    • [#680]

Full Changelog: https://github.com/StochSS/GillesPy2/compare/v1.6.7...v1.6.8

- Python
Published by seanebum over 4 years ago

gillespy2 - v1.6.7

GillesPy2 Release v1.6.7

Changes

  • [#594] Added support for Events in TauHybridCSolver
  • [#658] Added example for live output using C solver

Fixes

  • [#668] Fixed issue where bimolecular reactions were not appropriately incorporating stoichiometry > 1 in ODECSolver
  • [#675] Fixed issue where missing 'vol' attribute caused exception in NumPy ODESolver
  • [#667] Fixes for issues in example notebooks

- Python
Published by seanebum over 4 years ago

gillespy2 - v1.6.6

GillesPy2 Release v1.6.6

Changes

  • [#639] Added CLE Solver
  • [#647] Now handles SBML parameters without declared values

Fixes

  • [#652] Fixed bug in deprecation warning
  • [#649] Fixed issue with SSA propensities for 2A->B style reactions
  • [#643] Fixed pause/resume issue in C-based solvers
  • [#648] Fixed Python tau hybrid repeating events

- Python
Published by seanebum over 4 years ago

gillespy2 - v1.6.5

GillesPy2 Release v1.6.5

Changes

  • [#630] Parameters can now reference other parameters correctly when creating a model. Additionaly, when creating a parameter, setting "value=" has been removed (use "expression=" instead).
  • [#627] Removed debug print for live_output that was always printing
  • [#625] Fixed issue where Parameters with float value expressions caused an error in the str method.
  • [#620] Fixed issue where current state was being plotted as final timestep in live_output.

- Python
Published by seanebum over 4 years ago

gillespy2 - v1.6.4

GillesPy2 Release v1.6.4

Changes

  • [#609] Solver.run() now returns a Result Object
  • [#616] Live graphing added for C based solvers
  • [#603] Added live output to file option
  • [#445] Model.run() now allows kwarg "increment" as an alternative for creating timespans
  • [#583, #615] Updates to Hybrid C solver (beta)

Fixes

  • [#610] Fixed issue where ODE C Solver sometimes plotted one too many steps
  • [#607] Fixed timeouts for Tau Hybrid Solver
  • [#590] Fixed wrong values in model for Vilar Oscillator example notebook

- Python
Published by seanebum almost 5 years ago

gillespy2 - v1.6.3

GillesPy2 Release v1.6.3

Changes

  • Initial implementation of the Tau Hybrid C++ solver.
  • ODE C++ solvers can now accept non-integer initial populations.

Technical Changes

  • PR #557: Initial implementation of the C++ Tau Hybrid solver.
  • PR #575: ODE C++ solvers can now accept non-integer initial populations.
  • PR #576: Simplified dependency lists and standardized target names in the c_base Makefile.
  • PR #579: Updated gillespy2.solvers.numpy.base_ solver documentation with deprecated-on notice.
  • PR #575: Fixed a C++ solver build failure in certain environments that was caused by compiler type narrowing errors.

- Python
Published by ethangreen-dev about 5 years ago

gillespy2 - v1.6.2

GillesPy2 Release v1.6.2

Minor fixes relating to the v1.6.1 release. For a complete change log please refer to v1.6.1.

- Python
Published by ethangreen-dev about 5 years ago

gillespy2 - v1.6.1

GillesPy2 Release v1.6.1 Changelog

Changes

  • Updated the StartHere.ipynb notebook in the examples/ directory to reference up-to-date documentation and better reflect modern use cases of GillesPy2.
  • Added checks to ensure that SBML models with features not supported by GillesPy2 cannot be loaded.
  • Updated documentation at stochss.github.io/GillesPy2 -- check it out!

Fixes

  • Fixed crash caused by the GillesPy2 Model referencing functions deprecated in release v1.6.0
  • Fixed invalid behavior where higher-order reactions would use the incorrect propensity functions.
  • Fixed broken links in README.md to reference up-to-date documentation.

Technical Changes

  • PR #549: Fixed a crash in Model#get_best_solver_algo caused by the usage of a deprecated function.
  • PR #550: Fixed an issue where higher-order reactions use the incorrect propensity function.
  • PR #561: Updated broken links in the README.md
  • PR #562: Fixed invalid Sphinx documentation generation in source files with invalid reST-format docstrings.
  • PR #553: Added ability to set reaction rate to a string.
  • PR #554: Added Model to test suite which tests all the possible features of a GillesPy2 Model.
  • PR #555: Added additional check to SBMLImport#__get_kinetic_law to ensure SBML Reactions without propensity functions cannot be loaded.
  • PR #556: Updated and refactored the StartHere.ipynb example notebook.
  • GH #558: Updated docsite to use gh-pages branch, updated documentation to v1.6.1
  • PR #559: Tweaked generated documentation to be more readable.
  • PR #568: Added license header to source files.

- Python
Published by ethangreen-dev about 5 years ago

gillespy2 - v1.6.0

GillesPy2 Release v1.6.0 Changelog

Changes

  • Models can now be converted to and from JSON.
  • Improved model and simulation generation for C++ solvers.
  • Models can now be converted to and from the StochSS format.
  • Added example model to illustrate the polymerization of styrene.

Fixes

  • Fixed a bug where the C++ Tau Leaping solver would repeatedly re-instantiate its RNG.
  • Fixed a bug where the C++ Tau Leaping solver would not seed its RNG with a user-passed value.
  • Fixed a bug where large species and parameter counts would cause the NumPy SSA and C++ solvers to output unexpected results.

- Python
Published by jtcooper10 about 5 years ago

gillespy2 - v.1.5.11

CHANGELOG

FIXES

  • Fixed attribute error raised by StochMLDocument.to_model()
  • Fixed rules error caused by rules name collisions
  • Update C TauLeaping solver to accept tau_tol argument
  • Updated plotly function to stop getting deprecation warning

- Python
Published by seanebum about 5 years ago

gillespy2 - v.1.5.10

CHANGELOG

FIXES

  • Fixed issue where the manifest did not include the correct cpp template files

- Python
Published by seanebum about 5 years ago

gillespy2 - v.1.5.9

v1.5.9 CHANGELOG

CHANGES

  • Added C++ implementations of ODE and Tau-Leaping solvers
  • Refactored Tau Hybrid Python solver to use scipy.integrate.LSODA instead of scipy.integrate.solve_ivp
  • Now building biosimulator image on release
  • Simulations now require unique names for all namespace elements (reactions, rate rules, events, parameters, species)
  • Added argument 'algorithm=' to model.run()

FIXES

  • Fixed issue where some event triggers were not being reached in tau hybrid solver
  • Fixed issue where systems containing rate rules which intersected with fully deterministic reactions would lose initial rate rule values
  • Fixed issue where non-unique names would cause simulation issues in tau hybrid solver
  • Fixed issue where identical trajectories were being returned with results.to_array()
  • Fixed SSACSolver and VariableSSACSolver timeout events
  • Fixed SBML function definitions - 'args' is now correctly retained as an attribute of function definitions

- Python
Published by seanebum about 5 years ago

gillespy2 - v.1.5.8

v1.5.8 CHANGELOG

CHANGES

  • Added C++ implementations of ODE and Tau-Leaping solvers
  • Refactored Tau Hybrid Python solver to use scipy.integrate.LSODA instead of scipy.integrate.solve_ivp
  • Now building biosimulator image on release
  • Simulations now require unique names for all namespace elements (reactions, rate rules, events, parameters, species)
  • Added argument 'algorithm=' to model.run()

FIXES

  • Fixed issue where some event triggers were not being reached in tau hybrid solver
  • Fixed issue where systems containing rate rules which intersected with fully deterministic reactions would lose initial rate rule values
  • Fixed issue where non-unique names would cause simulation issues in tau hybrid solver
  • Fixed issue where identical trajectories were being returned with results.to_array()
  • Fixed SSACSolver and VariableSSACSolver timeout events
  • Fixed SBML function definitions - 'args' is now correctly retained as an attribute of function definitions

- Python
Published by seanebum about 5 years ago

gillespy2 - v.1.5.7

v1.5.7 CHANGELOG

CHANGES - Added example notebook for Tyson Oscillator - Change auto-solver checks to use environment path/variables to avoid unnecessary compilations - GillesPy2 results objects can now be turned in to a results ensemble using python builtin sum() function - GillesPy2 models can now be exported to SBML - Added Vilar Oscillator and Dimerization models to example models

FIXES

  • Fixed SBML import issue where string literals were being read incorrectly sometimes
  • Fixed random number re-sampling issue
  • Fixed timespan indexing issue

- Python
Published by seanebum over 5 years ago

gillespy2 - v.1.5.6

HOTFIX:

  • Changed plotting y-axes label from "Species Population" to "Value" to accommodate more generalized terminology for non-biochemical modeling

- Python
Published by seanebum almost 6 years ago

gillespy2 - v1.5.5

v1.5.5 CHANGELOG

FIXES - Fixed issue where VariableSSACSolver sometimes read incorrect parameter value for static parameters in small systems - Repaired links, references, and badges to conform to new github organization (StochSS/GillesPy2 instead of GillesPy2/GillesPy2)

- Python
Published by seanebum almost 6 years ago

gillespy2 - v.1.5.4

v1.5.4 CHANGELOG

FIXES

  • Turning off a species in ensemble plotly plots now turns off all trajectories for that species
  • stochml import now works correctly for ode

- Python
Published by seanebum almost 6 years ago

gillespy2 - v.1.5.3

v1.5.3 CHANGELOG

FIXES

  • Fixed issue where Output from C solvers would sometimes cause errors on Windows
  • Fixed issue where integration would occasionally fail in Tau Hybrid Solver
  • Fixed issue where Rate Rules were sometimes not correctly updated in Tau Hybrid Solver

- Python
Published by seanebum almost 6 years ago

gillespy2 - v.1.5.2

v1.5.2 CHANGELOG

FIXES - Pause now works correctly on Windows for NumPy solvers - Live graphing output now updates correctly for tau-leaping solver - Text live output now correctly updates to 100% - Fixed dev test suite to work correctly on Windows - Auto solver now no longer tests for C solver more than once in a single kernel session - C solvers no longer require re-compilation for pause/resume in a single kernel session - Fixed issue where unnamed reactions were not being correctly seeded

- Python
Published by seanebum about 6 years ago

gillespy2 - v.1.5.1

v.1.5.1 CHANGELOG

FIXES - Fixed issue where multiple trajectories were not being simulated correctly - Fixed solver importation structure to work correctly with non-G++ environments

- Python
Published by seanebum about 6 years ago

gillespy2 - v.1.5.0

1.5.0 CHANGELOG

CHANGES

  • Live Graphing available
  • Pause/Resume with Keyboard Interrupts
  • Automatic solver selection will now prioritize the variable c solver unless the "precompile" flag is set to False
  • Removed "Basic" from NumPy-based solver names/files
  • Simplified imports structure for solvers
  • Parameters may now be target variables for Event Assignments

FIXES

  • Fixed issue where some events were not working with discrete species
  • Removed warnings that no longer make sense
  • PEP-8 Refactoring and general decoupling
  • Fixed bug where adding reactant/products by name rather than object caused an error for some systems
  • Fixed issue where plotly std dev range plot populated species backwards
  • Fixed issue where standard dev. range was not removed with it's relevant species when clicking off species in the plotly graph

- Python
Published by seanebum about 6 years ago

gillespy2 - v.1.4.2

1.4.2 CHANGELOG

CHANGES - Auto solver selection process is now a callable function, getbestsolver() which returns a solver based on model configuration and user environment. - Extended getbestsolver() to consider solver based on supported features and species mode - added callable function to solvers getsolversettings(), returns a tuple of relevant settings to model.run() for the solver - Added badges for conda-forge and download statistics

FIXES - Fixed issue where seeds were sometimes overlapped for VariableSSACSolver - Fixed issue where timeout could cause an error for multiple trajectories

- Python
Published by seanebum about 6 years ago

gillespy2 - v1.4.1

1.4.1 CHANGELOG

CHANGES - added initial value setter method for Species (myspecies.setinitialvalue(val)) - BasicTauHybridSolver is now automatically selected with model.run() for models containing: - Rate Rules, Assignment Rules, Events, Function Definitions - axes scaling is now available with matplotlib and plotly plotting

FIXES - Fixed issue where Tau selection occasionally caused an error - Assignment rules now work correctly, again - Rate Rules now work correctly, again - Default matplotlib y scale now adjusts to simulation - Events are now comparable - Models containing Events are now comparable - coverage badge in README is no longer static, now updates automatically

- Python
Published by seanebum about 6 years ago

gillespy2 - v1.4.0

GillesPy2 v.1.4.0 CHANGELOG

FEATURES

  • New Solver : VariableSSACSolver This solver works identically to SSACSolver, but is optimized for multiple trajectories using variable input values for species and Parameters.
  • Results and ensembles of Results now share an object type.
  • Ensembles can now be created from separate runs using the '+' operator In order to add Results to an Ensemble, they must share the same model/solver
  • Model objects are now comparable
  • Added advanced string parsing for user inputs
  • Now uses AST parsing, interpretation should now be consistent across solvers
  • Results can now be properly pickled and unpickled
  • Added getters for all model objects
  • Added delete methods for all model objects

FIXES

  • BasicODESolver now correctly accepts integrator args.
  • Resolved incorrect rounding in BasicTauHybridSolver switching
  • All model objects are now checked for unique names when added to model

- Python
Published by seanebum about 6 years ago

gillespy2 - v1.3.4

  • removed further uses of isinstance with module objects to avoid potential errors
  • Fix for pickling Results objects
  • Fixed error where math definitions could overlap with Parameter/Species names in hybrid solver. Parameter/Species names will now take priority in evaluation.
  • Added error checking layer for threads
  • Re-Ran notebooks and fixed paths for Michaelis Menten notebooks
  • added License to Manifest for conda-forge

- Python
Published by seanebum over 6 years ago

gillespy2 - v1.3.3

-This version contains a hotfix for an issue where using module class objects were not passing comparison checks. This was an issue with Python's isinstance method.

- Python
Published by seanebum over 6 years ago

gillespy2 - v1.3.2

  • Fix for multiple unnamed Reactions
  • Timeouts now work with Windows! Refactored using python threading instead of signals.
  • Updated hybrid solver value testing and error messages for float/int initial values

- Python
Published by seanebum over 6 years ago

gillespy2 - v1.3.1

Fix for conda-forge Updated Authors

- Python
Published by seanebum over 6 years ago

gillespy2 - v1.3.0

Changes:

Timeouts via signal handling Privatized methods Test scripts load Cython conditionally Order Propensity Formulas / Sortable Elements Fix: timesteps calculated by round now, instead of floor Fix: matplotlib plot() is now resizeable Fix: test runner wrappers python versioning Fix: plot colors loopable beyond 10 species Fix: uniform colors between plotplotly and plot Opioid example model added Plotly figures can be returned without plotting SBML features: Events [and all subentities of Events] Assignment Rules Initial Assignments Initial Value Reassignments Function Definitions Species: Constant Species: Boundary Condition Non Constant Parameters Local Parameters Increased MathML support Fix: Rate Rules nomenclature matches assignment rules and sbml Fix: numpy float casting (response to user issue) Added Pylint badge Removed mxml and python_libsbml from requirements.txt Updated Installation instructions Reorganized example directory Added auto-deployment to PyPi Fix: multiple error / warning changes to provide more helpful information Fix: tau selection fixed in response to hybrid dynamic error Export to csv Example UML Model added

- Python
Published by briandrawert over 6 years ago

gillespy2 - v1.2.3

-Updated requirements.txt to no longer require python_libsbml or lxml on installation

- Python
Published by seanebum over 6 years ago

gillespy2 - v1.2.2

This release contains minor hotfixes for issues in release 1.2.1.

Changelist: - Minor updates to README - Hotfix for cython/numpy solvers resolving issue where timespan was sometimes getting a type error

- Python
Published by seanebum over 6 years ago

gillespy2 - v1.2.1

1.2.1 Changelist: - contains edits to README for PyPI displaying and compatibility

1.2 Changelist:

New Features: - model.run now returns a Results object for single trajectories - model.run now returns an Ensemble object for multiple trajectories - Added built-in plotting (matplotlib and plotly) for Results and Ensemble Objects (use .plot, .plotplotly) - Added statistical plotting for Ensemble objects (use .plotstddeverrorbars - Overhauled Readme with better layout, logos, and examples - Added Code of Conduct - Added notebooks for the following models: - Vilar Oscillator - Brusselator - Oregonator

Fixes / Updates: - Made corrections to ssacsolver dependency graph to be non-symmetric. now runs vilar oscillator model [cbase/model.cpp] - Fixed error where Cython solver was incorrectly parsing species [cythonssasolver.pyx] - Fixed issue where propensities were being calculated incorrectly for bimolecular reactions of type 2X -> Y [gillespy2.py] - Included check for RateRules empty strings [gillespy2.py] - Included a check for RateRules valid associated species [gillespy2.py] - Modified RateRule instantiation to be positional or keyword [gillespy2.py] - Modified Tau Hybrid Switching Condition tests [basictauhybridsolver.py] - Cleaned/updated basictauleaping comments [basictauhybridsolver.py] - Added loop break point for faster pure ode detection [basictauhybridsolver.py]

- Python
Published by seanebum almost 7 years ago