pub struct BiomedicalEmbedding {Show 16 fields
pub config: BiomedicalEmbeddingConfig,
pub model_id: Uuid,
pub gene_embeddings: HashMap<String, Array1<f32>>,
pub protein_embeddings: HashMap<String, Array1<f32>>,
pub disease_embeddings: HashMap<String, Array1<f32>>,
pub drug_embeddings: HashMap<String, Array1<f32>>,
pub compound_embeddings: HashMap<String, Array1<f32>>,
pub pathway_embeddings: HashMap<String, Array1<f32>>,
pub relation_embeddings: HashMap<String, Array1<f32>>,
pub entity_types: HashMap<String, BiomedicalEntityType>,
pub relation_types: HashMap<String, BiomedicalRelationType>,
pub triples: Vec<Triple>,
pub features: BiomedicalFeatures,
pub training_stats: TrainingStats,
pub model_stats: ModelStats,
pub is_trained: bool,
}Expand description
Biomedical knowledge graph embedding model
Fields§
§config: BiomedicalEmbeddingConfig§model_id: Uuid§gene_embeddings: HashMap<String, Array1<f32>>Entity embeddings by type
protein_embeddings: HashMap<String, Array1<f32>>§disease_embeddings: HashMap<String, Array1<f32>>§drug_embeddings: HashMap<String, Array1<f32>>§compound_embeddings: HashMap<String, Array1<f32>>§pathway_embeddings: HashMap<String, Array1<f32>>§relation_embeddings: HashMap<String, Array1<f32>>Relation embeddings by type
entity_types: HashMap<String, BiomedicalEntityType>Entity type mappings
relation_types: HashMap<String, BiomedicalRelationType>Relation type mappings
triples: Vec<Triple>Training data
features: BiomedicalFeaturesBiomedical-specific features
training_stats: TrainingStatsTraining and model stats
model_stats: ModelStats§is_trained: boolImplementations§
Source§impl BiomedicalEmbedding
impl BiomedicalEmbedding
Sourcepub fn new(config: BiomedicalEmbeddingConfig) -> Self
pub fn new(config: BiomedicalEmbeddingConfig) -> Self
Create new biomedical embedding model
Sourcepub fn model_type(&self) -> &str
pub fn model_type(&self) -> &str
Get the model type identifier
Sourcepub fn is_trained(&self) -> bool
pub fn is_trained(&self) -> bool
Check if the model has been trained
Sourcepub fn add_gene_disease_association(
&mut self,
gene: &str,
disease: &str,
score: f32,
)
pub fn add_gene_disease_association( &mut self, gene: &str, disease: &str, score: f32, )
Add gene-disease association
Sourcepub fn add_drug_target_interaction(
&mut self,
drug: &str,
target: &str,
affinity: f32,
)
pub fn add_drug_target_interaction( &mut self, drug: &str, target: &str, affinity: f32, )
Add drug-target interaction
Sourcepub fn add_pathway_membership(
&mut self,
entity: &str,
pathway: &str,
score: f32,
)
pub fn add_pathway_membership( &mut self, entity: &str, pathway: &str, score: f32, )
Add pathway membership
Sourcepub fn add_protein_interaction(
&mut self,
protein1: &str,
protein2: &str,
score: f32,
)
pub fn add_protein_interaction( &mut self, protein1: &str, protein2: &str, score: f32, )
Add protein-protein interaction
Sourcepub fn get_typed_entity_embedding(&self, entity: &str) -> Result<Vector>
pub fn get_typed_entity_embedding(&self, entity: &str) -> Result<Vector>
Get entity embedding with biomedical type awareness
Sourcepub fn predict_gene_disease_associations(
&self,
gene: &str,
k: usize,
) -> Result<Vec<(String, f64)>>
pub fn predict_gene_disease_associations( &self, gene: &str, k: usize, ) -> Result<Vec<(String, f64)>>
Predict gene-disease associations
Trait Implementations§
Source§impl Clone for BiomedicalEmbedding
impl Clone for BiomedicalEmbedding
Source§fn clone(&self) -> BiomedicalEmbedding
fn clone(&self) -> BiomedicalEmbedding
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BiomedicalEmbedding
impl Debug for BiomedicalEmbedding
Source§impl<'de> Deserialize<'de> for BiomedicalEmbedding
impl<'de> Deserialize<'de> for BiomedicalEmbedding
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl EmbeddingModel for BiomedicalEmbedding
impl EmbeddingModel for BiomedicalEmbedding
fn config(&self) -> &ModelConfig
fn model_id(&self) -> &Uuid
fn model_type(&self) -> &'static str
fn add_triple(&mut self, triple: Triple) -> Result<()>
fn train<'life0, 'async_trait>(
&'life0 mut self,
epochs: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<TrainingStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_entity_embedding(&self, entity: &str) -> Result<Vector>
fn get_relation_embedding(&self, relation: &str) -> Result<Vector>
fn score_triple( &self, subject: &str, predicate: &str, object: &str, ) -> Result<f64>
fn predict_objects( &self, subject: &str, predicate: &str, k: usize, ) -> Result<Vec<(String, f64)>>
fn predict_subjects( &self, predicate: &str, object: &str, k: usize, ) -> Result<Vec<(String, f64)>>
fn predict_relations( &self, subject: &str, object: &str, k: usize, ) -> Result<Vec<(String, f64)>>
fn get_entities(&self) -> Vec<String>
fn get_relations(&self) -> Vec<String>
fn get_stats(&self) -> ModelStats
fn save(&self, _path: &str) -> Result<()>
fn load(&mut self, _path: &str) -> Result<()>
fn clear(&mut self)
fn is_trained(&self) -> bool
Auto Trait Implementations§
impl Freeze for BiomedicalEmbedding
impl RefUnwindSafe for BiomedicalEmbedding
impl Send for BiomedicalEmbedding
impl Sync for BiomedicalEmbedding
impl Unpin for BiomedicalEmbedding
impl UnwindSafe for BiomedicalEmbedding
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> StrictAs for T
impl<T> StrictAs for T
Source§fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
fn strict_as<Dst>(self) -> Dstwhere
T: StrictCast<Dst>,
Casts the value.
Source§impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
impl<Src, Dst> StrictCastFrom<Src> for Dstwhere
Src: StrictCast<Dst>,
Source§fn strict_cast_from(src: Src) -> Dst
fn strict_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.