We drastically reduced the codenpendencies of the chemistry, structure and simulation packages. This prepares potential separation into packages with independent lifecycles.
Updates and features
Mathematics
- added integer intervals and associated functions
- new methods for vector manipulation (e.g. reflection and rotation)
- new methods for angles and circles (e.g. central angle and arc length)
- added implementation for the determination of the smallest set of smallest rings in graphs (Fan-Barbu)
- added implementation for the determination of maximum common subgraphs (Bron-Kerbosch)
- reimplemented and polished force-directed graph layout algorithm
Chemistry
- moved rule based reaction creation to simulation package
- added a parser variant to parse 2d mol files
- render molecule graphs as svg
Features
- features can now be created using an inherited builder pattern
Simulation
- reimplemented complex entities based on graphs
- rewrote reaction network generation and reaction chaining accordingly
- added builder pattern for easy creation and combination of reactions
- reimplemented concentration initialization
- allows to add and combine arbitrary conditions for concentration initialization
- added builder pattern to easily setup initial concentrations
- redefined membrane definition
- removed deprecated membrane creation functions
- added possibility to parse simulation setups with membranes from images
- streamline neighborhood mapping
- optimized and unified time stepping during simulation
- increased robustness and optimized runtime
- unified numerical and displacement error management
- increased speed of diffusion calculations by caching identical calculations
- added distinction between macroscopic and microscopic diffusivity
- added possibility to assign evidence to modules
- added possibility to export models to LaTeX long tables (for publications)
- added possibility to write functional intermediate states of trajectories
- implemented methods to run simulations autonomously and in parallel
- cleanup of the Module interface and inheritance
- added module for lateral membrane diffusion
- general improvements to code quality and bug fixes
Structure
- reimplemented structure parser
- allows to parse all structures in local repositories
- allows for specification of local ligand repositories
- increased flexibility and robustness
- added support for parsing b-factors and encoding custom values in the b-factor column
- added parser variant to parse 3d mol files
Installation
You can add SiNGA to your project by adding the following dependency to your pom.xml.
<dependency>
<groupId>bio.singa</groupId>
<artifactId>'artifact'</artifactId>
<version>0.7.0</version>
</dependency>