Expand description
rust support for demes.
Introduction
This crate provides:
- Support for reading
YAML
descriptions ofdemes
models. Seeloads
andload
. - Support for building a demes model using
rust
code. SeeGraphBuilder
.
The output of any of these operations is a fully-resolved
Graph
.
More information
- See here for
an overview of
demes
.
Technical details
YAML
andGraphBuilder
inputs support the Human Data Model (HDM) described in the demes specification- A
Graph
is fully-resolved according to the Machine Data Model (MDM) described in the specification.
Known limitations
- There are currently no convenience functions for exporting
a
Graph
back intoYAML
. However, this task is easily done via serde_yaml::to_string.
Features
The following cargo features are available:
json
: enables reading/writing aGraph
in JSON format.
Structs
An asymmetric migration epoch.
The cloning rate of an
Epoch
.A resolved deme.
Deme-level defaults
A resolved epoch
Generation time.
A resolved demes Graph.
This type allows building a
Graph
using code
rather then using text input.Top-level defaults
Top-level metadata
A migration rate.
An ancestry proportion.
A resolved Pulse event
The selfing rate of an
Epoch
.Store time values.
A half-open time interval
[present, past)
.Top-level defaults for a
Deme
.HDM data for a
Deme
HDM representation of an epoch.
An unresolved migration epoch.
An unresolved Pulse event.
Enums
Error type for this crate.
Specify rounding method for
Graph::to_integer_generations
Specify how deme sizes change during an
Epoch
.The time units of a graph