use mcpcounter_rust::{mcp_counter, ExprMatrix, FeaturesType};
fn main() {
let genes = vec![
"CD3D".to_string(), "CD28".to_string(), "CD8B".to_string(), "CD19".to_string(), "CD79A".to_string(), "GAPDH".to_string(), ];
let samples = vec![
"tumor_A".to_string(),
"tumor_B".to_string(),
"normal".to_string(),
];
#[rustfmt::skip]
let data = vec![
8.1, 7.4, 2.0, 7.6, 7.1, 1.8, 6.9, 6.2, 1.5, 4.2, 8.3, 2.1, 4.0, 8.0, 1.9, 11.0, 11.1, 11.0, ];
let expr = ExprMatrix::new(genes, samples, data);
let result = mcp_counter(&expr, FeaturesType::HugoSymbols);
print!("{:<14}", "population");
for s in &result.samples {
print!("{s:>10}");
}
println!();
for (p, pop) in result.populations.iter().enumerate() {
print!("{pop:<14}");
for s in 0..result.samples.len() {
print!("{:>10.3}", result.score(p, s));
}
println!();
}
}