Skip to main content
BMC Bioinformatics logoLink to BMC Bioinformatics
. 2026 Sep 24;27:224. doi: 10.1186/s12859-026-06675-x

CADD-ThresholdApp: an interactive web application for calibrating CADD scores using ClinVar

Cora Leifheit 1, Martin Kircher 1,2, Max Schubach 1,✉
PMCID: PMC13617862  PMID: 42806297

Abstract

Background

The Combined Annotation Dependent Depletion (CADD) score is one of the most widely used genome-wide variant deleteriousness scores. In practice, however, the distribution of CADD scores differs across genes and gene sets and may also vary between genome builds and CADD releases, complicating the choice of a single threshold for prioritizing potentially pathogenic variants in routine diagnostics.

Results

We present CADD-ThresholdApp, an interactive web application that supports threshold selection by visualizing CADD-score distributions of clinically classified variants from ClinVar and by reporting threshold-dependent performance metrics. The app enables comparisons across genome releases (GRCh37/GRCh38) and CADD versions (v1.6/v1.7), supports user-defined genes and gene lists, as well as curated gene panels from PanelApp. CADD-ThresholdApp is implemented in a modular, extensible framework and can be adapted to additional variant resources and deleteriousness scores. The app is available as a hosted web application at https://cadd-threshold.kircherlab.bihealth.org/ and can be installed locally via container, PyPI, Bioconda, or from source.

Conclusions

Overall, CADD-ThresholdApp provides a practical and transparent framework for context-specific threshold calibration to support more informed variant interpretation in research and diagnostics.

Keywords: Variant prioritization, CADD score, ClinVar, Gene panels, Visualization, Rare diseases, Web application

Background

Human genome sequencing has become a standard practice in genetic diagnostics [1]. Sequencing an individual genome identifies many variants, making it essential to distinguish potentially causal (pathogenic) from neutral variants during clinical interpretation. To support variant prioritization, tools such as Combined Annotation Dependent Depletion (CADD) [2] are widely used. CADD assigns deleteriousness scores using a linear model and provides PHRED-like scaled scores to enable comparison across approximately 9 billion potential single nucleotide variants. Universal CADD cutoffs for including or excluding candidate variants are generally not recommended, because optimal thresholds depend on factors such as gene, variant consequence, and study design [3]. In practice, however, thresholds are widely used [4], and scores may be recalibrated [5, 6] or retrained [7] for specific (clinically relevant) gene sets.

Existing resources address related but distinct needs. Tools such as VEPerform [8] allow gene-level evaluation of variant effect predictors using precision–recall-based summary statistics, but focus on comparing predictors for a fixed evidence threshold rather than allowing interactive exploration of user-defined cutoffs across the full score range. Decision-support systems such as the ClinGen Pathogenicity Calculator, InterVar, or CardioClassifier [8–10] operationalize ACMG/AMP evidence codes [11] and treat computational scores as one fixed evidentiary input among several, rather than exposing the underlying score distributions and threshold trade-offs to the user. Recalibration and retraining studies typically report a single optimized threshold or model for a specific gene or region [5–7], rather than providing an interactive tool that lets users choose and immediately evaluate their own thresholds.

We present CADD-ThresholdApp, an interactive web application that enables users to explore how clinically classified variants are distributed across CADD PHRED scores and to evaluate threshold-dependent performance metrics. CADD-ThresholdApp differs from all of the resources above by providing an interactive and directly comparable threshold-calibration framework across genome builds, CADD releases, and user-defined gene subsets, without requiring a fixed evidentiary framework or model retraining. The data underlying the app were generated from Clinical Variation (ClinVar) database variants [12] scored with CADD. The app allows users to (i) explore precomputed metrics across the full range of PHRED scores within classified ClinVar variants, (ii) compare genome releases (GRCh37 and GRCh38) and CADD versions (v1.6 and v1.7), and (iii) compute metrics for selected genes and gene panels, including predefined panels from PanelApp [13]. By visualizing pathogenic and benign variant distributions across thresholds, the tool helps researchers and clinicians select cutoffs tailored to their analyses, including explicit consideration of false-negative rates.

Implementation

Data acquisition

Variants with known clinical classifications were retrieved from ClinVar [12] (download date April 22, 2026). To focus on high-quality and reliable entries, variants were filtered by review status, retaining only those with at least two stars (“criteria provided, multiple submitters, no conflicts”, “reviewed by expert panel”, or “practice guideline”). Variants were further restricted to those with clinical significance containing “benign”, “likely benign”, “pathogenic”, or “likely pathogenic”, and were then stratified by genome release (GRCh37 and GRCh38). For visualization by clinical significance, entries containing both “benign” and “likely benign” or both “pathogenic” and “likely pathogenic” were assigned to “likely benign” or “likely pathogenic”, respectively. For metric calculation, clinical significance was binarized into two classes: positive = {“pathogenic”, “likely pathogenic”} and negative = {“benign”, “likely benign”}.

Filtered variants were scored using CADD v1.6 and v1.7 via the CADD website [14]. PHRED-scaled scores as well as CADD annotations were retained and merged with corresponding ClinVar annotations to create a unified table containing clinical classifications, CADD PHRED scores, and variant metadata.

To summarize threshold-dependent performance, multiple metrics were calculated across PHRED cutoffs by comparing CADD PHRED scores with the binarized ClinVar labels. These metrics included true negatives, false positives, false negatives, true positives, precision, recall, F1 score, F2 score, support, accuracy, balanced accuracy, false positive rate, and specificity. For each threshold T, variants with CADD PHRED ≥ T were classified as positive predictions and variants with CADD PHRED < T as negative predictions. The full workflow, implemented in Snakemake [15], is documented in the accompanying GitHub repository [16], enabling users to reproduce the analysis and, if desired, process their own datasets. Figure 1 provides an overview of the data acquisition process and its integration with the CADD-Threshold App.

Fig. 1.

The image outlines the data processing pipeline for the CADD-Threshold App. ClinVar variants are first preprocessed and scored using CADD, generating CADD scores and annotations. These are combined with ClinVar annotations to create a unified variant table. Using these annotated data, general and panel-specific metrics are calculated, with panel data derived from the PanelApp API, forming three core datasets: one with variant annotations, one with general metrics, and another with panel-specific metrics.User inputs, including gene lists or panels, feed into the app, which offers four analysis options: comparing panel metrics, comparing different versions or genome builds, calculating metrics for specific genes, and analyzing gene panels. Results are presented through interactive plots, tables, and downloadable CSV files. Optionally, users can replace the default packaged data with a custom prepared data directory, which is directly integrated into the app workflow.

Overview of the processing pipeline and the CADD-Threshold App. ClinVar and PanelApp data are collected and curated to derive summary metrics and variant annotations from ClinVar and CADD. Within the app, users can explore precomputed analyses (global threshold and version/genome comparisons) or conduct custom analyses using user-defined gene lists or selected panels. Users may also optionally supply a directory containing a prepared custom dataset, which replaces the packaged data source. All analysis paths result in interactive visualizations, tables, exportable summaries, and the support indicator

Customized data

To reproduce our results or analyze user-provided datasets, we provide the above-mentioned Snakemake workflow. As input, users supply a variant table containing chromosome (CHROM), position (POS), reference allele (REF), and alternate allele (ALT). For performance evaluation, the table must also contain a clinical significance column encoded as a binary class representing positive and negative variants, for example benign and pathogenic.

In the first step, the preprocessing workflow sorts variants by chromosome and position and formats them for CADD scoring, splitting the dataset into multiple Variant Call Format (VCF) files of up to 100,000 variants each, which is the maximum number of variants supported per CADD website upload. If additional filtering is required beforehand, for example restricting ClinVar data to two-star entries [12], users can perform this step using the recommended commands provided in the README. In general, the input file is expected to already be filtered according to the intended use case.

The resulting VCF files can then be uploaded to the CADD websites ([14] or [17]) or scored locally using CADD-scripts [18] to obtain PHRED-scaled scores. The score files are then downloaded and stored in the workflow project directory. In the second step, running the all_metrics workflow merges the CADD-scored output with the original variant table and computes the evaluation metrics by comparing CADD PHRED scores with the provided clinical significance labels. These metrics, together with the associated variant distributions, can then be displayed in CADD-ThresholdApp using the combined table from CADD and the input dataset (e.g., ClinVar).

Web application

The CADD-ThresholdApp is implemented using Shiny for Python and can be accessed via our website [19] or installed locally via container, PyPI, Bioconda, or from source [20]. When the project is installed as a package, the underlying data must be downloaded separately [21], and the corresponding data path must be specified during start (cadd-threshold-app --data /path/to/data). The data are versioned separately from the source code to decouple updates of ClinVar and CADD versions from the core panel app and to provide transparency.

The CADD-ThresholdApp web interface is organized into tabs corresponding to three main functionalities (see Fig. 2):

Fig. 2.

The image presents an overview of a web application with five main functional areas: A navigation bar links to all app sections; a Metrics Controls panel allows users to select a genome release and CADD version, choose performance metrics to display, including false positives, true positives, false negatives, and true negatives, and set a threshold range for visualization; a Comparison Controls panel lets users select a metric to compare, choose multiple genome releases and CADD versions for comparison, and adjust the threshold range; a Gene Inputs panel enables users to select a genome release and CADD version, enter or upload a list of genes, and generate gene-specific threshold-dependent metrics; and a Panel Inputs panel allows selection of a genome release, CADD version, and a gene panel from PanelApp, with a button to generate panel-specific threshold-dependent metrics.

Overview of the web application functionalities. A Navigation bar linking to all app functionalities. B Comparing Metrics tab, where users can select a genome release and CADD version, choose performance metrics to display and define the threshold range for visualization. C Comparing Versions and Genome Releases tab, where users can select different genome releases and CADD versions to compare with a selected metric. D Calculation for specific Genes tab, where users can enter or upload a list of genes and choose a genome release and CADD version to compute gene-specific threshold-dependent metrics when pressing the ‘Generate Metrics’ button. E Gene Panels tab, where users can choose a gene panel (from PanelApp) and choose a genome release and CADD version to compute panel-specific threshold-dependent metrics when pressing the ‘Generate Metrics’ button

Exploring metrics across thresholds

Precomputed performance metrics are displayed across CADD PHRED thresholds from 0 to 100, allowing users to interactively inspect how each metric changes by increasing the threshold (see Fig. 3A). Users can select which metrics to display and adjust the threshold range. False negatives, false positives, true negatives, and true positives are shown as absolute values, whereas the remaining metrics are displayed as relative values. In addition, the app shows variant distributions across thresholds in steps of ten (see Fig. 3B) and one (see Fig. 3C), as well as the distribution of pathogenic variants across thresholds together with their consequences from the CADD annotations (e.g., missense, stop-gain, synonymous). For the step size of one, the threshold range can be adjusted for detailed inspection.

Fig. 3.

Panel A shows how various performance metrics and counts of true negatives, false positives, false negatives, and true positives change as the PHRED score threshold increases from 0 to 40. True negatives start higher and increase until a threshold of about 25, after which they stay constant. False negatives increase starting at a threshold of about 20, and false positives decrease until a threshold of about 25, while true positives start decreasing at a threshold of 20. Panel B presents the number of ClinVar variants grouped by clinical classification - benign, likely benign, likely pathogenic, and pathogenic - across PHRED score ranges in increments of 10 from 0 to 50. The highest variant counts occur in the 0 to 10 range, mostly benign and likely benign, with pathogenic and likely pathogenic variants increasing in higher score ranges. Panel C shows a more detailed distribution of ClinVar variants by clinical classification for PHRED scores from 15 to 30 in increments of 1. Variant counts fluctuate across scores, with benign and likely benign variants generally more numerous at lower scores, and pathogenic and likely pathogenic variants more frequent at higher scores within this range.

Variant distribution and performance metrics across CADD PHRED score thresholds in CADD-ThresholdApp. Panels show ClinVar variants downloaded on 22 April 2026, restricted to entries with review status ≥ two stars and clinical significance in {benign, likely benign, pathogenic, likely pathogenic} after binarization into positive and negative classes. A Threshold-dependent metrics (true negatives, false positives, false negatives, true positives, recall, specificity, false positive rate, accuracy, balanced accuracy, F1-score, F2-score and precision) for GRCh38, CADD v1.7, from PHRED 0 to 40. B Distribution of ClinVar variants for GRCh38, CADD v1.7, from PHRED 0 to 40 in steps of 10. C Distribution of ClinVar variants for GRCh38, CADD v1.7, from PHRED 0 to 40 in steps of 1

Comparing genome releases and CADD versions

Users can compare results between the human genome reference releases GRCh37 and GRCh38, as well as between different CADD versions (v1.6 and v1.7), using selected metrics (see Fig. 4A). This enables assessment of how genome release or model version affects threshold behavior.

Fig. 4.

The image presents four panels analyzing variant distribution and performance metrics related to CADD PHRED score thresholds. Panel A compares false negatives across genome releases GRCh37 and GRCh38 combined with CADD versions 1.6 and 1.7, showing that the number of false negatives increases steadily from PHRED score 0 to 40 for all combinations, with similar trends among them. Panel B focuses on ClinVar variants of a single gene (ZEB2) using GRCh38 and CADD v1.7, showing balanced accuracy rising from 0.5 at PHRED 0 to a peak near 0.95 around PHRED 25, then declining to about 0.6 at PHRED 40. False negatives remain at zero until about PHRED 20, then increase sharply to approximately 42 by PHRED 40. Panel C shows multiple threshold-dependent metrics for eight genes in the inherited breast and ovarian cancer panel using GRCh38 and CADD v1.7. Precision, recall, F1 score, F2 score, accuracy, and balanced accuracy vary with PHRED threshold. The balanced accuracy peaks near PHRED 15. Panel D displays the number of variants per gene in the inherited breast and ovarian cancer panel, categorized by clinical significance: pathogenic, likely pathogenic, likely benign, and benign. BRCA2 has the highest total number of variants at 6243, with a majority classified as benign or likely benign. Other genes like BRCA1, ATM, PALB2, BARD1, CHEK2, RAD51C, and RAD51D show varying counts and distributions across these clinical categories.

Variant distribution and performance metrics across CADD PHRED score thresholds in CADD-ThresholdApp. Panel A shows all retrieved variants from ClinVar (see underlying data). Panel B shows only ClinVar variants of the gene ZEB2. Lower panels (C and D) show only ClinVar variants of genes within the panel “Inherited breast cancer and ovarian cancer” taken from the PanelApp. A Comparison of false negatives for GRCh37 and GRCh38 in combination with CADD v1.6 and CADD v1.7, from PHRED 0 to 40. B Threshold-dependent metrics (false negatives and balanced accuracy) for GRCh38, CADD v1.7, from PHRED 0 to 40 of ClinVar variants within a gene subset (n = 1). C Threshold-dependent metrics, CADD v1.7-GRCh38, from PHRED 0 to 40, of ClinVar variants within a gene subset (n = 8). D Number of variants per gene in the panel “Inherited breast cancer and ovarian cancer”, stratified into “benign”, “likely benign”, “pathogenic”, and “likely pathogenic” by clinical significance (CADD v1.7-GRCh38)

Computing gene- and panel-specific metrics

Users can restrict analyses to variants associated with selected genes based on CADD gene annotations, and the app recomputes threshold-dependent metrics on this subset (see Fig. 4B). The resulting metrics are displayed together with a summary table listing the selected genes and additional metadata, which can be downloaded for further inspection. For each gene, the app also reports the number of variants available in the database, stratified into “benign”, “likely benign”, “pathogenic”, and “likely pathogenic”.

Similarly, users can analyze predefined gene panels from PanelApp (accessed May 4th, 2026). For a selected panel, the app indicates which genes are present in the database and which are missing and then provides the same metric summaries as in the gene-based workflow (see Fig. 4C and D). These functions help users understand threshold distributions for the specific gene subsets used in their analyses and support more tailored threshold selection for specific diseases.

Statistical robustness of gene- and panel-specific metrics

To assess the stability of gene- and panel-specific analyses at low variant counts, we performed a bootstrap subsampling analysis using genes with large numbers of ClinVar variants. Pathogenic and benign variants were analyzed separately for each genome build (GRCh37 and GRCh38) and CADD version (v1.6 and v1.7). For each stratum, we selected genes with at least 200 variants and treated the corresponding gene-specific CADD PHRED score distributions as reference distributions. If more than 100 genes met this criterion in a given stratum, we randomly selected 100 eligible genes for analysis; otherwise, all eligible genes were analyzed.

For each gene, we repeatedly generated smaller subsamples across a range of sample sizes, estimated bootstrap confidence intervals for the mean and standard deviation of the CADD PHRED scores, and quantified, for each subsample size n, the fraction of genes for which the bootstrap confidence intervals for both mean and standard deviation contained the corresponding full gene-specific values in at least 90% of repeated subsamples. From these aggregated coverage curves, we defined sample-size thresholds n25, n50, and n75 as the smallest sample sizes at which at least 25%, 50%, and 75% of eligible genes, respectively, met this 0.90 coverage criterion. These thresholds are used to classify sample sizes underlying gene- and panel-specific metrics into “low”, “moderate”, or “good” support categories.

Results

The initial ClinVar dataset comprised 8,920,416 variant entries. After filtering, 758,130 entries remained, of which 379,015 mapped to GRCh37, 378,983 to GRCh38, and 132 were discarded because the genome release could not be unambiguously determined. After scoring the variants with CADD v1.6, 377,966 variants were left for GRCh37 and 377,835 variants for GRCh38. Scoring the variants with CADD v1.7, left 377,965 variants for GRCh37 and 377,834 variants for GRCh38. This included variants from 11,793 to 13,018 genes (GRCh37 CADD v1.6: 12,844; GRCh37 CADD v1.7: 12,863; GRCh38 CADD v1.6: 13,018; GRCh38 CADD v1.7: 11,793). For the differences in the number of genes, please note that CADD GRCh37 releases use Ensembl release 75, whereas GRCh38 CADD v1.6 uses Ensembl release 95 and CADD v1.7 uses Ensembl release 110, respectively.

CADD-ThresholdApp supports four main types of use-cases. In most examples shown here, we used GRCh38 together with CADD v1.7 for better comparison.

First, the app allows inspection of the full dataset to evaluate how the number of false negatives varies across CADD PHRED thresholds. We prioritize false negatives to minimize the risk of missing potentially deleterious variants. In our dataset, the number of false negatives remains relatively stable up to a threshold of 20 (from 227 to 4,994 variants) but then increases rapidly between thresholds 20 and 40 (from 6,339 to 86,023 variants) after which they begin to plateau (see Fig. 3A). This pattern illustrates how CADD-ThresholdApp can be used to identify a reasonable general threshold (around 20 in our dataset) and, importantly, confirms that the app reproduces previously reported behavior of CADD scores in ClinVar-derived data [22]. Consistent with this observation, the distribution plots show that the number of pathogenic variants also increases from a threshold of around 20 onward (see Fig. 3B and C).

Second, the app allows comparison of different genome releases and CADD versions. We compared false negatives for GRCh37 and GRCh38 in combination with CADD v1.6 and v1.7. Overall, the results were very similar (see Fig. 4A). These comparisons demonstrate that CADD-ThresholdApp recapitulates the expected similarity of CADD performance across GRCh37 and GRCh38. In this sense, the genome-build and version comparisons serve as validation examples for the app rather than novel findings about CADD itself. Furthermore, the latest CADD version (v1.7) does not show an improved performance compared to version 1.6 when using this specific ClinVar dataset as benchmark. However, the CADD authors were able to show that there are indeed differences between the versions when using other datasets [2].

Third, the app can be used for gene-specific analyses, which are particularly relevant when only variants in selected genes are of interest. In such cases, threshold behavior observed in the full dataset may not accurately reflect the characteristics of the subset used in the specific use-case. As an example, we examined ZEB2, a gene associated with Mowat-Wilson syndrome. For this gene, pathogenic and benign classes are imbalanced (52 vs. 128), therefore the balanced accuracy helps to interpret the gene better. Balanced accuracy was highest at thresholds 28 and 29 (0.97), with only 2 false negatives (see Fig. 4B). This suggests that for ZEB2 a higher threshold may be appropriate than the one chosen based on the full dataset.

Fourth, to make it easier to analyze and view already established and generally larger gene sets associated with specific diseases, users can choose panels from PanelApp and view the corresponding metrics. Here, we analyze the panel “Inherited breast cancer and ovarian cancer”. The panel contains 8 genes (BRCA1, BRCA2, ATM, PALB2, BARD1, CHEK2, RAD51C, and RAD51D) with 19,132 variants in total (see Fig. 4D). This bar chart clearly indicates that the three genes BRCA2, BRCA1, and ATM contribute to most of the variants. Therefore, the other five genes are underrepresented in all metrics (see Fig. 4C). If necessary, the user can recompute the metrics based on a subset of the panel for comparison. For this specific panel false negatives increase after a threshold of 15, which differs from the overall ClinVar dataset where we see the increase from threshold 20 onwards (compare with Fig. 3A). This suggests that a lower threshold might be suitable for breast and ovarian cancer diagnostics.

The resulting bootstrap-derived thresholds for each genome build, CADD version, and variant class are summarized in Table 1. In general, the bootstrap analysis suggested similar thresholds across pathogenic and benign variants, genome releases, and CADD versions. with Inline graphic typically around 30–50, Inline graphicaround 40–60, and Inline graphicaround 70–90 variants.

Table 1.

Bootstrap-derived support thresholds for gene-level CADD PHRED summaries across genome builds, CADD versions, and variant classes

Variant class Genome build CADD version Eligible genes Inline graphic Inline graphic Inline graphic
Pathogenic GRCh37 v1.6 69 50 50 70
Pathogenic GRCh37 v1.7 69 40 50 80
Pathogenic GRCh38 v1.6 68 30 50 70
Pathogenic GRCh38 v1.7 69 40 60 80
Benign GRCh37 v1.6 201 30 40 70
Benign GRCh37 v1.7 205 30 50 80
Benign GRCh38 v1.6 200 30 50 90
Benign GRCh38 v1.7 201 30 50 70

For each combination of genome build (GRCh37/GRCh38), CADD version (v1.6/v1.7), and variant class (pathogenic/benign), we selected genes with at least 200 variants and performed a bootstrap subsampling analysis to quantify the stability of gene-specific CADD PHRED score distributions. When more than 100 genes satisfied this minimum-count criterion, a random subset of 100 eligible genes was analyzed; otherwise, all eligible genes were included. Thresholds Inline graphic, Inline graphic, and Inline graphic denote the smallest subsample sizes at which at least 25%, 50%, and 75% of eligible genes, respectively, achieved a coverage rate of at least 0.90 for both the mean and standard deviation relative to the corresponding full gene-specific distribution. These thresholds are used in CADD-ThresholdApp to classify the sample sizes underlying gene- and panel-specific metrics into “Low support”, “Moderate support”, and “Good support” categories

Discussion

With the described functionality, the CADD-ThresholdApp supports selection and justification of CADD PHRED cutoffs by visualizing score distributions and reporting threshold-dependent performance metrics, including explicit false-negative behavior, for the full dataset as well as gene- and panel-restricted subsets. This enables comparison of threshold behavior across GRCh37/GRCh38 and CADD releases and supports workflow- or disease-specific cutoff selection.

The tool is intended to support variant filtering and prioritization rather than formal clinical classification. In a typical diagnostic workflow, clinicians or analysts first generate a list of candidate variants (for example by restricting to genes of interest, variant types, and allele frequency thresholds) and then apply deleteriousness scores such as CADD to decide which variants merit closer inspection. Our tool fits into this stage by helping users select context-appropriate CADD PHRED cutoffs for specific genes or gene panels, benchmarking how different thresholds affect false-negative and false-positive behavior in their setting. The resulting recommendations can be used to refine candidate variant lists before applying formal classification frameworks (e.g., ACMG/AMP guidelines), which remain the primary basis for clinical interpretation and reporting. In this way, CADD-ThresholdApp supports the filtering and prioritization step without replacing or modifying the downstream clinical classification process.

As the default underlying data are based on ClinVar, the observed threshold-dependent performance reflects the composition of ClinVar and may be influenced by gene- and disease-specific ascertainment, as well as by the subset of variants with curated qualitative clinical classifications [23]. A related limitation is the potential circularity that can arise when ClinVar is used both to train and to evaluate predictor behavior. However, overlap between ClinVar variants and the CADD training data is negligible. Still, because clinically observed variants may be enriched for deleteriousness, thresholds derived from ClinVar should be interpreted cautiously. Computational predictors are considered supporting evidence under ACMG/AMP guidelines, and expert curation remains essential [11]. In the future, deep mutational scanning may help overcome this limitation [24], although genome-wide or panel-wide benchmarking is currently not feasible due to the limited number of assayed genes. Nevertheless, such datasets are valuable for benchmarking predictors themselves, as demonstrated previously for CADD [2]. To support alternative use cases, we provide a Snakemake workflow that enables users to generate app-compatible datasets from custom variant tables using the same preprocessing and metric-computation steps.

For future extensions, we plan to add support for additional variant effect predictors and variant resources, enable side-by-side threshold comparison to highlight where predictors might disagree, and expand stratified analyses to make threshold selection more interpretable and to better reflect the heterogeneity of variant effects across biological settings.

Conclusions

CADD-ThresholdApp combines curated clinical labels from ClinVar with harmonized CADD scores and precomputed threshold-dependent performance metrics in an interactive and reusable web resource. By enabling comparisons across genome releases, CADD versions, and selected gene sets or gene panels, the app provides a transparent framework for context-specific calibration of CADD PHRED cutoffs. In this way, CADD-ThresholdApp supports more informed and reproducible variant prioritization in both research and diagnostic settings. The modular design further provides a foundation for future extension to additional variant resources and deleteriousness scores.

Acknowledgements

We thank current and previous members of the Kircher lab for helpful discussions and suggestions. We thank Jana Marie Schwarz for her feedback and the team behind the CADD score, the Core Unit Bioinformatics, Berlin Institute of Health at Charité, and the Department of Genome Sciences, University of Washington, for providing CADD and the CADD webservers.

Abbreviations

CADD

Combined annotation dependent depletion

CHROM

Chromosome

ClinVar

Clinical variation

GRCh37

Genome reference consortium human build 37

GRCh38

Genome reference consortium human build 38

POS

Position

REF

Reference allele

ALT

Alternate allele

PHRED

PHRED-scaled score

VCF

Variant call format

Author contributions

All authors conceived the project. C.L. and M.S. wrote the application and the data generation workflow. C.L. curated the data, performed the analysis, and prepared all figures. C.L. and M.S. wrote the manuscript. All authors reviewed the manuscript.

Funding

Open Access funding enabled and organized by Projekt DEAL. This work received no specific grant from any funding agency.

Data availability

The datasets generated and analyzed during the current study and supporting the conclusions of this article are available in the data for cadd-threshold-app repository, [https://doi.org/10.5281/zenodo.19204078]. The datasets analyzed in our study were originally obtained from [https://ftp.ncbi.nlm.nih.gov/pub/clinvar/tab_delimited/] under variant_summary.txt.gz. CADD-ThresholdApp is available as a hosted web application at [https://cadd-threshold.kircherlab.bihealth.org/]. Source code is openly available in the cadd-threshold repository, [https://github.com/kircherlab/CADD_threshold_app], with data-processing workflows in the CADD_threshold_analysis repository,[https://github.com/kircherlab/CADD_threshold_analysis] and archived resources at the kircherlab/CADD_threshold_app repository, [https://doi.org/10.5281/zenodo.19565035]. The app can be installed locally via PyPI, Bioconda, or from source (see the GitHub repository for details).

Code availability

Project name: CADD-ThresholdApp. Project home page: [https://cadd-threshold.kircherlab.bihealth.org/]. Operating system(s): Platform independent. Programming language: Python. Other requirements: Python 3.10 or higher, shiny, plotly, scikit-learn. License: MIT License. Any restrictions to use by non-academics: No restrictions.

Declarations

Ethics approval and consent to participate

Not applicable.

Consent for publication

Not applicable.

Competing interests

The authors declare no competing interests.

Footnotes

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

References

  • 1.Shendure J, Balasubramanian S, Church GM, Gilbert W, Rogers J, Schloss JA, et al. DNA sequencing at 40: past, present and future. Nature. 2017;550:345–53. 10.1038/nature24286. [DOI] [PubMed] [Google Scholar]
  • 2.Schubach M, Maass T, Nazaretyan L, Röner S, Kircher M. CADD v1.7: using protein language models, regulatory CNNs and other nucleotide-level scores to improve genome-wide variant predictions. Nucleic Acids Res. 2024;52:D1143–54. 10.1093/nar/gkad989. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 3.Rentzsch P, Witten D, Cooper GM, Shendure J, Kircher M. CADD: predicting the deleteriousness of variants throughout the human genome. Nucleic Acids Res. 2019;47:D886–94. 10.1093/nar/gky1016. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 4.Nakagomi H, Mochizuki H, Inoue M, Hirotsu Y, Amemiya K, Sakamoto I, et al. Combined annotation-dependent depletion score for BRCA1/2 variants in patients with breast and/or ovarian cancer. Cancer Sci. 2018;109:453–61. 10.1111/cas.13464. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 5.Tian Y, Pesaran T, Chamberlin A, Fenwick RB, Li S, Gau C-L, et al. REVEL and BayesDel outperform other in silico meta-predictors for clinical variant classification. Sci Rep. 2019;9:12752. 10.1038/s41598-019-49224-8. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 6.Villani RM, McKenzie ME, Davidson AL, Spurdle AB. Regional-specific calibration enables application of computational evidence for clinical classification of 5′ cis-regulatory variants in Mendelian disease. Am J Hum Genet. 2024;111:1301–15. 10.1016/j.ajhg.2024.05.002. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 7.Ioannidis NM, Rothstein JH, Pejaver V, Middha S, McDonnell SK, Baheti S, et al. REVEL: An Ensemble Method for Predicting the Pathogenicity of Rare Missense Variants. Am J Hum Genet. 2016;99:877–85. 10.1016/j.ajhg.2016.08.016. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 8.Zhang C, Roth FP. VEPerform: a web resource for evaluating the performance of variant effect predictors. 2024. 10.48550/arXiv.2412.10262 [DOI]
  • 9.Patel RY, Shah N, Jackson AR, Ghosh R, Pawliczek P, Paithankar S, et al. ClinGen Pathogenicity Calculator: a configurable system for assessing pathogenicity of genetic variants. Genome Med. 2017;9:3. 10.1186/s13073-016-0391-z. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 10.Li Q, Wang K, InterVar. Clinical Interpretation of Genetic Variants by the 2015 ACMG-AMP Guidelines. Am J Hum Genet. 2017;100:267–80. 10.1016/j.ajhg.2017.01.004. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 11.Richards S, Aziz N, Bale S, Bick D, Das S, Gastier-Foster J, et al. Standards and guidelines for the interpretation of sequence variants: a joint consensus recommendation of the American College of Medical Genetics and Genomics and the Association for Molecular Pathology. Genet Med Off J Am Coll Med Genet. 2015;17:405–24. 10.1038/gim.2015.30. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 12.Landrum MJ, Lee JM, Benson M, Brown GR, Chao C, Chitipiralla S, et al. ClinVar: improving access to variant interpretations and supporting evidence. Nucleic Acids Res. 2018;46:D1062–7. 10.1093/nar/gkx1153. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 13.Martin AR, Williams E, Foulger RE, Leigh S, Daugherty LC, Niblock O, et al. PanelApp crowdsources expert knowledge to establish consensus diagnostic gene panels. Nat Genet. 2019;51:1560–5. 10.1038/s41588-019-0528-2. [DOI] [PubMed] [Google Scholar]
  • 14.CADD - Combined Annotation Dependent Depletion - BIH. https://cadd.bihealth.org/score. Accessed 4 June 2026.
  • 15.Mölder F, Jablonski KP, Letcher B, Hall MB, Tomkins-Tinch CH, Sochat V, et al. Sustainable data analysis with Snakemake. 2021;10:33. 10.12688/f1000research.29032.1 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 16.Github CADD, Threshold Analysis. https://github.com/kircherlab/CADD_threshold_analysis. Accessed 4 June 2026.
  • 17.CADD - Combined Annotation Dependent Depletion - Washington. https://cadd.gs.washington.edu/score. Accessed 4 June 2026.
  • 18.Github CADD. scripts. https://github.com/kircherlab/CADD-scripts. Accessed 4 June 2026.
  • 19.CADD-ThresholdApp. https://cadd-threshold.kircherlab.bihealth.org/. Accessed 4 June 2026.
  • 20.CADD-ThresholdApp. Zenodo. 10.5281/zenodo.19565035. Accessed 4 June 2026. [DOI]
  • 21.Data for CADD-ThresholdApp. 10.5281/zenodo.20055104. Accessed 4 June 2026. [DOI]
  • 22.Kircher M, Witten DM, Jain P, O’Roak BJ, Cooper GM, Shendure J. A general framework for estimating the relative pathogenicity of human genetic variants. Nat Genet. 2014;46:310–5. 10.1038/ng.2892. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 23.Landrum MJ, Kattman BL. ClinVar at five years: Delivering on the promise. Hum Mutat. 2018;39:1623–30. 10.1002/humu.23641. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 24.Notin P, Kollasch AW, Ritter D, van Niekerk L, Paul S, Spinner H et al. ProteinGym: Large-Scale Benchmarks for Protein Design and Fitness Prediction. 2023. 10.1101/2023.12.07.570727 [DOI]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

The datasets generated and analyzed during the current study and supporting the conclusions of this article are available in the data for cadd-threshold-app repository, [https://doi.org/10.5281/zenodo.19204078]. The datasets analyzed in our study were originally obtained from [https://ftp.ncbi.nlm.nih.gov/pub/clinvar/tab_delimited/] under variant_summary.txt.gz. CADD-ThresholdApp is available as a hosted web application at [https://cadd-threshold.kircherlab.bihealth.org/]. Source code is openly available in the cadd-threshold repository, [https://github.com/kircherlab/CADD_threshold_app], with data-processing workflows in the CADD_threshold_analysis repository,[https://github.com/kircherlab/CADD_threshold_analysis] and archived resources at the kircherlab/CADD_threshold_app repository, [https://doi.org/10.5281/zenodo.19565035]. The app can be installed locally via PyPI, Bioconda, or from source (see the GitHub repository for details).

Project name: CADD-ThresholdApp. Project home page: [https://cadd-threshold.kircherlab.bihealth.org/]. Operating system(s): Platform independent. Programming language: Python. Other requirements: Python 3.10 or higher, shiny, plotly, scikit-learn. License: MIT License. Any restrictions to use by non-academics: No restrictions.


Articles from BMC Bioinformatics are provided here courtesy of BMC

RESOURCES