This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Tool: Free-text to HPO mapping with multilingual input support

The problem If you do rare-disease variant analysis, you already know that phenotype quality is one of the largest single levers on diagnostic yield. Tools like Exomiser, LIRICAL, AMELIE, and Phen2Gene all expect HPO terms as input, and benchmarks have shown that the ranking of the causal gene collapses sharply when the HPO profile is incomplete or noisy (Smedley et al. and others have shown drops from ~74% top-1 to ~3% top-1 when the HPO profile is removed).

But the input clinicians actually write looks nothing like HPO. It looks like: 2-yr-old m, delayed milestones, not yet walking, seizures since 8 mo, microcephaly on exam, poor eye contact, h/o consanguinity Getting from either of those to a clean HPO term list is an actual bottleneck.

Existing tools in this space worth knowing about before you build or pick:

  1. Doc2HPO (Liu et al., 2019): web-based, rule-based with NCBO + MetaMap + ClinPhen ensembling. English only.
  2. ClinPhen (Deisseroth et al., 2019): fast, command-line, designed for clinical notes. English only.
  3. PhenoTagger (Luo et al., 2021): hybrid dictionary + deep learning. English only.
  4. txt2hpo: Python library, dictionary-based with negation detection via spaCy. English only.
  5. PhenoBERT, FastHPOCR: more recent deep-learning approaches. English only.

The common gap: every one of them assumes English input. In a lot of South Asian, European, and Latin American clinical settings, the source text isn't English.

What we built and how it works Our pipeline ("Intelligent Phenotyping" inside Vgen23) does the mapping in three stages:

  1. Language detection and normalization. Input is detected and normalized before mapping. We currently handle clinical text in multiple languages without requiring the user to pre-translate.
  2. Concept extraction with synonym expansion. The mapper is built against the latest HPO release and expands against the synonym layer of HPO.
  3. HPO ID resolution. Every returned term is a valid, current HPO ID; there are no hallucinated IDs.

How to use it (web UI)

  1. Sign in at vgen23.com.
  2. Open a new case and paste your clinical notes into the phenotype field. You can also enter direct HPO IDs or synonyms; all three input types are accepted in the same field.
  3. The mapper returns the structured HPO list, which then flows directly into variant ranking on the same platform.

What it doesn't do (so you know before you try it)

  1. No batch input. One case at a time through the UI.
  2. No public API yet. Web UI only.

What I'd like feedback on

  1. If you map phenotype text to HPO as part of your pipeline today, what tool or method are you using, and what breaks most often?
  2. For those of you working with non-English clinical notes, how are you handling the language step right now? Manual translation? An LLM pass? Something else?

Happy to answer any technical questions about the implementation in the comments. Not looking for endorsements, just honest engineering pushback.

variant bioinformatics hpo interpretation

0 answers

No answers yet.

Log in to answer this question.