MAGMA软件被设计用于基于基因的(gene-based)或基因集的(gene-set-based)的关联分析,可以直接找到与目的性状相关的功能基因或功能模块(如基因调控通路等),也有利于发现由多个微效 SNP 关联的基因。
MAGMA 的输入数据可以是原始的基因型数据,也可以是其它关联分析软件的结果(如emmax、gemma等)。
本文用 emmax 的关联分析结果作为输入文件,因为 MAGMA 虽然可以用原始数据进行单位点的关联分析,但是它的运行速度没有 emmax 快。
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
SNPid | chr | pos |
---|
geneID | chr | start | end | +/- | symbol |
---|
前四列必须。
~/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
~/tools/magma --gene-results blup.genes.raw --set-annot KEGG-pathways_first2.txt col=1,2 --out test
首先,查看系统中所有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