Skip to main content

Shiny-for-Python app for exploring ClinVar distributions across CADD score thresholds

Project description

CADD Threshold APP

A Shiny-for-Python web application to explore and compare distributions of ClinVar variants across different CADD PHRED-score thresholds, filter by gene lists or panels, and export per-gene/per-panel or filtered annotation summaries. The app is primarily intended for investigating the score distribution of known pathogenic and bening variants for different CADD PHRED-score thresholds.

This README explains the repository layout, how to run the app locally (pip/conda).

Highlights

  • Interactive visualizations of CADD PHRED-score distributions
  • Compare distributions across CADD/ClinVar versions and genome builds
  • Per-gene filtering (paste a list or upload a file) and exportable summaries
  • Per-panel filtering using panels from PanelApp and exportable summaries

Requirements

  • Python 3.10+ (3.12 recommended)
  • See requirements.txt or environment.yml for full dependencies
  • Docker (optional) — a Dockerfile is included for containerized runs

Installation

Using pip

git clone https://github.com/kircherlab/CADD_threshold_app.git
cd CADD_threshold_app
pip install -r requirements.txt

Install as package (editable, recommended for development)

pip install -e .

Using Conda

conda env create -f environment.yml -n CADD_threshold_app
conda activate CADD_threshold_app

Run the app locally

Option A: run via the package entry point

This requires installing the project as a package (e.g. pip install -e .).

cadd-threshold-app

Option B: run from the repository root

python -m shiny run cadd_threshold_app.app:app

Then open http://localhost:8080 in your browser.

Data overview

  • data/ - contains preprocessed tables, panel summaries and metrics used by the app.
    • paneldata/ - CSVs summarizing panels and versions used by the UI
    • panel_metrics/ - generated metrics stored by date/version

Notes:

Key files and modules

  • app.py - Shiny app entrypoint and UI wiring
  • server_logic.py - main server-side reactive logic and handlers
  • data_loader.py - helpers to load and preprocess annotation tables
  • ui_components.py - UI
  • modules/ - plotting helpers, utilities and gene-list/panel parsing helpers
    • basic_plot.py, basic_bar_plot.py, compare_basic_plot.py - plotting factories
    • functions_server_helpers.py, read_genes_from_list_or_file_functions.py - utilities
    • panelapp/ - scripts to interact with PanelApp (CSV generation, comparison)

Development notes

  • To extend plots: add a factory under modules/ and register it in server logic
  • To add data sources: update data_loader.py and ensure column names match the plotting/metric code paths
  • Linting/tests: None included by default. Add unit tests for critical data parsing when making larger refactors.

Docker

  • The included Dockerfile builds a minimal image running the app on port 8080.

License & contact

  • See LICENSE for licensing terms.
  • For questions about data sources, interpretation, or contributions, contact the repository maintainers or open an issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cadd_threshold_app-0.0.0.tar.gz (33.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cadd_threshold_app-0.0.0-py3-none-any.whl (41.9 kB view details)

Uploaded Python 3

File details

Details for the file cadd_threshold_app-0.0.0.tar.gz.

File metadata

  • Download URL: cadd_threshold_app-0.0.0.tar.gz
  • Upload date:
  • Size: 33.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cadd_threshold_app-0.0.0.tar.gz
Algorithm Hash digest
SHA256 3dee6403a6e8c7f245133dd9de8b04dbb1b0ed89becd5d9332a852b0d82e57d6
MD5 bf11b10bd179c41f432317549f7ff186
BLAKE2b-256 41a812575357686be5c768c90d525a14180dd4ab75a249e6d10b30be124dc500

See more details on using hashes here.

File details

Details for the file cadd_threshold_app-0.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cadd_threshold_app-0.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01bcaf8b5766c1c58a2c1a7791d16b215d92faaa4af02c36bb66e9e257ed781a
MD5 ef8838a4f5c6cede9f23106d735c91a1
BLAKE2b-256 f5337a5b322927352cb81c88c3747d3ec2183d391fdc0c820d630d3571b44711

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page