13 个不稳定版本 (5 个破坏性更新)
0.6.0 | 2024年4月16日 |
---|---|
0.5.0 | 2023年9月26日 |
0.4.0 | 2023年3月30日 |
0.4.0-alpha.2 | 2022年10月28日 |
0.1.0 | 2022年5月27日 |
#12 in 模拟
1,595 每月下载量
在 2 个 crate 中使用 (通过 demes-forward)
295KB
7K SLoC
引用
如果您在研究中使用了 demes
,请引用
Gower, G., A. P. Ragsdale, G. Bisschop, R. N. Gutenkunst, M. Hartfield, E. Noskova, S. Schiffels, T. J. Struck, J. Kelleher, K. R. Thornton (2022) Demes: a standard format for demographic models. Genetics 222 (3):iyac131
DOI 论文。
示例
此示例从文件中读取模型。模型采用 YAML
格式。读取后,我们遍历模型中的每个种群和每个种群的每个时代。迭代顺序是从过去到现在。
fn main() {
for input in std::env::args().skip(1) {
println!("processing file {input}");
let file = std::fs::File::open(input).unwrap();
let graph = demes::load(file).unwrap();
for deme in graph.demes() {
println!("deme {}", deme.name());
for epoch in deme.epochs() {
println!("\tstart size = {}", epoch.start_size());
println!("\tend size = {}", epoch.end_size());
println!("\tstart time = {}", epoch.start_time());
println!("\tend time = {}", epoch.end_time());
}
}
}
}
可以从工作区的根目录运行此示例
cargo run --example iterate_graph -- demes/examples/jouganous.yaml
这里 是一个更丰富的示例。要运行它
cargo run --example iterate_graph_detail -- demes/examples/jouganous.yaml
变更日志
请参阅 此处。
依赖项
~4.5–7MB
~126K SLoC