Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
- Model component names will now tab-complete when accessed as part of a ComponentSet (#380)
- Keyword arguments to
__init__are now validated by
- BioNetGen: Extra functions are now supported, including
Abs, and the constants
- SBML exporter: Observables and Expressions are now set by AssignmentRules (#370 and #372)
- 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)
BngSimulatorcleanup flag in
- 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)
<>operator for reversible rules in Python 2.7 has been formally deprecated. Use
- 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
CompartmentsNotSupportedexceptions where applicable (#357)
- New reversible rule operator
|; the previous
<>operator is now pending deprecation (#309)
- Saving and loading of
SimulationResultobjects 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
weaveis no longer an option (#320)
- Native Python 3 compatibility for the whole PySB codebase (#312)
- Internal species for tracking synthesis/degradation rules
__sinkhave been removed (#317)
- Specifying a pattern with a dangling bond now causes an error (#328)
run()arguments are no longer persistent (#314)
- State values in patterns are now verified (#322)
- Frequently Asked Questions added to documentation (#331)
CupSodaSimulatorno longer initializes the GPU on import; instead it wait until instantiation (#332).
pysb.tools.sensitivity_analysiscode updated for compatibility with matplotlib 2.1 (#303)
- Improvements to
weaveinterface, 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
pygraphvizsupport for reading .dot files in the Kappa interface has been replaced with
- Fix component rename when not using Self Exporter (#321)
ComplexPattern.__call__now raises a
DuplicateMonomerErrorwhen duplicate monomers are present (#323)
- Fixes for
is_deg()now work for reversible patterns (#326)
- Fix error when running Tyson model with
BngSimulator, an interface to all simulators provided by BioNetGen: ODE, partitioned-leaping, SSA (stochastic) and NFsim (network-free stochastic). See
- Faster and more memory-efficient construction of ODEs from rules (#293).
ScipyOdeSimulatoris faster in "pure Python" mode (i.e. without
weaveand a C compiler installed). It now also supports a somewhat broader range of sympy expressions in reaction rates. Also an experimental
use_theanooption has been added which uses theano rather than weave for evaluating differential equation expressions. Note that PySB users who previously depended on
scipy.weavefor fast C translation of ODE expressions must now install the standalone
weavepackage, as this module has been removed from scipy (#294).
StochKitSimulatoradds 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).
SimulationResult.allno longer crashes when
unicodestrings 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.
MatlabExporternow 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.
StochKitSimulator, an interface to the stochastic simulator StochKit. See
InitialsSensitivity, a tool to perform pairwise sensitivity analysis of initial conditions. See
- Import models directly from BioModels from just their ID (BIOMDxxx... or MODELxxx...) with
- 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
- The Kappa interface has been upgraded to support Kappa version 4. This also means Kappa v3 is no longer supported.
CupSodaSimulatornow 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).
PysbFlatExporternow works with compartments using inline size declarations (#210).
ComplexPattern.is_equivalent_tonow correctly handles certain combinations of compartments that were previously mishandled (#257).
- 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
- 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
loggingmodule to emit diagnostics, making debugging (or silencing output) easier. This is exposed externally through the
PYSB_LOGenvironment variable -- set it to one of the standard logging levels (DEBUG, INFO, etc.) to control which messages are printed.
- 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.
- Brand new Simulator classes and SimulationResult classes in the
pysb.simulatorpackage. The old
pysb.integrateAPI is unchanged but has been reimplemented using the Simulator class.
- Model import from other types of models in the
pysb.importerspackage. Currently supports BNGL and SBML model import.
- pysb_flat exporter now supports
- Some Python 2 Unicode issues were addressed by eliminating uses of
type(...) == str.