What is the Demes specification?#

The Demes specification is a concrete proposal to standardise:

Why is it necessary?#

It can be tedious and error prone to write down a demographic model for use with population genetics software, such as simulators. Moreover, genetics software use many different and often incompatible input formats for describing demographic models. So a user may be forced to rewrite the model in order to use it with another tool.

Publications often report demographic models as a table of parameters, which needs to be transcribed by the reader. Even when publications provide commands, or code, that correspond to their concrete demographic model, this is unfortunately tied to specific software.

We believe these problems are fixable.

Software support#

The following software provides support for Demes. If you’d like to add your software to this list, please open a Pull Request.

Software accepting the Demes format as input/output#

  • fwdpy11 - A Python package for forward-time population genetic simulation.

  • GADMA - Genetic Algorithm for Demographic Model Analysis. GADMA implements methods for automatic inference of the joint demographic history of multiple populations from genetic data.

  • moments - Moment-based solution of the diffusion equation in genetics, for inference of demographic history and selection.

  • msprime - A population genetics simulator of ancestry and DNA sequence evolution based on tskit.

  • demes-slim - A SLiM/Eidos library for loading a Demes model into SLiM.