MAGMA——做gene analysis的GWAS数据分析软件

目录:

  • overview

  • download 

  • quick start

 

【Overview】

MAGMA是一个用于GWAS数据分析的软件,首次发表于文章:

de Leeuw C, Mooij J, Heskes T, Posthuma D (2015): MAGMA: Generalized gene-set analysis of GWAS data. PLoS Comput Biol 11(4): e1004219. doi:10.1371/journal.pcbi.1004219 (link)

中。

官方介绍:

MAGMA is a tool for gene analysis and generalized gene-set analysis of GWAS data. It can be used to analyse both raw genotype data as well as summary SNP p-values from a previous GWAS or meta-analysis.

MAGMA是一个能够做gene analysis 和gene-set analysis的GWAS数据分析软件。该软件使用的数据可以是基因型文件数据(比如plink 的bfile),也可以是GWAS或meta-analysis结果中的P-vaule。

 

其中,

基因和基因集分析是同时分析多个遗传标记以确定其联合效应的统计方法。这种方法的优点,首先是其大大减少了计算量,其次是可能检测到多个marker之间微弱的关联/相互作用,另外,它还能对于表型遗传病因中特定生物学途径或细胞功能进行一些探究。

(1)gene analysis方法中,需要先把单个SNP数据整合到基因水平(即注释),然后用基因数据(整合了单个SNP的信息)和表型进行关联分析,量化每个基因与表型的关联程度。此外,还估计了基因之间的相关性。这些相关性反映了基因间的LD,在gene set analysis中,为了补偿基因间的依赖关系,需要这些相关性。

(2)gene-set analysis方法gene analysis的基础上,将个体基因数据根据生物过程、功能或其它特征进行分类聚合成基因群,利用上一步中得到的基因p值和基因相关矩阵进行实际的基因集分析。Gene-set analysis方法可以被分为self-contained和competitive analysis两种类别。其中self-contained会关注被分到同一个gene set的gene之间是否存在相互作用,competitive analysis主要研究被分到同一个gene set的gene之间的相互作用是否强于没有被分到同一个gene set的gene之间的相互作用。

 

基于GWAS summary数据也可以做,这些SNP-wise模型首先分析一个基因中的单个SNP,并将得到的SNP p值组合成一个基因测试统计量,因此,即使只有SNP p值可用,也可以使用这些模型。

 

目前做gene的全基因组关联分析的方法中存在两个问题:第一,大多数方法的统计能力会受到marker之间连锁不平衡的影响(现有的方法主要是先将每个marker的关联性汇总,然后再将其聚合为gene或gene set),marker之间的相互作用也很难被检测出来;第二,依赖排列(permutation)来计算p值的计算方法的计算量十分巨大。

为了解决以上问题,研究者开发了这个用于基因(gene)和基因集(gene-set)关联分析的新方法MAGMA:

Gene analysis使用的是多元回归模型,考虑了marker之间的连锁不平衡并能够检测multi-marker的效应。

gene-set analysis是在gene analysis的基础上,新建了一个layer。Self-contained和competitive analysis都是使用gene-level的回归模型。该模型不仅能够处理分类变量,也能处理连续变量,例如对基因表达水平进行分析、对gene set的其它特性进行条件分析等。

 

【Download】

下载网址:https://ctg.cncr.nl/software/magma

 

 我用的是Linux(Debian,64bits)

 

 

 【Quick Start】

MAGMA是一个独立程序,可以从命令行运行。MAGMA输入参数以--为前缀,后边接所需的命令和文件名。

 

MAGMA可以基于原始GWAS数据,或者基于SNP的p_value进行关联分析。在进行分析前,需要注意:

  • 基于SNP的p_value进行关联分析时,需要设定参考基因组(如千人基因组),用于说明SNP之间的连锁不平衡。
  • 软件假设输入数据(GWAS数据或者P值)已经经过QC和过滤。
  • 使用填充的基因数据时,建议使用imputation质量较高的数据。
  • 强烈建议对数据进行清洗和异常值处理,并使用GWAS数据计算出的PC作为协变量进行基因分析,以矫正可能的群体分层。

 

MAGMA中的基本分析包含两到三个步骤:

第一,将SNP定位到基因上,即注释

第二,基于基因P_value的分析(gene-level analysis)

第三,基因set分析或基因property分析,或者同时做这两个分析。

其中,gene-level的分析都基于gene分析,gene分析的output可以作为gene-level analysis的input。

 

使用方法:

以下是常见的基本分析步骤,需要自己替换方括号中的大写值,例如[VALUE]。

假设magma已经加入环境变量中,即在命令行中键入“ magma”从任何地方调用MAGMA可执行文件。如果不是,则必须将完整路径添加到MAGMA可执行文件(例如,“ ./ magma”,如果它在当前目录中)。

运行任何命令时,MAGMA都会在屏幕以及.log文件中写入日志,其中包含正在执行的操作的详细信息,比如一些警告信息,用来检查程序是否正常运行。

例如,参考数据与SNP p值之间的SNP ID命名不匹配会导致很大一部分SNP从分析中丢失。除非没有匹配的SNP,否则这不会停止分析,也不会触发警告,但是从报告的从p值文件读取的有效SNP p值的百分比中可以清楚地看出这一点。

1、注释

 

命令:magma --annotate --snp-loc [SNPLOC_FILE] --gene-loc [GENELOC_FILE] --out [ANNOT_PREFIX]

例子:./magma_v1.08/magma --annotate --snp-loc snp_loc5.txt --gene-loc NCBI37.3.gene.loc --out meta_37

这将从文件[SNPLOC_FILE]读取SNP位置,并从文件[GENELOC_FILE]读取基因位置,并生成文件[ANNOT_PREFIX] .genes.annot,这个命令完成了SNP的注释。

可以从MAGMA网站下载[GENELOC_FILE],以获取不同的版本,[SNPLOC_FILE]必须由用户提供。基因型(reference)数据的.bim文件可用于此目的(确保SNPLOC_FILE和GENELOC_FILE的基因、SNP命名方法相同!

snp_loc5.txt[截图

NCBI37.3.gene.loc下载👇(MAGMA下载页面往下拉,就能看到Gene location文件和千人基因组数据)

 

 

 

 

2.1、基因分析-原始数据

命令:magma --bfile [DATA] --gene-annot [ANNOT_PREFIX] .genes.annot --out [GENE_PREFIX]

这将使用先前生成的注释文件对二进制PLINK格式([DATA] .bed / .bim / .fam文件)的GWAS数据执行基因分析。它将输出两个文件:[GENE_PREFIX] .genes.out和[GENE_PREFIX] .genes.raw。 .genes.out文件包含人类可读格式的基因分析结果。 .genes.raw文件是中间文件,用作后续基因级分析的输入。

要仅执行基因分析,而无需后续的基因集分析,可以添加--genes-only标志。这样可以禁止创建.genes.raw文件,并大大减少了运行时间和所需的内存。

 

2.2、基因分析-SNP p值

 

命令:magma --bfile [REFDATA] --pval [PVAL_FILE] N = [N] --gene-annot [ANNOT_PREFIX] .genes.annot  --out [GENE_PREFIX]

例子:./magma_v1.08/magma --bfile g1000_eas --gene-annot meta_37.genes.annot --pval p_value5.txt ncol=NOBS --out meta37

这类似于原始数据分析,但是将原始数据替换为参考数据集,例如1,000个Genomes European panel(可在MAGMA网站上获得)以及具有先前计算的SNP p值的文件(在“ SNP”和“ [PVAL_FILE]文件中的“ P”)。

还需要指定从中获取SNP p值的数据的样本大小[N]。如果每个SNP的样本数量列可用  在[PVAL_FILE]中,也可以通过对-pval标志使用“ ncol = [N_COLUMN_NAME]”(而不是“ N = [N]”)来使用。

如果不执行后续的基因集分析,则可以再次设置--genes-only标志。

[PVAL_FILE]文件p_value.5.txt👇[截图

[ANNOT_PREFIX]文件时注释步骤中的结果文件:[截图

 

 

 

REFDATA👇

 

 

3、基因组分析

 

命令:magma --gene-results [GENE_PREFIX] .genes.raw --set-annot [SET_FILE] --out [GS_PREFIX]

读取先前执行的基因分析的结果,以及读取基因到文件[SET_FILE]中指定的基因集的映射(每行对应一个基因集:基因集的名称,后跟基因ID,分隔符为空格)。这将产生文件[GS_PREFIX] .gsa.out,并具有(竞争性)基因集分析结果。

连续基因水平变量的分析可以使用:

magma --gene-results [GENE_PREFIX] .genes.raw --gene-covar [COVAR_FILE] --out [GC_PREFIX]

文件[COVAR_FILE]是一个数据文件,其行对应于基因,而列则对应于要分析的变量(第一列包含基因ID)。该命令将生成文件[GC_PREFIX] .gsa.out,其中包含文件中每个变量的分析结果。

 

 

【Reference】

https://www.jianshu.com/p/15c478da414d

https://ctg.cncr.nl/software/MAGMA/doc/manual_v1.08.pdf

de Leeuw C, Mooij J, Heskes T, Posthuma D (2015): MAGMA: Generalized gene-set analysis of GWAS data. PLoS Comput Biol 11(4): e1004219. doi:10.1371/journal.pcbi.1004219

 

posted @ 2020-10-24 21:54  桃花换小鱼干好不好  阅读(5808)  评论(0编辑  收藏  举报