Skip to content

cancervariants/disease-normalization

Repository files navigation

Disease Normalizer

image image image Actions status DOI

The Disease Normalizer resolves ambiguous references and descriptions of human diseases to consistently-structured, normalized terms. For concepts extracted from NCIt, Mondo Disease Ontology, The Human Disease Ontology, OMIM, and OncoTree, it designates a CURIE, and provides additional metadata like aliases and cross-references.


Documentation · Installation · API reference


Installation

The Disease Normalizer is available via PyPI:


python3 -m pip install disease-normalizer

See installation instructions in the documentation for a description of installation options and data setup requirements.


Examples

Use the live service to programmatically normalize disease terms, as in the following truncated example:

$ curl -s 'https://normalize.cancervariants.org/disease/normalize?q=liver%20cancer' | python -m json.tool
{
    "query": "liver cancer",
    "warnings": null,
    "match_type": 80,
    "disease": {
        "conceptType": "Disease",
        "primaryCoding": {
            "id": "ncit:C34803",
            "code": "C34803",
            "system": "https://ncit.nci.nih.gov/ncitbrowser/ConceptReport.jsp?dictionary=NCI_Thesaurus&code=",
        },
        "id": "normalize.disease:liver%20cancer",
        "name": "Primary Malignant Liver Neoplasm",
        # ...
    }
}

Or utilize the Python API for fast local access:

>>> from disease.query import QueryHandler
>>> from disease.database import create_db
>>> q = QueryHandler(create_db())
>>> result = q.normalize("NSCLC")
>>> result.disease.primaryCoding.id
'ncit:C2926'

Feedback and contributing

We welcome bug reports, feature requests, and code contributions from users and interested collaborators. The documentation contains guidance for submitting feedback and contributing new code.

Releases

Used by

Contributors

Languages