single_rust 0.5.8

Single-cell analysis in Rust
Documentation
use anndata_memory::IMAnnData;
use anyhow::anyhow;
use ndarray::ArrayD;
use single_utilities::traits::FloatOpsTS;

pub fn run<T: FloatOpsTS>(
    adata: IMAnnData,
    output_dim: u8,
    perplexity: f32,
    epochs: usize,
    theta: f32,
    pp_key: Option<String>
) -> anyhow::Result<ArrayD<T>> {
    let obsm_keys = adata.obsm().keys();
    let pp_key = pp_key.unwrap_or("X_pca".to_string());
    if !obsm_keys.contains(&pp_key) {
        return Err(anyhow!("X_pca not found in obsm_keys"));
    }



    

}