stratiphy 0.1.2

Phenotype-driven identification of disease subgroups
Documentation
// This file is @generated by prost-build.
#[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>,
}
/// Nested message and enum types in `ClusteringWorkflowResult`.
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>,
}
/// Nested message and enum types in `GapValues`.
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 {
    /// Semantic versioning identifier, e.g. `0.3.0`.
    #[prost(string, tag = "1")]
    pub stratiphy_version: ::prost::alloc::string::String,
    /// HPO release identifier, e.g. `v2026-02-16`.
    #[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>,
}