对2个及以上gwas数据进行跨性状cpassoc分析后,根据显著性p值筛选多效性SNP。

Usage,
postgwas_sig_snp_cpassoc(
  file_paths,
  sample_sizes = c(0, 0),
  traits = NULL,
  SHet_test = T,
  SHom_test = T,
  method = 1,
  plink_exe = get_plink_exe(),
  bfile = NULL,
  window_kb = 500,
  step_snp = 50,
  r2 = 0.2,
  set.seed = 666,
  mvrnorm_n = 1e+06,
  workers = 3,
  sig_pval = 5e-08,
  out_path = "./",
  out_prefix = "cpassoc"
)

参数

file_paths

多个gwas数据文件地址,必须是MR标准格式

sample_sizes

files_path对应的样本数量,确保与files_path一一对应。

traits

files_path对应的疾病或者性状特征,确保与files_path一一对应。

SHet_test

是否进行SHet检验,默认为T。

SHom_test

是否进行SHom检验,默认为T。

method

默认为方法1。 SNP过滤包括3种方式:

  • ①确保file_path输入文件中的snp、effect_allele和other_allele方向一致,调整z分数;

  • ②去掉z分数绝对值大于1.96的snp;

  • ③除线粒体(MT)、性染色体和未定位的支架,因为连锁不平衡(LD)可能非常高;对于绝大部分GWAS数据输入而言,SNP都不会被③过滤。

  • ④通过选取每100个SNP中的一个来减少连锁不平衡,通过降低SNPs的密度来实现。

  • ⑤通过plink Pruning选择独立的snp,主要用到–indep-pairwise选项。

    • method =1,对应使用①②③过滤,参考代码:https://github.com/Ax3man/vdBijl_etal_2024_GuppyColorPatterns/blob/main/sequencing/gwas/combine_gwas.R。

    • method =2,对应使用①②③④进行过滤,参考代码:https://github.com/galagoz/pleiotropyevo/blob/main/CPASSOC/CPASSOC.Rmd。

    • method =3,对应使用①②③⑤进行过滤,参考代码:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6417431/。

plink_exe

使用方法3,需要用到的plink.exe路径,默认为get_plink_exe()。

bfile

使用方法3,需要用到的参考文件,bfile文件,写到bfile文件的前缀即可。如“EUR.bed;EUR.bim;EUR.fam”,写为“EUR”即可。

window_kb

使用方法3,窗口大小 (window size),这个参数以碱基对(kb)为单位,决定了分析时考虑的基因组范围。默认为500。

step_snp

使用方法3,步长 (step size),步长定义了窗口在基因组上移动时跳过的SNP数量。默认为50。

r2

使用方法3,r²阈值 (r2 threshold),r²是衡量两个SNP之间连锁不平衡程度的指标。默认为0.2。

set.seed

设置随机数种子,保证结果的可重复性,默认为666。

mvrnorm_n

默认为1e6,为多元正态分布随机样本的数量,在进行SHet检验时使用。该值越大,程序执行的时间越长。

workers

并行线程数,默认3个,根据自己电脑内存及CUP核心数填写。

sig_pval

筛选的显著性阈值,默认为5e-8。

out_path

输出文件的路径

out_prefix

输出文件的前缀

Examples

cpassoc <- postgwas_sig_snp_cpassoc(file_paths = c("hg19_avsnp151_腹主动脉瘤meta-AAAgen-final-sumstat.txt",
"心肌梗死GCST011364.h.txt"),
sample_sizes = c(1125328,638000),
traits = c("AAA","MI"),
method = 3,
bfile = "F:/data_ref/1kg.v3/EUR",
sig_pval = 5e-8,
out_path = "./3_meta_mtag_cpassoc/AAA_MI",
out_prefix = "AAA_MI")