INNER CODE UNIT · Rust
bootstrap_interval
bluenote-1577/skani · src/chain.rs:57
fn bootstrap_interval(ani_ests: &Vec<(f64,usize)>) -> (f64,f64,f64){
let ani_est_no_mult = ani_ests.iter().map(|x| x.0).collect::<Vec<f64>>();
let std = std_deviation(&ani_est_no_mult);
let mut res = vec![];
let mut mult_ani_ests = vec![];
fastrand::seed(7);
let num_samp = ani_ests.len();
//Return no confidence interval if number of samples is too small.
if num_samp < 10 {
return (0.,1., std);
}
for (ani,mult) in ani_ests.iter(){
for _ in 0..*mult{
mult_ani_ests.push(ani);
}
}
let iters = 100;
for _ in 0..iters{