///|
fn main {
let data = @bio.gsva_create_example_data()
let gene_sets = @bio.gsva_create_example_gene_sets()
let params = @bio.GSVAParams::new()
let scores = @bio.gsva_run(data, gene_sets, params)
println(
"GSVA Scores computed for " +
scores.scores.length().to_string() +
" gene sets",
)
println("Number of samples: " + scores.sample_names.length().to_string())
let summary = @bio.gsva_summarize(scores)
println(summary)
println("\n=== 1. Enrichment Map ===")
let map = @bio.gsva_enrichment_map(scores, gene_sets, 0.1)
println(map)
println("\n=== 2. Phenotype Correlation ===")
let phenotypes = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
let corr_report = @bio.gsva_phenotype_report(scores, phenotypes, "Age")
println(corr_report)
println("\n=== 3. Survival Analysis ===")
let survival_time = [10.0, 20.0, 30.0, 40.0, 50.0, 60.0]
let event = [1, 1, 1, 0, 0, 1]
let surv_report = @bio.gsva_survival_report(scores, survival_time, event)
println(surv_report)
println("\n=== 4. Score Distribution ===")
let dist = @bio.gsva_score_distribution(scores)
println(dist)
}