Package: lit 1.0.0

Andrew Bass
lit: Latent Interaction Testing for Genome-Wide Studies
Identifying latent genetic interactions in genome-wide association studies using the Latent Interaction Testing (LIT) framework. LIT is a flexible kernel-based approach that leverages information across multiple traits to detect latent genetic interactions without specifying or observing the interacting variable (e.g., environment). LIT accepts standard PLINK files as inputs to analyze large genome-wide association studies.
Authors:
lit_1.0.0.tar.gz
lit_1.0.0.tar.gz(r-4.5-noble)lit_1.0.0.tar.gz(r-4.4-noble)
lit_1.0.0.tgz(r-4.4-emscripten)lit_1.0.0.tgz(r-4.3-emscripten)
lit.pdf |lit.html✨
lit/json (API)
NEWS
# Install 'lit' in R: |
install.packages('lit', repos = 'https://cloud.r-project.org') |
Bug tracker:https://github.com/ajbass/lit/issues0 issues
Last updated 2 years agofrom:c0b129c3b6. Checks:1 OK, 1 NOTE. Indexed: no.
Target | Result | Latest binary |
---|---|---|
Doc / Vignettes | OK | Feb 22 2025 |
R-4.5-linux-x86_64 | NOTE | Feb 22 2025 |
Exports:gamut_plinklitlit_plinkmarginalmarginal_plink
Dependencies:bitbit64clicliprCompQuadFormcpp11crayondplyrfansigenericsgeniogluehmslifecyclemagrittrpillarpkgconfigprettyunitsprogressR6RcppRcppArmadilloRcppEigenreadrrlangtibbletidyselecttzdbutf8vctrsvroomwithr
Citation
To cite package ‘lit’ in publications use:
Bass A, Epstein M (2023). lit: Latent Interaction Testing for Genome-Wide Studies. R package version 1.0.0, https://CRAN.R-project.org/package=lit.
Corresponding BibTeX entry:
@Manual{, title = {lit: Latent Interaction Testing for Genome-Wide Studies}, author = {Andrew Bass and Michael Epstein}, year = {2023}, note = {R package version 1.0.0}, url = {https://CRAN.R-project.org/package=lit}, }
Readme and manuals
Latent Interaction Testing (LIT)
Overview
The lit
package implements a kernel-based multivariate testing
procedure, called Latent Interaction Testing (LIT), to test for latent
genetic interactions in genome-wide association studies. See our
manuscript for additional details:
Bass AJ, Bian S, Wingo AP, Wingo TS, Culter DJ, Epstein MP. Identifying latent genetic interactions in genome-wide association studies using multiple traits. Submitted; 2023.
Installation
install.packages("devtools")
library("devtools")
# install package
devtools::install_github("ajbass/lit")
The vignette can be viewed by typing:
browseVignettes(package = "lit")
Quick start
We provide two ways to use the lit
package. For small GWAS datasets
where the genotypes can be loaded in R, the lit()
function can be
used:
library(lit)
# set seed
set.seed(123)
# generate SNPs and traits
X <- matrix(rbinom(10 * 10, size = 2, prob = 0.25), ncol = 10)
Y <- matrix(rnorm(10 * 4), ncol = 4)
# test for latent genetic interactions
out <- lit(Y, X)
head(out)
#> wlit ulit alit
#> 1 0.2681410 0.3504852 0.3056363
#> 2 0.7773637 0.3504852 0.6044655
#> 3 0.4034423 0.3504852 0.3760632
#> 4 0.7874949 0.3504852 0.6157108
#> 5 0.8701189 0.3504852 0.7337565
#> 6 0.2352616 0.3504852 0.2847600
The output is a data frame of p-values where the rows are SNPs and the
columns are different implementations of LIT to test for latent genetic
interactions: the first column (wlit
) uses a linear kernel, the second
column (ulit
) uses a projection kernel, and the third column (alit
)
maximizes the number of discoveries by combining the p-values of the
linear and projection kernels.
For large GWAS datasets (e.g., biobank-sized), the lit()
function is
not computationally feasible. Instead, the lit_plink()
function can be
applied directly to plink files. To demonstrate how to use the function,
we use the example plink files from the genio
package:
# load genio package
library(genio)
# path to plink files
file <- system.file("extdata", 'sample.bed', package = "genio", mustWork = TRUE)
# generate trait expression
Y <- matrix(rnorm(10 * 4), ncol = 4)
# apply lit to plink file
out <- lit_plink(Y, file = file, verbose = FALSE)
head(out)
#> chr id pos alt ref maf wlit ulit alit
#> 1 1 rs3094315 752566 G A 0.3888889 0.7908763 0.3422960 0.6150572
#> 2 1 rs7419119 842013 T G 0.3888889 0.1552580 0.3422960 0.2194972
#> 3 1 rs13302957 891021 G A 0.2500000 0.4088937 0.3325939 0.3687589
#> 4 1 rs6696609 903426 C T 0.3125000 0.5857829 0.3325939 0.4519475
#> 5 1 rs8997 949654 A G 0.4375000 0.6628300 0.3325939 0.4969663
#> 6 1 rs9442372 1018704 A G 0.2500000 0.3192430 0.3325939 0.3258332
See ?lit
and ?lit_plink
for additional details and input arguments.
Note that a marginal testing procedure for latent genetic interactions
based on the squared residuals and cross products (Marginal (SQ/CP)) can
also be implemented using the marginal
and marginal_plink
functions:
# apply Marginal (SQ/CP) to loaded genotypes
out <- marginal(Y, X)
# apply Marginal (SQ/CP) to plink file
out <- marginal_plink(Y, file = file, verbose = FALSE)
Help Manual
Help page | Topics |
---|---|
GAMuT | gamut_plink |
Latent Interaction Testing | lit |
LIT correcting for dominance effects | lit_h |
Latent Interaction Testing | lit_plink |
Marginal (SQ/CP) approach | marginal |
Marginal (SQ/CP) approach | marginal_plink |