singa-all release v0.6.0
We changed the license from GPL 3.0 (GNU General Public License v3.0) to MIT. This update brings major changes to the simulation package.
Updates and features
Mathematics
- added possibility to concatenate bitvectors
- fixed problem with directed graphs in the subgraph isomorphism algorithm
- added parser for Newick strings resulting in tree structures
- added traversal of trees with lambda functions
- added predicate-based graph methods for easier graph modification
- added algorithm to determine touching sides of polygons and overlapping regions
Chemistry
- added implementation for the RECAP fragmentation algorithm
- complex chemical entities are now stored in a tree data structure and can be parsed from Newick-like strings
- writing of smiles strings is now supported via beam
Features
- changed feature handling and scaling
- features are now split into QualitativeFeatures and QuantitativeFeatures
- ScalableQualitativeFeatures are automatically rescaled to the units specified in the UnitRegistry - this also works for complex units; e.g. the default space unit is milli metre and a feature is given in liter the scaled quantity will be in milli metere cubed
- features are now maintained centrally and referenced in modules, entities using the FeatureRegistry, where any feature is referenced upon creation
- it is now possible to annotate a list of evidences to a feature
- added formatters that display quantities in human readable format
- updated units of measurement reference implementation to indriya
Simulation
- switch internally from calculations with concentration quantities to primitive doubles, which results in about two-fold speedup
- the concentration handling api has not changed, concentrations can still be initialized and retrieved in arbitrary concentration quantities
- fixed a problem in the simulation of clathrin mediated endocytosis, where aborting pits were not correctly removed
- added modules for point like agents to change state when interacting with line like agents
- added modules for point like agents to change state when interacting with volume like agents
- added uniform reaction equation and kinetic law formatting for export purposes in plain text or latex (using the chemfig package)
- reaction module implementations are now streamlined using composite and behavioural patterns
- it is now possible to use pre- or user defined kinetic laws for every reaction type
- it is now possible to formulate rule based reactions with dynamic reactants
- this is made possible by storing complex entities as trees that are traversed and modified according to modifications applied by dynamic reactions
- it is also possible to mix and match static and dynamic components
- every reaction is created using the ReactionBuilder
- a global error of the simulation is now evaluated in addition to the local error, this increases numerical stability for the combined simulation of fast and slow modules
- added simulation status class for easy simulation monitoring
- restructured and refactored observation of simulations, which is now separated in FlatUpdateRecorder and NestedUpdateRecorder
- it is now possible to singa-simulation with openjdk
- added builder pattern for the creation of membranes
- diffusion now also takes the geometry of adjacent spatial representations of nodes into account
- added module to simulate diffusion through porous membranes
- added builder pattern for concentration initialization
- added possibility to inject concentration into the simulation at arbitrary time points
Structure
- added possibility to retrieve gene name from uniprot
- added possibility to retrieve go terms from uniprot
- adapted updated EC numbering pattern
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.6.0</version>
</dependency>