sigmod.cv: Find connected explanatory SNPs.

View source: R/sigmod.R

sigmod.cvR Documentation

Find connected explanatory SNPs.

Description

Finds the SNPs maximally associated with a phenotype while being connected in an underlying network. Select the hyperparameters by cross-validation.

Usage

sigmod.cv(
  gwas,
  net,
  covars = data.frame(),
  score = c("chi2", "glm", "r2"),
  criterion = c("stability", "bic", "aic", "aicc", "global_clustering",
    "local_clustering"),
  etas = numeric(),
  lambdas = numeric(),
  family = c("binomial", "poisson", "gaussian", "gamma"),
  link = c("logit", "log", "identity", "inverse"),
  max_prop_snp = 0.5
)

Arguments

gwas

A SnpMatrix object with the GWAS information.

net

An igraph network that connects the SNPs.

covars

A data frame with the covariates. It must contain a column 'sample' containing the sample IDs, and an additional columns for each covariate.

score

Association score to measure association between genotype and phenotype. Possible values: chi2 (default), glm.

criterion

String with the function to measure the quality of a split.

etas

Numeric vector with the etas to explore in the grid search. If ommited, it's automatically created based on the association scores.

lambdas

Numeric vector with the lambdas to explore in the grid search. If ommited, it's automatically created based on the association scores.

family

A string defining the generalized linear model family. This should match one of "binomial", "poisson", "gaussian" or "gamma". See snp.rhs.tests for details.

link

A string defining the link function for the GLM. This should match one of "logit", "log", "identity" or "inverse". See snp.rhs.tests for details.

max_prop_snp

Maximum proportion of SNPs accepted in the model (between 0 and 1). Larger solutions will be discarded.

Value

A copy of the SnpMatrix$map data.frame, with the following additions:

  • c: contains the univariate association score for every single SNP.

  • selected: logical vector indicating if the SNP was selected by SConES or not.

  • module: integer with the number of the module the SNP belongs to.

References

Liu, Y., Brossard, M., Roqueiro, D., Margaritte-Jeannin, P., Sarnowski, C., Bouzigon, E., Demenais, F. (2017). SigMod: an exact and efficient method to identify a strongly interconnected disease-associated module in a gene network. Bioinformatics, 33(10), 1536–1544. https://doi.org/10.1093/bioinformatics/btx004

Examples

gi <- get_GI_network(minigwas, snpMapping = minisnpMapping, ppi = minippi)
sigmod.cv(minigwas, gi)
sigmod.cv(minigwas, gi, score = "glm")

hclimente/martini documentation built on Feb. 26, 2024, 6:23 p.m.