欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-02 20:33:16
...

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