Closed kingmanzhang closed 6 years ago
"HP_0025196 Increased total iron binding capacity@en" is not in term map.
same for "HP_0025020 Elevated prostate-specific antigen level@en". Problem might be the last "@en".
-yes, removing "@en" solves the mapping issue.
For the most part, we have not specified the language of the HPO labels, and probably just a few terms have the @en annotation. We could just remove the annotations from the OWL file or perhaps just programmaticaly delete them in the LOINC code.
For now, we strip "@en" from the key when searching for the hpo term from the hash map. The best way is to address the difference of hp.owl (used for query) and hp.obo (used for generating <name, hpoTerm> map.
Class "Model" builds a <name, HpoTerm> hash map. But it has omissions (e.g. Hypoglycemia is not in the final termMap, though it is a legit HPO term). The reason could be the filters used(?--why ignore terms that had >1 occurrence?). In addition, better use <id, HpoTerm> (?--name is NOT unique in ontology, id IS, at least theoretically).