-
Notifications
You must be signed in to change notification settings - Fork 0
HPO2Vec
HPO2Vec+ learns dense vector embeddings for every HPO term and disease by training Word2Vec on IC-weighted random walks over a combined ontology and disease graph. Patient and disease profiles are each collapsed into a single embedding vector via IC-weighted averaging, and similarity is the cosine of the angle between them.
Build graph → Generate IC-weighted walks → Train Word2Vec → Embed term sets → Cosine similarity
A single graph is built from two edge types:
-
IS-A edges (from
hpo_parents.json): connect child HPO terms to their parents, bidirectionally. Allows walks to traverse up and down the ontology hierarchy. -
HAS-PHENOTYPE edges (from
disease_profiles.json): connect each disease to its raw HPO terms, bidirectionally. Allows walks to hop from a disease into its phenotypes and then up the hierarchy.
Raw HPO terms (not propagated) are used for HAS-PHENOTYPE edges because IS-A edges already capture the hierarchy — adding propagated terms would create redundant edges.
Walks are biased using Information Content and two structural parameters:
For each step from current to a neighbour:
weight = IC(neighbour) × bias
Where bias depends on the walk history:
Trained Word2Vec models are saved to model_cache/ so they don't need to be retrained on every run. The cache is keyed on the training configuration. Delete the cache to force retraining.
Getting Started
Web Interface (Frontend)
Project Overview
Similarity Methods
Validation Tools
Evaluate RareSim methods
- Evaluation Workflow Overview
- Batch Runners and Shared Utilities
- Evaluation Cache Format
- Evaluator and Metrics
- Adding a New Evaluation Method
Ontology Scripts
Datasets
TODO
Shared Artifact Generation
- Shared Artifact Overview
- Raw Sources and Ontology Loading
- Disease ID Normalization and Mapping
- Disease Profile Construction
- Artifact File Reference and Runtime Loading
- Full Artifact Workflow