Software

DeryaSE

This is a research software that can simulate the spread of infectious diseases at large scale on high resolution maps, using an individual based description. It has two major components: the engine itself that, given a model description, produces an optimized parallel executable implementing that specific model, and a visualization tool that can be used to visually explore simulation results.

Engine

An advanced state-of-the-art simulation engine for individual (agent) based simulations of infectious disease dynamics. The engine offers several features to set up and execute massive large scale simulations: its advanced capabilities can be grouped into five major features:

  1. It allows the simulation of large scale geographic spread of infections on high resolution maps. Any combination of resolution and size is possible: we are only limited by computational resources.
  2. It features a code generator which permits implementation of complex epidemiological models in a breeze. Models can be written in text files using a format very similar to their description with pencil and paper: the code generator will take the model description and produce an executable ready for submission.
  3. It permits to assign specific user-defined data to individuals: for instance individual immunity profiles or whatever kind of static/dynamic information individuals possess.
  4. It provides mechanisms for advanced simulation control via user-defined functions. These can be used, for example, to alter the execution according to specific conditions occurring during the simulation.
  5. The simulation engine produces fully parallelized code which can be submitted on a computer cluster. User-defined function have access to simple mechanisms for data reduction and sharing of user-defined data not handled directly by the simulation engine.

The latest release integrates an algorithm based on sequential monte carlo for parameter fitting. It also provides a connector to use the R language for encoding user-defined functions and individual data handling; a similar connector for Python is under development.

 


Fig 1: Simulated spread of multi-strain flu around the globe.

 


Fig 2: Simulated measles outbreak in the United States.

Visualization

A visualization tool renders the maps produced by the simulation using various 2d or 3d projections, and it provides tools to produce snapshots and short movies.