MCPcopy Index your code
hub / github.com/SingleRust/SingleRust / store_results

Function store_results

src/memory/processing/diffexp/mod.rs:998–1077  ·  view source on GitHub ↗
(
    adata: &IMAnnData,
    key: &str,
    groups: &[String],
    scores: HashMap<String, Vec<f64>>,
    pvals: HashMap<String, Vec<f64>>,
    pvals_adj: HashMap<String, Vec<f64>>,
    logfoldchanges

Source from the content-addressed store, hash-verified

996
997#[allow(clippy::too_many_arguments)]
998fn store_results(
999 adata: &IMAnnData,
1000 key: &str,
1001 groups: &[String],
1002 scores: HashMap<String, Vec<f64>>,
1003 pvals: HashMap<String, Vec<f64>>,
1004 pvals_adj: HashMap<String, Vec<f64>>,
1005 logfoldchanges: HashMap<String, Vec<f64>>,
1006 gene_names: HashMap<String, Vec<String>>,
1007 method: TestMethod,
1008 groupby: &str,
1009 reference: Option<String>,
1010) -> anyhow::Result<()> {
1011 let scores_df = create_dataframe_from_map(&scores)?;
1012 let pvals_df = create_dataframe_from_map(&pvals)?;
1013 let pvals_adj_df = create_dataframe_from_map(&pvals_adj)?;
1014 let logfoldchanges_df = create_dataframe_from_map(&logfoldchanges)?;
1015 let gene_names_df = create_string_dataframe_from_map(&gene_names)?;
1016
1017 let uns = adata.uns();
1018
1019 let result_key = if key.is_empty() || key == "rank_genes_groups" {
1020 "rank_genes_groups".to_string()
1021 } else {
1022 format!("rank_genes_groups_{}", key)
1023 };
1024
1025 uns.add_data(
1026 format!("{}_scores", result_key),
1027 IMElement::new(Data::ArrayData(ArrayData::DataFrame(scores_df))),
1028 )?;
1029
1030 uns.add_data(
1031 format!("{}_pvals", result_key),
1032 IMElement::new(Data::ArrayData(ArrayData::DataFrame(pvals_df))),
1033 )?;
1034
1035 uns.add_data(
1036 format!("{}_pvals_adj", result_key),
1037 IMElement::new(Data::ArrayData(ArrayData::DataFrame(pvals_adj_df))),
1038 )?;
1039
1040 uns.add_data(
1041 format!("{}_logfoldchanges", result_key),
1042 IMElement::new(Data::ArrayData(ArrayData::DataFrame(logfoldchanges_df))),
1043 )?;
1044
1045 uns.add_data(
1046 format!("{}_names", result_key),
1047 IMElement::new(Data::ArrayData(ArrayData::DataFrame(gene_names_df))),
1048 )?;
1049
1050 uns.add_data(
1051 format!("{}_params_reference", result_key),
1052 IMElement::new(Data::Scalar(DynScalar::String(
1053 reference.unwrap_or("rest".to_string()).to_string(),
1054 ))),
1055 )?;

Callers 1

rank_gene_groupsFunction · 0.85

Calls 2

Tested by

no test coverage detected