Skip to content

singa-all release v0.6.0

Choose a tag to compare

@cleberecht cleberecht released this 15 Jul 15:12
· 232 commits to master since this 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>