1个不稳定版本
0.1.0 | 2023年8月31日 |
---|
#5 in #spectra
用于 sfs-cli
165KB
4.5K SLoC
用于处理站点频率谱的工具。
这是sfs CLI的核心库实现,但也可以作为一个独立的库来处理频率谱。
概述
核心结构是一个 Spectrum
,它由一个N维的 Array
支持。一个频谱可能是一个 频率 频谱 ([Sfs
]),在这种情况下,我们说它是归一化的,或者它可能是一个 计数 频谱 ([Scs
])。
示例
作为对API的简要介绍,让我们创建一个计数频谱,然后使用Watterson的估计器将其归一化,以获得每个基的θ估计值。
use sfs_core::Scs;
// Create a 1-dimensional SCS from some data
let scs = Scs::from_vec([25., 8., 4., 2., 1., 0.]);
// Normalize the spectrum to frequencies
let sfs = scs.into_normalized();
// Calculate θ
let theta = sfs.theta_watterson().expect("θ only defined in 1D");
assert!((theta - 0.18).abs() < 1e-16);
依赖项
~4.5MB
~83K SLoC