使用PWCOCO进行成对条件与共定位分析
PWCOCO_run.Rd
PWCOCO算法集成了来自 GCTA-COJO和cococ R包的方法。官网:https://github.com/jwr-git/pwcoco。
Usage
PWCOCO_run(
bfile = "G:/QTLMR_test/1kg.v3/EUR",
sum_stats1 = "./data/atp1a4_test.exp.txt",
sum_stats2 = "./data/atp1a4_test.out.txt",
p_cutoff1 = 5e-08,
p_cutoff2 = 5e-08,
chr = 1,
top_snp = 1e+10,
ld_window = 1e+07,
collinear = 0.9,
maf = 0.1,
freq_threshold = 0.2,
init_h4 = 80,
out_cond = TRUE,
coloc_pp = c(1e-04, 1e-04, 1e-05),
n1 = 6601,
n2 = 115803,
n1_case = NULL,
n2_case = NULL,
pve1 = NULL,
pve2 = NULL,
pve_file1 = NULL,
pve_file2 = NULL,
threads = 8,
save_name = "pwcoco_out",
save_path = "./pwcoco"
)
Arguments
- bfile
基因型数据的plink文件前缀路径。勿使用MAF>0.01版本,完整版下载地址:http://fileserve.mrcieu.ac.uk/ld/1kg.v3.tgz。
- sum_stats1
性状1 GWAS数据的文件路径,格式要求详见下面的details描述。若仅对单一区域分析,可使用'coloc_format_dat()'提取数据。
- sum_stats2
性状2 GWAS数据的文件路径,格式要求详见下面的details描述。若仅对单一区域分析,可使用'coloc_format_dat()'提取数据。
- p_cutoff1
性状1数据集的P值截断值,用于筛选显著的SNPs,默认为5e-8。
- p_cutoff2
性状2数据集的P值截断值,用于筛选显著的SNPs,默认为5e-8。
- chr
指定染色体编号,仅对参考基因型数据集中的该染色体上的SNPs进行分析。
- top_snp
最大允许选择的SNP数量,默认值为1e10,意味着不限制SNP数量。
- ld_window
连锁不平衡(LD)窗口大小,单位为kb。当SNPs之间的距离超过该阈值时,认为它们不在连锁不平衡中,默认值为1e7。
- collinear
SNPs之间的共线性阈值,若两个SNP的相关系数超过该值,则认为它们是共线性SNP,默认值为0.9。
- maf
最低等位基因频率(MAF)阈值,用于过滤参考基因型数据集中的SNPs,默认值为0.1。
- freq_threshold
参考基因型数据集中,SNP在两个表型数据集中的频率差异超过该阈值时,排除该SNP,默认值为0.2。
- init_h4
初步共定位分析的H4值阈值。若初步分析的H4(即假设四种共定位模式的后验概率)达到该值,程序将提前停止,默认值为80(表示80%的概率)。设置为0时,程序将始终继续分析。
- out_cond
是否保存条件分析后的数据为文本文件。默认为TRUE,表示保存。
- coloc_pp
三个先验概率P值的向量,表示在共定位分析中假设的先验概率,默认为c(1e-4, 1e-4, 1e-5)。
- n1
性状1数据集的样本量大小,若sum_stats1数据已包含该列,可填写NULL。
- n2
性状2数据集的样本量大小,若sum_stats2数据已包含该列,可填写NULL。
- n1_case
性状1数据集中的病例数,若sum_stats1数据已包含该列或数据类型为连续型,可填写NULL。
- n2_case
性状2数据集中的病例数,若sum_stats2数据已包含该列或数据类型为连续型,可填写NULL。
- pve1
性状1数据集的表型方差解释(PVE)值,用于估算遗传预测的表型的方差贡献(如果适用),可填写NULL。
- pve2
性状2数据集的表型方差解释(PVE)值,用于估算遗传预测的表型的方差贡献(如果适用),可填写NULL。
- pve_file1
性状1数据集的PVE文件路径,用于指定表型方差解释的文件(如果适用),可填写NULL。
- pve_file2
性状2数据集的PVE文件路径,用于指定表型方差解释的文件(如果适用),可填写NULL。
- threads
可用的线程数,支持并行计算,默认值为8。
- save_name
结果文件的保存名称前缀,默认为"pwcoco_out"。
- save_path
结果文件保存路径,默认为"./pwcoco"。
Value
返回一个包含 共定位(colocalization)分析 结果的数据框(data frame),其中每一行对应一个 SNP 的共定位分析结果。 主要包括以下列:
Dataset1: 第一个数据集(通常为 GWAS 数据)。
Dataset2: 第二个数据集(通常为 eQTL 或其他功能性基因组数据)。
SNP1: 数据集 1 中的 SNP。
SNP2: 数据集 2 中的 SNP(若为相同基因组区间,可能相同)。
nsnps: 参与共定位分析的 SNP 总数。
H0: 该区域无关联(无 GWAS 或 eQTL 信号)的后验概率(PP)。
H1: 仅 GWAS 具有信号的后验概率(PP)。
H2: 仅 eQTL 具有信号的后验概率(PP)。
H3: GWAS 和 eQTL 具有独立信号的后验概率(PP)。
H4: GWAS 和 eQTL 共享相同因果变异(causal variant) 的后验概率(PP)。
log_abf_all: 所有模型的对数 Bayes 因子(log_ABF)。
注意:
若数据未经条件化(unconditioned),SNP 列将显示
"unconditioned"
而非具体 SNP 名称。程序默认输出 以
.coloc
结尾的文件,存储每次共定位分析的结果。若运行两次并使用相同的输出文件名,结果 不会被覆盖,而是 追加 到已有文件中。
Details
输入sum_stats文件格式要求:表型文件不需要特定的文件格式,而是需要遵循以下结构:
SNP A1 A2 A1_freq beta se p n case
其中,各列的名称不重要,重要的是数据的顺序。具体来说,文件应包括以下列:
SNP:SNP的标识符。
A1:效应等位基因(通常是变异等位基因)。
A2:参考等位基因。
A1_freq:效应等位基因的频率。
beta:效应大小,表示SNP与表型的关联程度。
se:标准误差,表示效应大小估计的精确度。
p:P值,表示SNP与表型关联的统计显著性。
n:样本总数(可选),用于病例对照研究(case/control study)中的样本总数。
case:病例数(可选),用于病例对照研究中的病例数。
对于二分类数据,n
和case
列是可选的。包括这些列时,PWCoCo会将数据视为二分类数据数据(case/control data)进行共定位分析,
而不是连续型数据(quantitative data),连续型数据只需要n
列(样本总数)。这些列也可以通过命令行参数传递。
该分析基于 贝叶斯共定位(Bayesian colocalization) 方法,评估 GWAS 和功能性数据(如 eQTL、pQTL 或 mQTL)是否 共享相同的因果变异(causal variant)。
额外输出文件:
.included
文件:列出每个数据集中被纳入分析的 SNPs。.cojo
文件:若 out_cond 选项设为TRUE
,程序将在 条件化分析(conditional analysis) 后,输出以下列:Chr: 染色体编号。
SNP: SNP rsID。
bp: 基因组坐标(碱基对位置)。
refA: 参考等位基因(Reference Allele)。
freq: 参考等位基因的频率。
b: 估计的效应大小(Beta)。
se: Beta 的标准误(Standard Error)。
p: 原始数据集中的 P 值。
n: 样本量(Sample Size)。
freq_geno: 基因型频率。
bC: 条件化分析后 的效应大小(Beta)。
bC_se: 条件化分析后 的 Beta 标准误。
pC: 条件化分析后 的 P 值。
rs12345: 关联信号的 lead SNP,列中值为当前 SNP 与 lead SNP 之间的 LD(r²) 值。
文件命名规则:
.cojo
文件名中会包含 lead SNP 的 rsID,以便区分来自相同数据集的不同条件化结果。
共定位分析的意义:
若 H4 后验概率(PP.H4)接近 1,说明 GWAS 信号和功能性数据信号(eQTL/pQTL)可能来源于同一因果变异,提示该基因可能是潜在的致病基因。
若 H3 后验概率(PP.H3)较高,则表明 GWAS 信号和功能性信号可能来自不同的因果变异,可能存在独立的调控机制。