Testing similarity of HPO terms between probands sharing variants in genes.
Similarity of phenotypes in patient groups
This estimates how likely it is for groups of individuals to have similar phenotypes. To estimate this probability, we need three things:
- a way to quantify phenotypic similarity of two individuals. We use the maximum information content of the most informative common ancestor for each pair of HPO terms from two probands.
- a way to quantify similarity across more than two probands. We sum phenotypic similarity scores from all pairs of probands.
- a null distribution of similarity scores for those probands, generated by randomly sampled groups of probands
The P value is calculated as the proportion of simulated scores greater than the observed probands' score.
Install the package with:
pip install hpo_similarity
hpo_similarity --genes genes.json --phenotypes phenotypes.json
--output PATHto send output gene and P-values to a file.
--ontology PATHto use a HPO ontology file other than the default.
--iterations INTEGERto change the number of iterations (default=100000)
You can also explore the HPO graph using the hpo_similarity package within python, for example:
from hpo_similarity import open_ontology graph, alt_ids, obsolete_ids = open_ontology() # find all descendant terms graph.get_descendants('HP:0001249') # get the text for the phenotypic abnormality graph.nodes['HP:0001249']['name']
This code incorporates the following code and datasets: