#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phenopacket {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub subject:
::core::option::Option<crate::generated::org_phenopackets_schema_v1_core::Individual>,
#[prost(message, repeated, tag = "3")]
pub phenotypic_features: ::prost::alloc::vec::Vec<
crate::generated::org_phenopackets_schema_v1_core::PhenotypicFeature,
>,
#[prost(message, repeated, tag = "4")]
pub biosamples:
::prost::alloc::vec::Vec<crate::generated::org_phenopackets_schema_v1_core::Biosample>,
#[prost(message, repeated, tag = "5")]
pub genes: ::prost::alloc::vec::Vec<crate::generated::org_phenopackets_schema_v1_core::Gene>,
#[prost(message, repeated, tag = "6")]
pub variants:
::prost::alloc::vec::Vec<crate::generated::org_phenopackets_schema_v1_core::Variant>,
#[prost(message, repeated, tag = "7")]
pub diseases:
::prost::alloc::vec::Vec<crate::generated::org_phenopackets_schema_v1_core::Disease>,
#[prost(message, repeated, tag = "8")]
pub hts_files:
::prost::alloc::vec::Vec<crate::generated::org_phenopackets_schema_v1_core::HtsFile>,
#[prost(message, optional, tag = "9")]
pub meta_data:
::core::option::Option<crate::generated::org_phenopackets_schema_v1_core::MetaData>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Family {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub proband: ::core::option::Option<Phenopacket>,
#[prost(message, repeated, tag = "3")]
pub relatives: ::prost::alloc::vec::Vec<Phenopacket>,
#[prost(message, optional, tag = "4")]
pub pedigree:
::core::option::Option<crate::generated::org_phenopackets_schema_v1_core::Pedigree>,
#[prost(message, repeated, tag = "5")]
pub hts_files:
::prost::alloc::vec::Vec<crate::generated::org_phenopackets_schema_v1_core::HtsFile>,
#[prost(message, optional, tag = "6")]
pub meta_data:
::core::option::Option<crate::generated::org_phenopackets_schema_v1_core::MetaData>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cohort {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub description: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub members: ::prost::alloc::vec::Vec<Phenopacket>,
#[prost(message, repeated, tag = "4")]
pub hts_files:
::prost::alloc::vec::Vec<crate::generated::org_phenopackets_schema_v1_core::HtsFile>,
#[prost(message, optional, tag = "5")]
pub meta_data:
::core::option::Option<crate::generated::org_phenopackets_schema_v1_core::MetaData>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Interpretation {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(enumeration = "interpretation::ResolutionStatus", tag = "2")]
pub resolution_status: i32,
#[prost(message, repeated, tag = "5")]
pub diagnosis: ::prost::alloc::vec::Vec<Diagnosis>,
#[prost(message, optional, tag = "6")]
pub meta_data:
::core::option::Option<crate::generated::org_phenopackets_schema_v1_core::MetaData>,
#[prost(oneof = "interpretation::PhenopacketOrFamily", tags = "3, 4")]
pub phenopacket_or_family: ::core::option::Option<interpretation::PhenopacketOrFamily>,
}
pub mod interpretation {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ResolutionStatus {
Unknown = 0,
Solved = 1,
Unsolved = 2,
InProgress = 3,
}
impl ResolutionStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "UNKNOWN",
Self::Solved => "SOLVED",
Self::Unsolved => "UNSOLVED",
Self::InProgress => "IN_PROGRESS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN" => Some(Self::Unknown),
"SOLVED" => Some(Self::Solved),
"UNSOLVED" => Some(Self::Unsolved),
"IN_PROGRESS" => Some(Self::InProgress),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum PhenopacketOrFamily {
#[prost(message, tag = "3")]
Phenopacket(super::Phenopacket),
#[prost(message, tag = "4")]
Family(super::Family),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Diagnosis {
#[prost(message, optional, tag = "1")]
pub disease: ::core::option::Option<crate::generated::org_phenopackets_schema_v1_core::Disease>,
#[prost(message, repeated, tag = "2")]
pub genomic_interpretations: ::prost::alloc::vec::Vec<GenomicInterpretation>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenomicInterpretation {
#[prost(enumeration = "genomic_interpretation::Status", tag = "1")]
pub status: i32,
#[prost(oneof = "genomic_interpretation::Call", tags = "2, 3")]
pub call: ::core::option::Option<genomic_interpretation::Call>,
}
pub mod genomic_interpretation {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Status {
Unknown = 0,
Rejected = 1,
Candidate = 2,
Causative = 3,
}
impl Status {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "UNKNOWN",
Self::Rejected => "REJECTED",
Self::Candidate => "CANDIDATE",
Self::Causative => "CAUSATIVE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN" => Some(Self::Unknown),
"REJECTED" => Some(Self::Rejected),
"CANDIDATE" => Some(Self::Candidate),
"CAUSATIVE" => Some(Self::Causative),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Call {
#[prost(message, tag = "2")]
Gene(crate::generated::org_phenopackets_schema_v1_core::Gene),
#[prost(message, tag = "3")]
Variant(crate::generated::org_phenopackets_schema_v1_core::Variant),
}
}