Skip to content

CHARMomics is part of the BDF CHARM Toolbox for the ARPA-H award. The project provides gene/variant/transcript annotations via a RESTful endpoint and automated, configurable data sources. Developed by the UAB Center for Computational Genomics and Data Science (CGDS).

License

Notifications You must be signed in to change notification settings

CHARM-BDF/charmomics

Repository files navigation

CHARMomics

This project is part of the CHARM toolset being developed for the ARPA-H grant. CHARMomics provides RESTful variant/gene intake and gathers relevant annotations via an automated and configurable service that uses publicly available data sources.

Getting Started

Prerequisites

The following prerequsities are required to be installed in the target *NIX environment for deploying and testing CHARMomics. Install the envrionment dependencies below using their respective installation instructions for your target envrionemnt.

  • Python 3.11+ - Install
    • pip3 to install the required packages for development within a virtual environment.
    • python venv Some system installations of Python 3+ do not include python virtual environments that were added in Python 3.3+. Additional installation and setup may be necessary if using Python packaged with an OS (such as Ubuntu).
  • Git
    • Setup with your favorite git client. Here is a GitHub Guide for different platforms.
  • Docker 17.12.0+ with docker-compose CLI or docker compose from Docker Desktop - Install
    • Docker Compose is used for local deployments of the application. The docker-compose tool is fully integrated within the Docker Desktop suite now. For new users of Docker it is easier to get started with Docker Desktop. From the official Docker documentation, "[docker compose] is expected to be a drop-in replacement for docker-compose".
    • Installing and running Docker requires sudo/admin privileges in the target environment

Browser Support

Chrome Firefox
64+ 86+

Local Development Setup

Clone the Git repository from GitHub locally.

Clone Repository

git clone https://github.com/uab-cgds-worthey/charmomics
cd charmomics

Environment Setup

setup.sh provisions your local environment for developing CHARMomics. The script will:

  • Updates your local /etc/hosts to support the local DNS redirect of localhost to 'local.charmomics.cgds'.
  • Creates a Python virtual environment for called "charmomics_env" within the backend directory
  • Installs Python dependencies within the virtual environment
  • Checks if mkcert is installed, if so generates self-signed certificates in ./etc/certificates
    • Generates two files, one .pem key file and one .pem cert file
./setup.sh

Deployment and Usage

Deploying With Docker Compose

Deploy CHARMomics from the project's root directory using docker compose in your terminal. Be sure that./setup.sh has been run recently for any recent dependency updates to be installed in all of the subdirectories.

After following one the deployment commands in the below in the terminal,

# deploy CHARMomics services within this session
docker compose up

# deploy services in the background using the `-d` option
docker compose up --build -d

# force docker images to re-build using the `--build` option
docker compose up --build

Accessing A Locally Deployed CHARMomics

To access the locally deployed CHARMomics application after running docker compose up, visit the https://local.charmomics.cgds/charmomics/api/heart-beat URL in your browser to ensure the endpoints are working properly.

Static Analysis

We use linting tools for JavaScript, Python, Docker, Markdown, and Shell scripts for static analysis.

To see the commands and how to run linting, refer to Linting and Static Analysis in the Contributing Guidelines.


Contributing

We welcome contributions! See the docs for guidelines.

About

CHARMomics is part of the BDF CHARM Toolbox for the ARPA-H award. The project provides gene/variant/transcript annotations via a RESTful endpoint and automated, configurable data sources. Developed by the UAB Center for Computational Genomics and Data Science (CGDS).

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages