Ontology
The Ontology
contains all HPOTerm
s and thus reflects the full ontology including links and information about inheritance
Ontology
class
- class pyhpo.ontology.OntologyClass[source]
A linked and indexed list of interconnected
HPOTerm
s.- genes
Set of all genes associated with the HPOTerms
- Type:
set
- omim_diseases
Set of all OMIM-diseases associated with the HPOTerms
- Type:
set
- omim_excluded_diseases
Set of all excluded OMIM-diseases associated with the HPOTerms
- Type:
set
get_hpo_object
- OntologyClass.get_hpo_object(query)[source]
Matches a single HPO term based on its name, synonym or id
- Parameters:
query (str or int) –
str HPO term
Scoliosis
str synonym
Curved spine
str HPO-ID
HP:0002650
int HPO term id
2650
- Returns:
A single matching HPO term instance
- Return type:
- Raises:
RuntimeError – No HPO term is found for the provided query
TypeError – The provided query is an unsupported type and can’t be properly converted
ValueError – The provided HPO ID cannot be converted to the correct integer representation
Example
# Search by ID (int) >>> ontology.get_hpo_object(3) HP:0000003 | Multicystic kidney dysplasia # Search by HPO-ID (string) >>> ontology.get_hpo_object('HP:0000003') HP:0000003 | Multicystic kidney dysplasia # Search by term (string) >>> ontology.get_hpo_object('Multicystic kidney dysplasia') HP:0000003 | Multicystic kidney dysplasia # Search by synonym (string) >>> ontology.get_hpo_object('Multicystic renal dysplasia') HP:0000003 | Multicystic kidney dysplasia
match
path
- OntologyClass.path(query1, query2)[source]
Returns the shortest connection between two HPO terms
- Parameters:
query1 (str or int) – HPO term 1, synonym or HPO-ID (HP:00001) to match HPO term id (Integer based) e.g: Abnormality of the nervous system
query2 (str or int) – HPO term 2, synonym or HPO-ID (HP:00001) to match HPO term id (Integer based) e.g: Abnormality of the nervous system
- Return type:
Tuple
[int
,Tuple
[HPOTerm
,...
],int
,int
]- Returns:
int – Length of path
tuple – Tuple of HPOTerms in the path
int – Number of steps from term-1 to the common parent
int – Number of steps from term-2 to the common parent
search
synonym_match
- OntologyClass.synonym_match(query)[source]
Searches for actual and synonym term matches If a match is found in any term, that one is returned If no actual match is found, the first match with synonyms is considered
- Parameters:
query (str) – Term to search for
- Returns:
A single HPO term instance
- Return type:
synonym_search
to_dataframe
- OntologyClass.to_dataframe()[source]
Creates a Pandas DataFrame from the most important features
Each HPO term is one row, the features are present in columns
- Returns:
The DataFrame of HPO-Terms and their attributes in the following columns
id
str
The HPO Term ID “HP:0000003” (used as index)name
str
The HPO Term name “Multicystic kidney dysplasia”parents
str
Concatenated list of direct parents of HPO terms. Separated by|
children
str
Concatenated list of direct children of HPO terms. Separated by|
ic_omim
float
Information-content (based on associated OMIM diseases)ic_gene
float
Information-content (based on associated genes)dTop_l
int
Maximum distance to root term (viapyhpo.term.longest_path_to_root()
)dTop_s
int
Shortest distance to root term (viapyhpo.term.shortest_path_to_root()
)dBottom
int
Longest graph of children nodes (viapyhpo.term.longest_path_to_bottom()
)genes
str
Concatenated list of associated genes. Separated by|
diseases
str
Concatenated list of associated OMIM diseases. Separated by|
- Return type:
DataFrame