@alubbock alubbock released this Oct 19, 2018 · 1 commit to master since this release

Assets 2

New Features

  • Model component names will now tab-complete when accessed as part of a ComponentSet (#380)

General Improvements

  • Keyword arguments to __init__ are now validated by ScipyOdeSimulator (#381), StochKitSimulator (#382), and CupSodaSimulator (#383)
  • BioNetGen: Extra functions are now supported, including And, Or, Floor, Ceiling, Min, Max, Abs, and the constants pi and e (#373)
  • SBML exporter: Observables and Expressions are now set by AssignmentRules (#370 and #372)

Bugfixes

  • Fix Simulator initials_dict when set by array (#377)
  • Fix BNGSimulator when tspan doesn't start at 0 (#379)
  • Set a default module name for components when __name__ isn't set (#374)
  • Fix StochKit export on Python 3 when lxml is installed (#375)
  • Fix serialization of components that do not have a model weakref set (#386)
  • Respect BngSimulator cleanup flag in __init__ (#385)

@alubbock alubbock released this Jul 23, 2018 · 14 commits to master since this release

Assets 2

New Features

  • Python 3.7 now officially supported (in addition to 3.6 and 2.7) (#368)
  • Filtering for ComponentSets (documentation) (#340)
  • SBML export now uses LibSBML and supports compartments and expressions (#367)
  • On demand observable trajectories without adding them to the model (documentation) (#337)

General Improvements

  • The <> operator for reversible rules in Python 2.7 has been formally deprecated. Use | instead (#344)
  • Products of synthesis rules are enforced to be concrete (#354)
  • Monomers' site and state names are validated upon definition (#352)
  • Expressions now must be created from sympy.Expr. Previously, unwrapped integers and floats were accepted (#350)
  • Capture BNG errors into PySB exception messages (#363)
  • Show line numbers in the debug log for BioNetGen language files to aid interpreting BNG error messages (#365)
  • Python model exporter now produces Python 3.x compatible code (#366)
  • Recover from non-functional Cython/weave compilers on Windows (#353)
  • Better tests for PySB exporters, and explicit ExpressionsNotSupported and CompartmentsNotSupported exceptions where applicable (#357)

Bugfixes

  • Fix export to BNG of expressions containing log (#361)
  • Fix Kappa export when using parameters with overlapping (substring) names (#346)

@alubbock alubbock released this Mar 7, 2018 · 34 commits to master since this release

Assets 2

New Features

  • New reversible rule operator |; the previous <> operator is now pending deprecation (#309)
  • Saving and loading of SimulationResult objects with metadata in HDF5 format (#292)
  • PySB now supports Kappa 4, including custom rate laws with PySB Expressions. Kappa 3 support has been dropped (#334)
  • Rule pattern matching and new model test suite (#285)
  • Model components can now be accessed as attributes (#213)
  • Importing models from BioModels can now use either the EBI mirror (default) or the CalTech one (#325)
  • Cython support for ScipyOdeSimulator; this allows efficient simulation on Python 3, where weave is no longer an option (#320)

General Improvements

  • Native Python 3 compatibility for the whole PySB codebase (#312)
  • Internal species for tracking synthesis/degradation rules __source and __sink have been removed (#317)
  • Specifying a pattern with a dangling bond now causes an error (#328)
  • Simulator run() arguments are no longer persistent (#314)
  • State values in patterns are now verified (#322)
  • Frequently Asked Questions added to documentation (#331)
  • Loading CupSodaSimulator no longer initializes the GPU on import; instead it wait until instantiation (#332).
  • pysb.tools.sensitivity_analysis code updated for compatibility with matplotlib 2.1 (#303)
  • Improvements to ScipyOdeSimulator's weave interface, including better control of console output (#299) and ensuring C code is cacheable when unicode variable names are used (#301).
  • Graph objects in the Kappa interface (e.g. contact maps) are now returned as networkx graphs, not pygraphviz. pygraphviz support for reading .dot files in the Kappa interface has been replaced with pydot (#335).

Bugfixes

  • Fix component rename when not using Self Exporter (#321)
  • ComplexPattern.__call__ now raises a DuplicateMonomerError when duplicate monomers are present (#323)
  • Fixes for ComplexPattern.is_concrete() (#307)
  • Reversible Rule.is_synth() and is_deg() now work for reversible patterns (#326)
  • Fix error when running Tyson model with CupSodaSimulator (#332)

@jmuhlich jmuhlich released this Aug 20, 2017 · 68 commits to master since this release

Assets 2

New features

BngSimulator, an interface to all simulators provided by BioNetGen: ODE, partitioned-leaping, SSA (stochastic) and NFsim (network-free stochastic). See pysb.simulator.bng.BngSimulator (#272).

General improvements

  • Faster and more memory-efficient construction of ODEs from rules (#293).
  • ScipyOdeSimulator is faster in "pure Python" mode (i.e. without weave and a C compiler installed). It now also supports a somewhat broader range of sympy expressions in reaction rates. Also an experimental use_theano option has been added which uses theano rather than weave for evaluating differential equation expressions. Note that PySB users who previously depended on scipy.weave for fast C translation of ODE expressions must now install the standalone weave package, as this module has been removed from scipy (#294).
  • StochKitSimulator adds support for models with expressions. Also the simulation setup process is now faster.
  • Performance benchmarking and regression testing with Airspeed Velocity (#275). We will eventually work out a way to automatically execute the test suite and publish the results, but for now anyone who's interested in this would have to run it themselves.
  • Continuous Integration for Windows with AppVeyor (#263).

Bugfixes

  • Accessing SimulationResult.all no longer crashes when unicode strings are used for observable or expression names under Python 2 (#291, issue #290). We thought we fixed the whole unicode-and-numpy issue here back in #245, but apparently we missed a spot.
  • MatlabExporter now correctly handles empty observables, i.e. observables whose pattern doesn't match any reachable species (#289).
  • Some code errors in the tutorial (module/class names that didn't get updated during a code refactoring) have been corrected (#286). Thanks to Michael Retchin for catching this.

@jmuhlich jmuhlich released this Jun 9, 2017 · 78 commits to master since this release

Assets 2

New features

  • StochKitSimulator, an interface to the stochastic simulator StochKit. See pysb.simulator.stochkit.StochKitSimulator.
  • InitialsSensitivity, a tool to perform pairwise sensitivity analysis of initial conditions. See pysb.tools.sensitivity_analysis.InitialSensitivity. EXPERIMENTAL.
  • Import models directly from BioModels from just their ID (BIOMDxxx... or MODELxxx...) with pysb.importers.sbml.model_from_biomodels().

General improvements

  • Faster simulation runs for models with many expressions (~60x speedup for a 200-expression model).
  • Improved accuracy and better error reporting when parsing SBML expressions in pysb.importers.sbml.
  • The Kappa interface has been upgraded to support Kappa version 4. This also means Kappa v3 is no longer supported.

Bugfixes

  • CupSodaSimulator now works on Python 3.
  • Simulators now fully respect parameter value overrides for initial condition parameters (#252).
  • Simulators now allow overriding a non-zero initial condition to zero (#251).
  • Simulators no longer have problems with parameter names that are unicode objects (still only ASCII characters are allowed, though) (#278).
  • Model components with the same name as a top-level sympy object (anything you would see in from sympy import *) no longer cause errors when simulating (#259).
  • Applying a compartment condition to a MonomerPattern that already has one now correctly raises an exception (#258).
  • PysbFlatExporter now works with compartments using inline size declarations (#210).
  • ComplexPattern.is_equivalent_to now correctly handles certain combinations of compartments that were previously mishandled (#257).

@jmuhlich jmuhlich released this Mar 24, 2017 · 96 commits to master since this release

Assets 2

New features

  • CupSodaSimulator, a wrapper for the cupSODA GPU-based ODE integrator. No special Python libraries are necessary since cupSODA comes as a standalone binary, but if PyCUDA is installed then PySB can auto-detect the configuration details of your GPU. See the documentation in pysb.simulator.CupSodaSimulator for more.
  • Simulators can now support multiple parameter sets and/or initial condition sets, especially helpful for internally parallel simulators such as CupSodaSimulator.
  • PySB internals now use the logging module to emit diagnostics, making debugging (or silencing output) easier. This is exposed externally through the PYSB_LOG environment variable -- set it to one of the standard logging levels (DEBUG, INFO, etc.) to control which messages are printed.

Bugfixes

  • BNGL and SBML importers now work on Windows.
  • Observables and Expressions with unicode objects for names (rather than strings) no longer trigger an internal numpy exception in the PySB Simulator code on Python 2. An exception will still be raised if the unicode names do contain non-ascii-safe characters, but the error message is now more intelligible.

@jmuhlich jmuhlich released this Jan 11, 2017 · 102 commits to master since this release

Assets 2

Bugfixes

  • The SBML exporter works again (it's been broken ever since v1.0.0 😬)

Other

  • Documentation improvements

@jmuhlich jmuhlich released this Oct 13, 2016 · 104 commits to master since this release

Assets 2

Bugfixes

  • Python 3 / unicode compatibility fixes.

@jmuhlich jmuhlich released this Oct 7, 2016 · 105 commits to master since this release

Assets 2

New features

  • Brand new Simulator classes and SimulationResult classes in the pysb.simulator package. The old pysb.integrate API is unchanged but has been reimplemented using the Simulator class.
  • Model import from other types of models in the pysb.importers package. Currently supports BNGL and SBML model import.

Bugfixes

  • pysb_flat exporter now supports MatchOnce.
  • Some Python 2 Unicode issues were addressed by eliminating uses of type(...) == str.

@jmuhlich jmuhlich released this May 5, 2016 · 125 commits to master since this release

Assets 2

Release to fix one minor bug with the PyPI upload.

Bugfixes

  • The source distribution on PyPI now includes ez_setup.py.