#[cfg(feature = "tokio")]
use bed_reader::{BedCloud, BedErrorPlus, ReadOptions};
#[cfg(feature = "tokio")]
use ndarray::s;
#[cfg(feature = "tokio")]
use std::collections::HashSet;
#[cfg(feature = "tokio")]
#[tokio::main]
async fn main() -> Result<(), Box<BedErrorPlus>> {
let url = "https://raw.githubusercontent.com/fastlmm/bed-sample-files/main/some_missing.bed";
let cloud_options = [("timeout", "10s")];
let mut bed_cloud = BedCloud::new_with_options(url, cloud_options).await?;
println!("{:?}", bed_cloud.iid().await?.slice(s![..5])); println!("{:?}", bed_cloud.sid().await?.slice(s![..5])); println!(
"{:?}",
bed_cloud.chromosome().await?.iter().collect::<HashSet<_>>()
);
let _ = ReadOptions::builder()
.sid_index(bed_cloud.chromosome().await?.map(|elem| elem == "5"))
.f64()
.read_cloud(&mut bed_cloud)
.await?;
Ok(())
}
#[cfg(not(feature = "tokio"))]
pub fn main() {
println!("This example requires the 'tokio/full' feature to be enabled");
}