lfmm2.test {LEA} | R Documentation |
lfmm2
.The function returns a vector of p-values for association between loci and environmental variables adjusted for latent factors computed by lfmm2
. It takes an object of class lfmm2Class
with the data that were used to adjust the LFMM.
lfmm2.test (object, input, env, genomic.control, linear, family)
object |
An object of class |
input |
A genotypic matrix or a character string containing a path to the input file. The genotypic matrix must be in the |
env |
A matrix of environmental covariates or a character string containing a path to the environmental file. The environment matrix must be in the |
genomic.control |
A logical value. If |
linear |
A logical value indicating whether linear or generalized linear models should be used to perform the association tests. If |
family |
a |
pvalues |
A matrix of p-values for each locus and each environmental variable. |
zscores |
A matrix of z-scores for each locus and each environmental variable. |
gif |
A vector of genomic inflation factors computed for each environmental variable. |
Olivier Francois
Caye K, Jumentier B, Lepeule J, Francois O. (2019). LFMM 2: fast and accurate inference of gene-environment associations in genome-wide studies. Molecular biology and evolution, 36(4), 852-860.
### Example of analysis using lfmm2 ### # Simulation with 10 target loci, with effect sizes ranging between -10 an 10 # n = 100 individuals and L = 1000 loci X <- as.matrix(rnorm(100)) # environmental variable B <- rep(0, 1000) target <- sample(1:1000, 10) # target loci B[target] <- runif(10, -10, +10) # effect sizes # Creating hidden factors and loadings U <- t(tcrossprod(as.matrix(c(-1,0.5,1.5)), X)) + matrix(rnorm(300), ncol = 3) V <- matrix(rnorm(3000), ncol = 3) # Simulating a binarized matrix containing haploid genotypes # Simulation performed with the generative LFMM Y <- tcrossprod(as.matrix(X), B) + tcrossprod(U, V) + matrix(rnorm(100000, sd = .5), nrow = 100) Y <- matrix(as.numeric(Y > 0), ncol = 1000) ###################################### # Fitting an LFMM with K = 3 factors # ###################################### mod2 <- lfmm2(input = Y, env = X, K = 3) # Computing P-values and plotting their minus log10 values # Target loci are highlighted pv <- lfmm2.test(object = mod2, input = Y, env = X, linear = TRUE) plot(-log10(pv$pvalues), col = "grey", cex = .4, pch = 19) points(target, -log10(pv$pvalues[target]), col = "red")