将 Bonferroni 校正应用于 Matrix_eQTL_engine 完成的 eQTL 分析

Applying Bonferroni correction to eQTL analysis done with Matrix_eQTL_engine

我已经使用 MatrixEQTL 包完成了 eqtl 分析。

me <- Matrix_eQTL_engine(
    snps = snps,
    gene = gene,
    cvrt = cvrt,
    output_file_name = output_file_name,
    pvOutputThreshold = 0.05,
    useModel = modelLINEAR, 
    errorCovariance = errorCovariance, 
    verbose = TRUE,
    pvalue.hist = TRUE,
    min.pv.by.genesnp = FALSE,
    noFDRsaveMemory = FALSE)

代码取自 ?Matrix_eQTL_engine,其中还包含设置代码。

我将阈值 pvalue 设置为 0.05,但我想知道是否有一种方法可以通过包含在此脚本中的测试找到阈值。我还想更正多重测试,根据 matrixeqtl 手册,它对 False Discovery Rate 确实是正确的。但我想为 Bonferroni correction 的多重测试找到一个阈值 pvalue,然后使用那个 pvalue。我也希望将其添加到此代码中。感谢您的任何 suggestion/help!

包的作者在这里。

首先,我不建议使用 pvOutputThreshold = 1,因为它会导致存储数十亿个 p 值并使 R 运行 内存不足。

其次,Matrix eQTL returns它进行的测试数量,以便您可以自己进行Bonferroni校正。你可以用这条线得到它:

me$all$ntests

或者,如果您区分本地和远程测试:

me$cis$ntests
me$trans$ntests