Title: | Multi-Trait Analysis of Rare-Variant Association Study |
---|---|
Description: | Perform multi-trait rare-variant association tests using the summary statistics and adjust for possible sample overlap. Package is based on "Multi-Trait Analysis of Rare-Variant Association Summary Statistics using MTAR" by Luo, L., Shen, J., Zhang, H., Chhibber, A. Mehrotra, D.V., Tang, Z., 2019 (submitted). |
Authors: | Lan Luo [aut, cre] |
Maintainer: | Lan Luo <[email protected]> |
License: | GPL (>= 2) |
Version: | 0.1.1 |
Built: | 2024-10-27 03:33:28 UTC |
Source: | https://github.com/cran/MTAR |
An example of calculating U and V for MTAR given the genetic effect estimates and their standard errors.
data(beta.example)
data(beta.example)
A list with 3 sublists:
a list of genetic effect estimates, each sublist is matrix for each study
a list of standard errors of genetic effect estimates, each sublist is matrix for each study
a SNP correlation matrix for the union of SNPs appearing in all the studies
This function allows you to calculate the score summary statistics and their covariance matrix
for MTAR, given the genetic effect estimates and their standard errors
Get_UV_from_beta(Beta, Beta.se, R)
Get_UV_from_beta(Beta, Beta.se, R)
Beta |
a numeric list, each sublist containing estimation information of genetic effect estimates |
Beta.se |
a numeric list, each sublist containing the standard error of estimators information for each study. In each study, a numeric |
R |
a SNP correlation matrix, which should contain the correlation of all the SNPs in these studies. |
A list containing summary statistics for each traits, including the score summary statistics and their covariance matrix
.
Lan Luo
data("beta.example") attach(beta.example) obs.stat <- Get_UV_from_beta(Beta = Beta, Beta.se = Beta.se, R = R) detach(beta.example)
data("beta.example") attach(beta.example) obs.stat <- Get_UV_from_beta(Beta = Beta, Beta.se = Beta.se, R = R) detach(beta.example)
This function allows you to calculate the score summary statistics and their covariance matrix
for MTAR, given the traits, covariates and genotype data sets. If one trait only takes no more than two values, this function will treat this trait as a binary trait.
Get_UV_from_data(traits, covariates, genotype, covariance = TRUE)
Get_UV_from_data(traits, covariates, genotype, covariance = TRUE)
traits |
a numeric list, each sublist containing trait information for each study. In each study, a numeric |
covariates |
a numeric list, each sublist containing covariates information for each study. In each study, a numeric |
genotype |
a numeric list, each sublist containing genotype information for each study. In each study, a numeric |
covariance |
a logical value indicating whether to calculate the covariance matrix of score summary statistics |
A list containing summary statistics for each trait. If covariance is TRUE, the score summary statistics and its covariance matrix
are returned. Otherwise, only
and the diagonal elements of covariance matrix are returned.
Lan Luo
Hu, Y.J., Berndt, S.I., Gustafsson, S., Ganna, A., Mägi, R., Wheeler, E., Feitosa, M.F., Justice, A.E., Monda, K.L., Croteau-Chonka, D.C. and Day, F.R., 2013. Meta-analysis of gene-level associations for rare variants based on single-variant statistics. The American Journal of Human Genetics, 93(2), pp.236-248.
Tang, Z.Z. and Lin, D.Y., 2015. Meta-analysis for discovering rare-variant associations: statistical methods and software programs. The American Journal of Human Genetics, 97(1), pp.35-53.
data(rawdata) attach(rawdata) obs.stat <- Get_UV_from_data(traits = traits.dat, covariates = cov.dat, genotype = geno.dat, covariance = TRUE) obs.stat detach(rawdata)
data(rawdata) attach(rawdata) obs.stat <- Get_UV_from_data(traits = traits.dat, covariates = cov.dat, genotype = geno.dat, covariance = TRUE) obs.stat detach(rawdata)
This function allows you to calculate the score summary statistics and their covariance matrix
for MTAR, given the score summary statistics and their variance.
Get_UV_from_varU(U, varU, R)
Get_UV_from_varU(U, varU, R)
U |
a numeric list, each sublist containing score summary statistics |
varU |
a numeric list, each sublist containing the variance of score summary statistics information for each study. In each study, a numeric |
R |
a SNP correlation matrix, which should contain the correlation of all the SNPs in these studies. |
A list containing summary statistics for each traits, the score summary statistics and their covariance matrix
.
Lan Luo
data("varU.example") attach(varU.example) obs.stat <- Get_UV_from_varU(U = U, varU = varU, R= R) obs.stat detach(varU.example)
data("varU.example") attach(varU.example) obs.stat <- Get_UV_from_varU(U = U, varU = varU, R= R) obs.stat detach(varU.example)
This function allows you to estimate the matrix to adjust for the potential sample overlap in the data set. Here we applied LD pruning (
in 500kb region) on 1000 Genome genotype dataset (hg19) as a list of reference independent SNPs. The SNP ID is chr:pos.
Get_zeta(Zscore, pval_cutoff = 0.05, Indp_common_snp)
Get_zeta(Zscore, pval_cutoff = 0.05, Indp_common_snp)
Zscore |
a numeric list, each sublist containing a vector of Z scores of SNPs with minor allele frequency (MAF) larger than 0.05. The chr:pos for each SNP is required. |
pval_cutoff |
a numeric value indicating the cutoff threshold of p-values. The default value is 0.05. Variants with p-value less than or equal to this threshold will be automatically removed. |
Indp_common_snp |
a numeric list of independent common SNPs |
A matrix
, where
is the number of traits.
Lan Luo
data(zeta.example) attach(zeta.example) # Downloading independent common SNPs from 1000Genome data set. githubURL <- "https://github.com/lan/MTAR/blob/master/indp_snps.1KG.rda?raw=true" utils::download.file(githubURL,"1kgfile") load("1kgfile") zeta1 <- Get_zeta(Zscore = Zscore, Indp_common_snp = indp_snps.1KG) zeta1 detach(zeta.example)
data(zeta.example) attach(zeta.example) # Downloading independent common SNPs from 1000Genome data set. githubURL <- "https://github.com/lan/MTAR/blob/master/indp_snps.1KG.rda?raw=true" utils::download.file(githubURL,"1kgfile") load("1kgfile") zeta1 <- Get_zeta(Zscore = Zscore, Indp_common_snp = indp_snps.1KG) zeta1 detach(zeta.example)
Test for association between a set of rare SNPs and multiple traits with input of summary statistics, possibly from overlap samples. The input number of SNPs in each trait can be different, MTAR function will analyze the union of SNPs that show up in at least one trait, and automatically handle the non-polymorphic SNPs.
MTAR( U, V, MAF, MAF_UB = 0.05, zeta = NULL, genetic_cor.trait = NULL, rho.SNP = c(0, 0.5, 1), rho.trait = c(0, 0.5, 1), weight.SNP = c(1, 25) )
MTAR( U, V, MAF, MAF_UB = 0.05, zeta = NULL, genetic_cor.trait = NULL, rho.SNP = c(0, 0.5, 1), rho.trait = c(0, 0.5, 1), weight.SNP = c(1, 25) )
U |
a numeric list, each sublist containing summary statistics U for each traits. The SNP IDs must be provided. |
V |
a numeric list, each sublist containing the corresponding covariance matrix of summary statistics. If your original summary statistics are other format, please use Get_UV_from_data, Get_UV_from_varU or Get_UV_from_beta to generate the summary statistics |
MAF |
a numeric vector containing minor allele frequency for the SNPs show up in at least one trait. The SNP IDs must be provided. |
MAF_UB |
a numeric value indicating the cutoff threshold of minor allele frequency for SNPs The default value is 0.05. |
zeta |
a numeric matrix containing the sample correlation of Z-scores over a large number of independent null common SNPs across genome. The default value is NULL, where MTAR assumes there are no overlap samples. However, if there is overlapping in subjects, zeta must be provided. zeta can be estimated using MTAR::Get_zeta. |
genetic_cor.trait |
a numeric matrix containing the genetic correlation among traits. The default value of genetic_cor.trait is NULL, where an exchangeable correlation structure with the correlation coefficient denoted by rho.trait ( |
rho.SNP |
a numeric vector containing all the possible values of |
rho.trait |
a numeric vector containing all the possible values of |
weight.SNP |
a numeric vector containing the parameters in Beta density function to calculate the weight among SNPs. The default value is c(1, 25). |
MTAR assumes that the genetic effect estimates has covariance matrix
, which is a Kronecker product of two pre-specified matrices: among-variant effect covariance
and among-trait effect covariance
. An exchaneable correlation structure with the correlation coefficient denoted by rho.SNPs (
) for
is assumed. The default MTAR requires the input of genetic correlation matrix genetoc_cor.trait, if missing, then an exchaneable correlation structure for rho.trait (
) is assumed. The default weight of
is
, which can be changed freely by users.
a list of p-values of MTAR-O, cMTAR, iMTAR and cctP as well as ancillary information. Here cctP is the Cauchy-combined p-value of SKAT and burden tests with default weight .
Lan Luo
Lan Luo
Liu, Y., Chen, S., Li, Z., Morrison, A.C., Boerwinkle, E. and Lin, X., 2019. ACAT: A fast and powerful p value combination method for rare-variant analysis in sequencing studies. The American Journal of Human Genetics, 104(3), pp.410-421.
Liu, Y. and Xie, J., 2019. Cauchy combination test: a powerful test with analytic p-value calculation under arbitrary dependency structures. Journal of the American Statistical Association, pp.1-18.
Luo, L., Shen, J., Zhang, H., Chhibber, A., Mehrotra, D. V., Tang, Z., 2019. Multi-trait analysis of rare-variant association summary statistics using MTAR.
data(MTAR.example) attach(MTAR.example) pval <- MTAR(U = U, V = V, MAF = MAF, genetic_cor.trait = genetic_cor.trait, zeta = zeta) pval detach(MTAR.example)
data(MTAR.example) attach(MTAR.example) pval <- MTAR(U = U, V = V, MAF = MAF, genetic_cor.trait = genetic_cor.trait, zeta = zeta) pval detach(MTAR.example)
PNPLA2 Gene Inofmation required by MTAR function.
data(MTAR.example)
data(MTAR.example)
A list with 6 sublists:
some annotation information of gene PNPLA2
a list containing the summary statistics for each trait
a list containing the covariance matrix of summary statistics for each trait
the minor allele frequency of all the rare variants in this gene
the genetic correlation among traits
the overlapping estimation matrix, which is approximated by the sample correlation matrix of the scaled summary statistics over a large number of independent null common SNPs
An example of calculating U and V for MTAR given the individual-level data set.
data(rawdata)
data(rawdata)
A list with 3 sublists:
a list of genotype data, each sublist is matrix for each study
a list of trait data, each sublist is matrix for each study
a list of covariates data, each sublist is matrix for each study
There are 3 studies, 3 continuous traits and 10 rare variants. Specifically, there are 1500 subjects in study1, but each subject only has one trait measurement. In study2 and study3, the sample size is 500 and each subject has two or three traits measurements.
An example of calculating U and V for MTAR given the summary statistics and its variance.
data(varU.example)
data(varU.example)
A list with 3 sublists:
a list of summary statistics, each sublist is matrix for each study
a list of variance of summary statistics, each sublist is matrix for each study
a SNP correlation matrix for the union of SNPs appearing in all the studies
An example of estimating matrix given the summary statistics information of null and common SNPs.
data(zeta.example)
data(zeta.example)
A list with 1 sublist:
a list, each sublist contains the Z-scores of 737 null and common SNPs for each trait