Skip to content

Latest commit

 

History

History
executable file
·
55 lines (45 loc) · 2.15 KB

README.md

File metadata and controls

executable file
·
55 lines (45 loc) · 2.15 KB

Build Status

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

Install the package with:

pip install hpo_similarity
Run
hpo_similarity --genes genes.json --phenotypes phenotypes.json

The data directory on github includes example files, one with proband IDs per gene (data/example_genes.json), and the other with HPO terms per proband (data/example_phenotypes.json).

Additional options:

  • --output PATH to send output gene and P-values to a file.
  • --ontology PATH to use a HPO ontology file other than the default.
  • --iterations INTEGER to 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']
Acknowledgments

This code incorporates the following code and datasets: