EMULSION: Transparent and flexible multiscale stochastic models in human, animal and plant epidemiology

PLoS Comput Biol. 2019 Sep 13;15(9):e1007342. doi: 10.1371/journal.pcbi.1007342. eCollection 2019 Sep.

Abstract

Stochastic mechanistic epidemiological models largely contribute to better understand pathogen emergence and spread, and assess control strategies at various scales (from within-host to transnational scale). However, developing realistic models which involve multi-disciplinary knowledge integration faces three major challenges in predictive epidemiology: lack of readability once translated into simulation code, low reproducibility and reusability, and long development time compared to outbreak time scale. We introduce here EMULSION, an artificial intelligence-based software intended to address those issues and help modellers focus on model design rather than programming. EMULSION defines a domain-specific language to make all components of an epidemiological model (structure, processes, parameters…) explicit as a structured text file. This file is readable by scientists from other fields (epidemiologists, biologists, economists), who can contribute to validate or revise assumptions at any stage of model development. It is then automatically processed by EMULSION generic simulation engine, preventing any discrepancy between model description and implementation. The modelling language and simulation architecture both rely on the combination of advanced artificial intelligence methods (knowledge representation and multi-level agent-based simulation), allowing several modelling paradigms (from compartment- to individual-based models) at several scales (up to metapopulation). The flexibility of EMULSION and its capability to support iterative modelling are illustrated here through examples of progressive complexity, including late revisions of core model assumptions. EMULSION is also currently used to model the spread of several diseases in real pathosystems. EMULSION provides a command-line tool for checking models, producing model diagrams, running simulations, and plotting outputs. Written in Python 3, EMULSION runs on Linux, MacOS, and Windows. It is released under Apache-2.0 license. A comprehensive documentation with installation instructions, a tutorial and many examples are available from: https://sourcesup.renater.fr/www/emulsion-public.

Publication types

  • Research Support, Non-U.S. Gov't

MeSH terms

  • Animals
  • Cattle
  • Computational Biology / methods*
  • Epidemiology
  • Humans
  • Models, Biological*
  • Plants
  • Software*
  • Stochastic Processes*

Grants and funding

PE received funding from: the French Research Agency (ANR: https://anr.fr); Program Investments for the Future, project ANR-10-BINF-07 (MIHMES); project ANR-16-CE32-0007-01 (CADENCE); the European Union through the European fund for the regional development (FEDER) of Pays-de-la-Loire (http://www.europe.paysdelaloire.fr); the INRA meta-programme "Sustainable management of animal health" through project FORESEE. SP was funded by the Animal Health Division of the French National Institute for Agricultural Research (INRA): http://www.sa.inra.fr/. The funders did not play any role in the study design, data collection and analysis, decision to publish, or preparation of the manuscript.