Skip to contents

Performs SuSiE regression using sufficient statistics (XtX, Xty, yty, n) instead of individual-level data (X, y).

Usage

susie_ss(
  XtX,
  Xty,
  yty,
  n,
  L = min(10, ncol(XtX)),
  X_colmeans = NA,
  y_mean = NA,
  maf = NULL,
  maf_thresh = 0,
  check_input = FALSE,
  r_tol = 1e-08,
  standardize = TRUE,
  scaled_prior_variance = 0.2,
  residual_variance = NULL,
  prior_weights = NULL,
  null_weight = 0,
  model_init = NULL,
  estimate_residual_variance = TRUE,
  estimate_residual_method = c("MoM", "MLE", "Servin_Stephens"),
  residual_variance_lowerbound = 0,
  residual_variance_upperbound = Inf,
  estimate_prior_variance = TRUE,
  estimate_prior_method = c("optim", "EM", "simple"),
  unmappable_effects = c("none", "inf"),
  check_null_threshold = 0,
  prior_tol = 1e-09,
  max_iter = 100,
  tol = 0.001,
  convergence_method = c("elbo", "pip"),
  coverage = 0.95,
  min_abs_corr = 0.5,
  n_purity = 100,
  verbose = FALSE,
  track_fit = FALSE,
  check_prior = FALSE,
  refine = FALSE,
  ...
)

Arguments

XtX

A p by p matrix, X'X, with columns of X centered to have mean zero.

Xty

A p-vector, X'y, with y and columns of X centered to have mean zero.

yty

A scalar, y'y, with y centered to have mean zero.

n

The sample size.

X_colmeans

A p-vector of column means of X. If both X_colmeans and y_mean are provided, the intercept is estimated; otherwise, the intercept is NA.

y_mean

A scalar containing the mean of y. If both X_colmeans and y_mean are provided, the intercept is estimated; otherwise, the intercept is NA.

maf

A p-vector of minor allele frequencies; to be used along with maf_thresh to filter input summary statistics.

maf_thresh

Variants with MAF smaller than this threshold are not used.

check_input

If check_input = TRUE, susie_ss performs additional checks on XtX and Xty. The checks are: (1) check that XtX is positive semidefinite; (2) check that Xty is in the space spanned by the non-zero eigenvectors of XtX.

r_tol

Tolerance level for eigenvalue check of positive semidefinite matrix XtX.

check_prior

If check_prior = TRUE, it checks if the estimated prior variance becomes unreasonably large (comparing with 10 * max(abs(z))^2).