Skip to contents

susie_get_cs_attainable() is a post-hoc credible-set filter for the case when neither a genotype matrix nor an LD reference is available, so the usual min_abs_corr purity filter in susie_get_cs() cannot be used. It uses only the fitted alpha matrix. For each effect, it computes an attainable coverage, an idea introduced by SparsePro (Zhang et al. 2023), by zeroing every entry of alpha that is not the column maximum and then summing the rows, which gives the coverage that effect could attain if it did not have to share probability mass with other effects. A second filter caps the entropy of each effect’s attainable mass, dropping effects whose mass is spread too thinly across many variables.

Example

library(susieR)
set.seed(1)
data(N3finemapping)
X <- N3finemapping$X
y <- N3finemapping$Y[, 1]

Fit SuSiE with a fixed prior so noise effects are not shrunken away:

fitted <- susie(X, y, L = 20,
                estimate_prior_variance = FALSE,
                scaled_prior_variance = 0.05,
                verbose = FALSE)

With the genotype matrix available, susie_get_cs() filters by purity:

sets_purity <- susie_get_cs(fitted, X = X, coverage = 0.95)
length(sets_purity$cs)
# [1] 2

Without X or Xcorr, several poorly localized effects slip through:

sets_noLD <- suppressMessages(susie_get_cs(fitted, coverage = 0.95))
length(sets_noLD$cs)
# [1] 6
sapply(sets_noLD$cs, length)
#  L1  L2  L3  L6  L8 L20 
#   2   1 923 923 923 923

susie_get_cs_attainable() recovers the purity-filtered result without using X:

sets_attain <- susie_get_cs_attainable(fitted, coverage = 0.95)
# WARNING: Neither X nor Xcorr was provided; purity filtering is skipped and min_abs_corr will have no effect. Pass X or Xcorr to enable the purity filter.
length(sets_attain$cs)
# [1] 2

The two filters select the same effects:

sets_purity$cs
# $L2
# [1] 653
# 
# $L1
# [1] 773 777
sets_attain$cs
# $L1
# [1] 773 777
# 
# $L2
# [1] 653

References

Zhang, W., Najafabadi, H., Li, Y. (2023). SparsePro: An efficient fine-mapping method integrating summary statistics and functional annotations. PLOS Genetics 19, e1011104. doi:10.1371/journal.pgen.1011104.

Session information

sessionInfo()
# R version 4.4.3 (2025-02-28)
# Platform: x86_64-conda-linux-gnu
# Running under: Ubuntu 24.04.4 LTS
# 
# Matrix products: default
# BLAS/LAPACK: /home/runner/work/susieR/susieR/.pixi/envs/r44/lib/libopenblasp-r0.3.33.so;  LAPACK version 3.12.0
# 
# locale:
#  [1] LC_CTYPE=C.UTF-8       LC_NUMERIC=C           LC_TIME=C.UTF-8       
#  [4] LC_COLLATE=C.UTF-8     LC_MONETARY=C.UTF-8    LC_MESSAGES=C.UTF-8   
#  [7] LC_PAPER=C.UTF-8       LC_NAME=C              LC_ADDRESS=C          
# [10] LC_TELEPHONE=C         LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C   
# 
# time zone: Etc/UTC
# tzcode source: system (glibc)
# 
# attached base packages:
# [1] stats     graphics  grDevices utils     datasets  methods   base     
# 
# other attached packages:
# [1] susieR_0.16.1
# 
# loaded via a namespace (and not attached):
#  [1] Matrix_1.7-5          gtable_0.3.6          jsonlite_2.0.0       
#  [4] compiler_4.4.3        crayon_1.5.3          Rcpp_1.1.1-1.1       
#  [7] jquerylib_0.1.4       systemfonts_1.3.2     scales_1.4.0         
# [10] textshaping_1.0.5     yaml_2.3.12           fastmap_1.2.0        
# [13] lattice_0.22-9        plyr_1.8.9            ggplot2_4.0.3        
# [16] R6_2.6.1              mixsqp_0.3-54         knitr_1.51           
# [19] htmlwidgets_1.6.4     desc_1.4.3            zigg_0.0.2           
# [22] bslib_0.10.0          RColorBrewer_1.1-3    rlang_1.2.0          
# [25] reshape_0.8.10        cachem_1.1.0          xfun_0.57            
# [28] fs_2.1.0              sass_0.4.10           S7_0.2.2             
# [31] RcppParallel_5.1.11-2 otel_0.2.0            cli_3.6.6            
# [34] pkgdown_2.2.0         digest_0.6.39         grid_4.4.3           
# [37] irlba_2.3.7           lifecycle_1.0.5       vctrs_0.7.3          
# [40] Rfast_2.1.5.2         evaluate_1.0.5        glue_1.8.1           
# [43] farver_2.1.2          ragg_1.5.2            rmarkdown_2.31       
# [46] matrixStats_1.5.0     tools_4.4.3           htmltools_0.5.9