Releases: CNS-OIST/STEPS
STEPS 5.0.2
Python API
- The minimum python version was bumped from 3.6 to 3.8.
Bugfixes
- Fixed compilation issue when PETSc is not installed.
- Fixed installation issue in Conda environments.
Internal code base
- Use Boost instead of GSL for computing qtable for vesicle surface diffusion.
- Remove GSL as a minimum prerequisite.
stepsblender python package
- Fixed issues caused by changes in Blender 4.1 python API.
STEPS 5.0.1
New Features
- Introduce a new solver named
TetVesicle
that simulates vesicles, lipid rafts and related phenomena such as endocytosis, exocytosis and active transport on virtual actin filaments.
The solver is built on top of theTetOpSplit
routines for parallel simulation of SSA reaction and diffusion events. - Add a new
stepsblender
python module that allows visualisation of STEPS simulation data recorded withXDMFHandler
using the Blender 3D computer graphics software (https://www.blender.org/). - Checkpointing added or updated for solvers
TetVesicle
,TetOpSplit
,Tetexact
,TetODE
,Wmdirect
,Wmrk4
,Wmrssa
. - Added support for network-free simulation of multi-state complexes with
Wmdirect
.
Python API
- Added a new
CustomResults
result selector to save arbitrary data to STEPS HDF5 files. - Added a
.description
property toResultSelector
s. - Added a
.patchTriNeighbs
property toTriReference
s to get neighboring triangles in the same patch.
Build and Packaging
- Installation process now automatically installs missing python dependencies.
Internal code base
- All stochastic solvers are now reproducible.
- Numerous fixes, optimizations and modernizations.
STEPS 4.1.1
Build and Packaging
- Fix older cmake files causing installation issues
- Fix
-DSTEPS_USE_DIST_MESH=False
cmake flag not preventingOmega_h
installation
No functional change from 4.1.0, so the update is optional.
STEPS 4.1.0
License update
- Project license changed to GPL3.0.
Python API
- Added automatic saving to HDF5 files (HDF5Handler) and XDMF files (XDMFHandler). Data saved
with XDMFHandler can be visualized with scientific visualization software like Paraview.
Internal code base
- Performance improvement: Identify the tetrahedra with molecule changes via diffusion
(changes caused by reaction are updated by the ssa operator) and update the associated propensities.
STEPS 4.0.0
Python API
Introduce a new parallel stochastic reaction-diffusion solver and a deterministic
membrane potential solver named DistTetOpSplit
. The solver is based on a
distributed mesh named DistMesh
.
Build and Packaging
- STEPS requires a C++ compiler compatible with C++ 17.
- New CMake variables to enable profiling of the simulation:
STEPS_USE_LIWKID_PROFLING
,STEPS_USE_CALIPER_PROFILING
, andSTEPS_USE_NATIVE_PROFILING
see [doc/dev/README.md] for more details on how to use it. - Add support to Apple M1
- Add support to compilers GCC 11, LLVM 13, and Apple Clang 13
STEPS 3.6.0
Python API
-
Added a new python API (see documentation)
Scripts written for older STEPS version should still work without any modifications.
The new python API can be used by adding the following line at the top of a STEPS script:import steps.interface
-
Dropped support for python 2.7. The minimum python version is now 3.6.
Build and Packaging
- Added support for OpenMP and AppleClang compiler
- Improved CMake structure to allow for faster compilation
Internal code base
- Code fixes for segment-tetrahedron intersection
STEPS 3.5.0
Changes
Python API
-
values for unknown tetrahedron and triangle identifiers changed from
-1 tosteps.geom.UNKNOWN_TET
andsteps.geom.UNKNOWN_TRI
respectively.
You may use these 2 constants instead of -1.A Python 3 Flake8 extension is available to help you migrate your code.
$ pip3 install flake8 flake8-oist-steps $ cat test.py import steps.utilities.meshio as meshio mesh = meshio.loadMesh('axon_cube_L1000um_D866m_1135tets')[0] idx = mesh.findTetByPoint([0, 0, 0]) if idx == -1: print('boundary') $ flake8 test.py ./test.py:5:4: E421 consider using steps.geom.UNKNOWN_TET constant instead of -1.
You may use the following snippet in your scripts header to have backward
compatible code:try: from steps.geom import UNKNOWN_TET, UNKNOWN_TRI except ImportError: UNKNOWN_TET = -1 UNKNOWN_TRI = -1
-
A new constant
steps.geom.INDEX_DTYPE
provides the proper NumPy datatype according
to whether STEPS has been built with 32 bits or 64 bits identifiers.
Build and Packaging
- New
USE_64_BITS_INDICES
CMake option to use 64bits unsigned integers
for identifiers instead of 32bits. - New CMake variables to use either system libraries or bundle code.
USE_BUNDLE_EASYLOGGINGP
USE_BUNDLE_RANDOM123
USE_BUNDLE_SUNDIALS
- Improve spack support
- Improve support of GCC 7 and higher
- Improve support of AppleClang compiler
Internal code base
- Disable OpenMP instructions in TetOpSplit solver
- Modernize code base by using most of C++11
- Increase code safety by using strong types to distinguish
identifiers from tetrahedrons, triangles, and vertices
STEPS 3.4.1
Version 3.4.1 (2018-11)
- Critical bug fix for TetOpSplit solver.
STEPS 3.4.0
Version 3.4.0 (2018-11)
- Optimisation of non-spatial deterministic solver Wmrk4. Vast improvement in performance for large models.
- Various bug fixes and unit tests.
STEPS 3.3.0
Version 3.3.0 (2018-04)
- Implemented Rejection-based SSA (Thanh V, Zunino R, Priami C (n.d.) On the rejection-based algorithm for simulation and analysis of large-scale reaction networks. The Journal of Chemical Physics 142:244106) as a faster alternative to Wmdirect
- Assertion and Exception logging overhaul
- Remove SWIG interface
- Matlab Simbiology support utility