INNER CODE UNIT · JavaScript
psmc_select
lh3/psmc · utils/split-time.js:126
function psmc_select(r, d0) {
if (d0 <= 0.0) return 0;
for (let i = 0; i < r.a.length; ++i)
if (d0 < r.a[i].d)
return i;
return -1;
}
function psmc_avg(r, k0, scale) {
// calculate alpha[]
let alpha = [], x = 1.0;
for (let i = k0; i < r.a.length - 1; ++i) {
alpha.push(x);
x *= Math.exp(-(r.a[i+1].t - r.a[i].t) / r.a[i].n);
}
alpha.push(x);
alpha.push(0.0);
// calculate modeled heterozygosity