Skip to main content

IDeRare-Pheno

CI PyPI License Streamlit FastAPI

IDeRare or "Indonesia Exome Rare Disease Variant Discovery Pipeline" is a simple and ready to use variant discovery pipeline to discover rare disease variants from exome sequencing data.

This repository is the first part of IDeRare workflow for phenotype analysis. For complete pipeline for phenotype-genotype analysis, kindly refer to IDeRare Github repository.

Authored by

Ivan William Harsonoa, Yulia Arianib, Beben Benyaminc,d,e, Fadilah Fadilahf,g, Dwi Ari Pujiantob, Cut Nurul Hafifahh

aDoctoral Program in Biomedical Sciences, Faculty of Medicine, Universitas Indonesia, Jakarta, Indonesia.
bDepartment of Medical Biology, Faculty of Medicine, Universitas Indonesia, Jakarta, Indonesia.
cAustralian Centre for Precision Health, University of South Australia, Adelaide, SA, 5000, Australia.
dUniSA Allied Health and Human Performance, University of South Australia, Adelaide, SA, 5000, Australia.
eSouth Australian Health and Medical Research Institute (SAHMRI), University of South Australia, Adelaide, SA, 5000, Australia.
fDepartment of Medical Chemistry, Faculty of Medicine, Universitas Indonesia, Jalan Salemba Raya number 4, Jakarta, 10430, Indonesia.
gBioinformatics Core Facilities - IMERI, Faculty of Medicine, Universitas Indonesia, Jalan Salemba Raya number 6, Jakarta, 10430, Indonesia .
hDepartment of Child Health, Dr. Cipto Mangunkusumo Hospital, Faculty of Medicine, University of Indonesia, Jakarta, Indonesia.

How to Cite

Please kindly cite the main paper titled "IDeRare: a lightweight and extensible open-source phenotype and exome analysis pipeline for germline rare disease diagnosis" available at https://doi.org/10.1093/jamiaopen/ooae052

Example :

Ivan William Harsono, Yulia Ariani, Beben Benyamin, Fadilah Fadilah, Dwi Ari Pujianto, Cut Nurul Hafifah, IDeRare: a lightweight and extensible open-source phenotype and exome analysis pipeline for germline rare disease diagnosis, JAMIA Open, Volume 7, Issue 2, July 2024, ooae052, https://doi.org/10.1093/jamiaopen/ooae052

Quick links

What does it do?

This script is recommended if you would like to do conversion, linkage analysis, similarity scoring, and gene-disease recommendation based on the phenotype data provided at clinical_data.txt. Full feature :

  1. Convert the phenotype data to HPO code (accept mixed SNOMED, LOINC, and HPO code)
  2. Similarity scoring of differential diagnosis
  3. Linkage analysis of differential diagnosis (accept mixed SNOMED, ICD-10, ORPHA, OMIM code), include dendrogram tree visualization.
    • This should help clinician to systematically doing work-up and excluding similar diagnosis together based on the patient's phenotype.
  4. Gene and disease recommendation based on the phenotype data similarity scoring between phenotype and OMIM gene and disease databank.
  5. Linkage analysis of recommended causative gene and disease based on phenotype data (include dendrogram tree visualization).
    • This should help clinician to explore / enrich their differential diagnosis based on the patient's phenotype.
  6. Example of the clinical data provided at Clinical Information Example section

Installation

iderare-pheno requires Python 3.10 or later.

Installing with pip

iderare-pheno is available on PyPI. Just run

pip install iderare-pheno

Installing from source

To install iderare-pheno from source, first clone the repository:

git clone https://github.com/ivanwilliammd/iderare-pheno.git
cd iderare_pheno

Then run

pip install -e .

Importing the library

from iderare_pheno.converter import term2omim, term2orpha, term2hpo, batchconvert
from iderare_pheno.simrec import hpo2omim_similarity, omim_recommendation, hpo2name, omim2name
from iderare_pheno.utils import linkage_dendrogram, list2tsv, generate_yml

As the complete readthedocs.io is being finalized, please kindly refer to this Interactive Playbook Example

Note : for Streamlit implementation, use iderare_pheno.streamlit_utils instead of iderare_pheno.utils, this was done to prevent file to automatically saving and showing dendrogram in Streamlit.

from iderare_pheno.streamlit_utils import linkage_dendrogram, list2tsv, generate_yml

For Python FastAPI implementation and FHIR code extraction / parsing and deploying wsgi app, ensure you have installed the dependencies below:

pip install fastapi uvicorn a2wsgi

Then prepare your passenger wsgi app and main FastAPI app as below:

passenger_wsgi.py

import os
import sys
from a2wsgi import ASGIMiddleware

# Adjust the path to your FastAPI application directory if needed
app_dir = os.path.join(os.path.dirname(__file__), 'app')
sys.path.insert(0, app_dir)

# Import your FastAPI application
from app.main import app  # Assuming your FastAPI app instance is named 'app'

# Application callable for Passenger WSGI
def application(environ, start_response):
    return ASGIMiddleware(app)(environ, start_response)

app/main.py

from fastapi.responses import RedirectResponse
from iderare_pheno.fhir_parser import *

@app.get("/")
async def welcome():
    return RedirectResponse(status_code=302, url="/docs")

@app.get("/health")
async def health() -> Response :
    return {"status_code" : 200, "detail" : "The services is running, try to explore the API from Postman Collection"}

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

Now you could access your http://localhost:8000 and redirected to Swagger to see the documentation of the available FastAPI endpoint. Demo example could be accessed via Postman Collection at here

Team

iderare-pheno is developed and maintained by the author(s), To learn more about who specifically contributed to this codebase, see our contributors page.

License

iderare-pheno license is derived from IDeRare

Metadata

Release files for iderare-pheno 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iderare-pheno 1.0.1
File Size Uploaded
iderare_pheno-1.0.1.tar.gz 10.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for iderare-pheno 1.0.1
File Interpreter ABI Platform
iderare_pheno-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 20.7 MB

Release files / iderare_pheno-1.0.1.tar.gz

Download URL iderare_pheno-1.0.1.tar.gz
Size 10.2 MB
Tags Source
SHA-256 checksum
How to use checksums
1bd30bb9c89afdeb593c61be3bcc2cb1490a6c0a0e1f0bd03734dfa9fddf28e6
BLAKE2b-256 checksum
How to use checksums
7d39422314b60ac39bde05ec42610d41793f6ec8f94b0d5aafba464a58c3f5b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.16

Release files / iderare_pheno-1.0.1-py3-none-any.whl

Download URL iderare_pheno-1.0.1-py3-none-any.whl
Size 10.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ccaf6a1e99c9fd31ee2e8c4d1f1024d8158431ac57c33ee8c88d1aa9c83bd672
BLAKE2b-256 checksum
How to use checksums
b741dbaacddd16eef7f33d63e1ab41748a80af27e7c0d55c86591e0a6ae2b120
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.16

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.6.2

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.2

2 release files

0.3.0

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page