Skip to contents

The strength of evidence for a functional assay can be determined by the odds of pathogenicity (OddsPath) (Tavtigian et al. 2018) .

Usage

oddspath(benign, pathogenic, round = 2)

Arguments

benign

An integer for the number control assay benign samples.

pathogenic

An integer for the number of control assay pathogenic samples.

round

An integer for the number of decimal places.

Value

list

Details

Following Brnich et al. (2019) , we can calculate an optimistic OddsPath based on a perfect binary classifier of the control variants. let

$$p_1 = \frac{\text{Number of pathogenic variants}}{\text{Total number variants}}$$

be the proportion of pathogenic variants (prior probability),

$$p_{2,\text{benign}} = \frac{1}{\text{Number of benign variants} + 1}$$

be the posterior probability for pathogenicity of a variant that has a benign readout, and

$$p_{2,\text{pathogenic}} = \frac{\text{Number of pathogenic variants}}{\text{Number of pathogenic variants} + 1}$$

be the posterior probability for pathogenicity of a variant that has a pathogenic readout, then

$$ \begin{aligned} \text{OddsPath}_{\text{benign}} &= \frac{p_{2,\text{benign}}(1 - p_1)}{p_1(1-p_{2,\text{benign}})} \\ \text{OddsPath}_{\text{pathogenic}} &= \frac{p_{2,\text{pathogenic}}(1 - p_1)}{p_1(1-p_{2,\text{pathogenic}})} \end{aligned} $$

References

Tavtigian SV, Greenblatt MS, Harrison SM, Nussbaum RL, Prabhu SA, Boucher KM, Biesecker LG (2018). “Modeling the ACMG/AMP variant classification guidelines as a Bayesian classification framework.” Genetics in Medicine, 20(9), 1054–1060. doi:10.1038/gim.2017.210 .

Brnich SE, Tayoun ANA, Couch FJ, Cutting GR, Greenblatt MS, Heinen CD, Kanavy DM, Luo X, McNulty SM, Starita LM, Tavtigian SV, Wright MW, Harrison SM, Biesecker LG, Berg JS (2019). “Recommendations for application of the functional evidence PS3/BS3 criterion using the ACMG/AMP sequence variant interpretation framework.” Genome Medicine, 12(1). doi:10.1186/s13073-019-0690-2 .

Examples

#----------------------------------------------------------------------------
# oddspath() examples
#----------------------------------------------------------------------------
library(bkstat)

data.frame(
  oddspath = c(
    "<0.0029", "<0.053", "<0.23", "<0.48", "0.48-2.1", ">2.1", ">4.3", ">18.7",
    ">350"
  ),
  evidence_strength = c(
    "BS3_very_strong", "BS3", "BS3_moderate", "BS3_supporting", "Indeterminate",
    "PS3_supporting", "PS3_moderate", "PS3", "PS3_very_strong"
  )
)
#>   oddspath evidence_strength
#> 1  <0.0029   BS3_very_strong
#> 2   <0.053               BS3
#> 3    <0.23      BS3_moderate
#> 4    <0.48    BS3_supporting
#> 5 0.48-2.1     Indeterminate
#> 6     >2.1    PS3_supporting
#> 7     >4.3      PS3_moderate
#> 8    >18.7               PS3
#> 9     >350   PS3_very_strong

oddspath(10, 10)
#>         Type OddsPath
#> 1     Benign      0.1
#> 2 Pathogenic     10.0
oddspath(30, 30)
#>         Type OddsPath
#> 1     Benign     0.03
#> 2 Pathogenic    30.00