全基因组关联分析(GWAS)软件:MAGMA

MAGMA软件被设计用于基于基因的(gene-based)或基因集的(gene-set-based)的关联分析,可以直接找到与目的性状相关的功能基因或功能模块(如基因调控通路等),也有利于发现由多个微效 SNP 关联的基因。
MAGMA 的输入数据可以是原始的基因型数据,也可以是其它关联分析软件的结果(如emmax、gemma等)。

本文用 emmax 的关联分析结果作为输入文件,因为 MAGMA 虽然可以用原始数据进行单位点的关联分析,但是它的运行速度没有 emmax 快。

1. SNP 注释

MAGMA 需要一个 SNP 注释信息文件,内容包括 SNP 位于基因的什么位置。

~/tools/magma --annotate nonhuman window=3,1.5 --snp-loc snp_hardfiltered_biallelic_maf5_ms50_chr_imputated.bim --gene-loc gene_locations.txt --out magma_annotation
  • –snp-loc:SNP位置文件,可以用plink的.bim文件,或者文本格式为:
SNPid chr pos
  • –gene-loc:文本格式为:
geneID chr start end +/- symbol

前四列必须。

2. gene-based GWAS

~/tools/magma --bfile snp_hardfiltered_biallelic_maf5_ms50_chr_imputated --gene-annot magma_annotation.genes.annot --pval blup.ps N=355 use=1,3 --out test
  • –gene-annot:注释文件
  • –pval:GWAS结果
  • N:样本数
  • use=1,3: 表示GWAS结果中snpID位于第1列,P值位于第3列

3. gene-set-based

~/tools/magma --gene-results blup.genes.raw --set-annot KEGG-pathways_first2.txt col=1,2 --out test
  • –gene-results:每二步产生的.genes.raw文件
  • –set-annot [file] col=1,2:基因集文件,第一列是geneID,第二列是基因所属set(可以是KEGG或者 GO条目或自设的基因通路)

遇到的问题

  • */lib64/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found **
    原因:系统自带libstdc++.so.6版本过低,或自己安装高版本但系统gcc库没有更新,无法找到
    解决办法:
首先,查看系统中所有libstdc++.so.6 版本
$ locate libstdc++.so.6
/home/liuqb/miniconda3/envs/magma/lib/libstdc++.so.6
/home/liuqb/miniconda3/envs/magma/lib/libstdc++.so.6.0.19
/home/liuqb/miniconda3/envs/magma/lib/libstdc++.so.6.0.19-gdb.py
/home/liuqb/miniconda3/envs/magma/lib/libstdc++.so.6.0.27
/home/liuqb/miniconda3/envs/magma/lib64/libstdc++.so.6
/home/liuqb/miniconda3/envs/magma/lib64/libstdc++.so.6.0.27
/home/liuqb/miniconda3/envs/magma/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
/home/liuqb/miniconda3/envs/magma/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.27
....
查看6.0.27中的GLIBCXX版本
$strings /home/liuqb/miniconda3/envs/magma/lib64/libstdc++.so.6.0.27|grep GLIBCXX
。。。
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
。。。
有GLIBCXX_3.4.20
将该库写入.basr_profile,32位系统用/lib,64位系统用/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/miniconda3/envs/magma/lib64/
若没有高版本的libstc++.so.6,可用conda安装,https://anaconda.org/
conda install -c prometeia libgcc-ng

你可能感兴趣的:(全基因组关联分析(GWAS))