/gpad

Genotype-Phenotype Association Discovery: An ML tool to search and visualize Mendelian disease gene discovery information & trend.

Primary LanguagePythonMIT LicenseMIT

Gene-Phenotype Association Discovery (GPAD) πŸ§¬πŸ”

An interactive web-based tool for analyzing, interrogating, and visualizing the gene-disease association on Online Mendelian Inheritance in Man (OMIM).

Explore GPAD on any modern internet browser! Whether you're on a PC, tablet, or mobile phone, our platform is optimized for your convenience.

πŸ“œ Read the paper!

Rahit, K.M.T.H., Avramovic, V., Chong, J.X. et al. GPAD: a natural language processing-based application to extract the gene-disease association discovery information from OMIM. BMC Bioinformatics 25, 84 (2024). https://doi.org/10.1186/s12859-024-05693-x

The paper presents the technical details with the analysis done on the GPAD extracted data.

πŸ›  Installation

GPAD installation

https://youtu.be/96RzCY-91Is?si=Xd8EDn9u91MyLJEg

▢️ Watch the video above for a visual guide on setting up GPAD based on the bellow steps.

Prerequisites

  • OMIM API key: Request yours from the OMIM team here.
  • Docker: GPAD runs in Docker containers, ensuring a consistent and isolated environment across different machines. Download Docker if you haven't already. It's a powerful tool that packages applications and their dependencies into a single container that can run anywhere, streamlining deployment and testing.

Steps to Get Started:

  1. Clone the Repository
    • Use the command: git clone git@github.com:MTG-Lab/gpad.git
  2. Go to the Directory
    • Navigate to the directory: cd gpad
  3. Environment Setup
    • Create a .env file using our example.env as a template.
    • Replace values in the .env file with your own. You do not have to change the MONGO_URI if you are using docker.
  4. Build and Run with Docker
    • Execute: docker compose up -d (use sudo if necessary/running on Linux)

πŸš€ Post-setup, access the application at http://localhost:3001. Initially, you'll be greeted with a blank page as there's no data yet.

Populating Data

GPAD leverages the OMIM API for textual data, which is then processed to extract relevant information. This is a breeze with just one command:

docker exec -it gpad_api python -m api.gpad omim

(Use sudo if necessary/running on Linux) ⏳ The data population depends on your internet speed. Be patient!

πŸ“Œ Important Note

OMIM API limits 250 requests per day. Because of that all associations/entries from OMIM will not be processed in a single day. Therefore, you might need to run the above command multiple times. However, it will not process the data that is already processed. It will start from where it left off.

πŸ”Ž Once complete, you'll see the data come to life in the application!

🌟 Enjoy exploring GPAD!


πŸ› Bugs and ❗issues

If you face issues, we kindly request you to submit a issue here. This will allow us to gather more information about the user’s specific system, environment and setup, enabling us to diagnose and resolve the problem effectively.