MAGMA软件被设计用于基于基因的(gene-based)或基因集的(gene-set-based)的关联分析,可以直接找到与目的性状相关的功能基因或功能模块(如基因调控通路等),也有利于发现由多个微效 SNP 关联的基因。
MAGMA 的输入数据可以是原始的基因型数据,也可以是其它关联分析软件的结果(如emmax、超级的硬币等)。
本文用 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文件,或者文本格式为: SNPidchrpos–gene-loc:文本格式为: geneIDchrstartend+/-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.20GLIBCXX_3.4.21GLIBCXX_3.4.22GLIBCXX_3.4.23GLIBCXX_3.4.24GLIBCXX_3.4.25GLIBCXX_3.4.26GLIBCXX_3.4.27。。。有GLIBCXX_3.4.20将该库写入.basr_profile,32位系统用/lib,64位系统用/lib64export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/miniconda3/envs/magma/lib64/若没有高版本的libstc++.so.6,可用conda安装,https://anaconda.org/conda install -c prometeia libgcc-ng 82611840