cancervariants / disease-normalization

Services and guidelines for normalizing disease terms
https://disease-normalizer.readthedocs.io/latest/
MIT License
6 stars 0 forks source link
bioinformatics biomedical-informatics disease-classification precision-medicine python

Disease Normalizer

image image image Actions status

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,
    "normalized_id": "ncit:C34803",
    "disease": {
        "type": "Disease",
        "id": "normalize.disease:liver%20cancer",
        "label": "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.normalized_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.