#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClusteringWorkflowResult {
#[prost(double, repeated, tag = "1")]
pub affinity_matrix: ::prost::alloc::vec::Vec<f64>,
#[prost(message, repeated, tag = "2")]
pub cluster_labels: ::prost::alloc::vec::Vec<clustering_workflow_result::ClusterLabels>,
#[prost(uint32, repeated, tag = "3")]
pub sort_order: ::prost::alloc::vec::Vec<u32>,
#[prost(message, optional, tag = "4")]
pub gap_values: ::core::option::Option<GapValues>,
#[prost(message, optional, tag = "5")]
pub split_check: ::core::option::Option<SplitCheck>,
#[prost(message, repeated, tag = "6")]
pub term_associations: ::prost::alloc::vec::Vec<clustering_workflow_result::TermAssociations>,
}
pub mod clustering_workflow_result {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClusterLabels {
#[prost(uint32, tag = "1")]
pub k: u32,
#[prost(uint32, repeated, tag = "2")]
pub labels: ::prost::alloc::vec::Vec<u32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TermAssociations {
#[prost(uint32, tag = "1")]
pub k: u32,
#[prost(message, repeated, tag = "2")]
pub associations: ::prost::alloc::vec::Vec<super::TermAssociation>,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GapValues {
#[prost(map = "uint32, double", tag = "1")]
pub log_wk_data: ::std::collections::HashMap<u32, f64>,
#[prost(message, repeated, tag = "2")]
pub log_wk_rand: ::prost::alloc::vec::Vec<gap_values::LogWkRand>,
}
pub mod gap_values {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogWkRand {
#[prost(uint32, tag = "1")]
pub k: u32,
#[prost(double, repeated, tag = "2")]
pub values: ::prost::alloc::vec::Vec<f64>,
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SplitCheck {
#[prost(bool, tag = "1")]
pub should_split: bool,
#[prost(double, tag = "2")]
pub split_proba: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TermAssociation {
#[prost(string, tag = "1")]
pub term_id: ::prost::alloc::string::String,
#[prost(map = "uint32, uint32", tag = "2")]
pub counts: ::std::collections::HashMap<u32, u32>,
#[prost(double, tag = "3")]
pub pval: f64,
#[prost(double, optional, tag = "4")]
pub corrected_pval: ::core::option::Option<f64>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClusteringWorkflowMetadata {
#[prost(string, tag = "1")]
pub stratiphy_version: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub hpo_version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StratiphyResult {
#[prost(message, optional, tag = "1")]
pub clustering_result: ::core::option::Option<ClusteringWorkflowResult>,
#[prost(message, optional, tag = "2")]
pub cohort: ::core::option::Option<super::stratiphy_model::Cohort>,
#[prost(message, optional, tag = "3")]
pub meta_data: ::core::option::Option<ClusteringWorkflowMetadata>,
}