MAGMA软件实现gene-based & gene-set-based关联分析
随着全基因组关联分析使用样本数量的增加,人们也逐渐认识到很多感兴趣的性状在本质上是由微效多基因控制。单个SNP的关联分析难以捕获显著性的结果,这种以基因为单位、以功能通路为单位或者以其他具有生物学意义的SNP聚集的方式的关联分析应运而生,这也是对仅以SNP-based关联分析的一种很好的补充。
随着接触复杂疾病相关研究,经常会查询相关文献,而MAGMA(Multi-marker Analysis of GenoMic Annotation)在高分文献中高频出现。
MAGMA包括三个功能模块:
①注释步骤,将SNP map到基因中;
②基于基因关联分析,计算基于基因和性状的关联显著性,在这又可以分为两个部分,一种是基于raw data的gene-based关联分析,另一种是基于SNP pvalue的gene-based关联分析;
③基于基因集的关联分析。
GWAS summary statistics格式介绍
GWAS summary statistics格式在关联分析中经常使用,很多软件基于该种格式数据来实现功能,也会有一些软件设置了使用该种格式数据的接口,因此有必要简单介绍一下各列的含义,如下图:
MAGMA软件使用
SNP注释
MAGMA软件第一步是SNP注释步骤,输入的文件是bim文件(plink格式文件)和基因的位置信息。
magma --annotate --snp-loc [SNPLOC_FILE] --gene-loc [GENELOC_FILE] --out [OUTPUT_PREFIX]
①SNP位置信息文件应该包含三列,即前三列为SNP ID, chromosome, 和base pair position,如果是plink产出的bim文件就不需要修改了,plink的bim文件格式如下:(染色体,SNP ID,unknown,BP,ref和alt)
②基因的位置信息文件应该包含至少四列,即gene ID, chromosome, start site和stop site,第五列可以是正负链信息(仅在用不对称的基因窗口注释时才会用到),具体格式如下:
③产出结果:gene ID,基因位置,SNP ID
基于基因的分析
基于基因的分析可以分为两个部分:基于原始数据的基因分析和基于SNP p-value数据的基因分析。
基于原始数据的基因分析,输入的是原始文件bed/.bim/.fam(可直接输入名字,不用加后缀);上一步输出的结果.annot文件。
magma --bfile [DATA] --gene-annot [ANNOT_PREFIX].genes.annot --out [GENE_PREFIX]
基于SNP p-value数据的基因分析,--pvalue参数需要指定SNP pvalue文件。
magma --bfile [DATA] --gene-annot [ANNOT].genes.annot --pval [PVAL_FILE] N=[N]
magma --bfile [DATA] --gene-annot [ANNOT].genes.annot --pval [PVAL_FILE] ncol=[N_COL]
基于原始数据的基因分析
其中DATA必须为plink格式文件,[DATA].bed, [DATA].bim和[DATA].fam files;默认是使用PCA回归基因分析模型。
magma --bfile /GWAS/split_chr/Middle/chr1 --gene-annot gevin.genes.annot --out gevin_gene_based_rawdata
基于SNP p-value数据的基因分析
magma --bfile /GWAS/split_chr/Middle/chr1 --gene-annot gevin.genes.annot --pval SNPassocFisher.result use=2,8 N=170 --out gevin_gene_based
参数分别为:
–gene-annot:注释文件;
–pval:GWAS结果;
N:样本数;
use=1,3: 表示GWAS结果中snpID位于第1列,P值位于第3列;
ncol=[N_COL],ncol和N都是用去指定样本数,N只能统一指定一个值,对于case-control总体的数目,而对于分析X和Y染色体上的位点时,可能需要两个样本值;而对于meta分析时,每个SNP都对应着不同的样本数,因此会用到多个样本值,ncol就可以指定SNP对应样本数的列。ncol参数是被推荐。
注意:
a:MAGMA提供同义SNP(需要依据dbSNP,一些不同的rs IDs已经合并成为一个ID)处理
b:指定gene-based分析的模型,主要有三个:
the principal components regression (linreg) model
the SNP-wise Mean (snp-wise=mean) model
the SNP-wise Top 1 (snp-wise=top) model
对于Gene analysis on raw genotype data分析应用的模型默认是linreg,而对于使用--pval参数的分析,默认使用的模型是snp-wise=mean。
产出结果的解读
GENE:第一步注释完之后的基因ID;
CHR:基因位于的染色体;
START/STOP:染色体上基因的注释边界;
NSNPS:注释到该基因的SNP数量;
NRARE:被分类为罕见变异的SNP数量;
NPARAM:模型中使用的相关参数的个数;
N:样本量;
ZSTAT:基因的z值;
P:基因的p值;
RSQ/RSQ_ADJ:模型的R2和调整后的R2值。
基于基因集的分析
基因集分析可以更加直观的展示出基因的哪些功能和生物学特性是与特定表型相关的,而基因具有多种特性,这些特性在不同基因中通常是相关的,容易在基因集关联分析引入混淆,MAGMA在基因集分析中有了很大功能提升。
magma --gene-results [GENE_RESULTS].genes.raw --set-annot [SET_FILE] --out [OUTPUT_PREFIX]
MAGMA/magma --gene-results gevin_gene_based.genes.raw --set-annot synapse.sets col=1,2 --out gevin_geneset_based
其中:
–gene-results:基于基因分析产生的.genes.raw文件;
-set-annot [file] col=1,2:基因集文件,第一列geneID,第二列基因所属set(可以是KEGG或者GO条目等基因通路)。
产出结果的解读
每列分别为:
VARIABLE: 基因集名称; TYPE: 类型; NGENES: 基因集中基因数目; BETA: 变量回归系数; BETA_STD: 半标准化回归系数,对应于预测基因集/基因协变量中一个标准偏差的变化时预测 Z 值的变化(即 BETA 除以变量的标准偏差); SE: 回归系数的标准误; P: 基于基因集分析的p-value。
总结
MAGMA软件输入数据既可以是原始数据也可以是关联分析结果数据,既可以进行gene-based分析挖掘特定表型相关的基因,也可以进行生物通路水平的分析,在充分使用测序数据和表型的同时也丰富了我们的分析结果。
参考文献
https://ctg.cncr.nl/software/magma
作者:Bio_gevin
审稿:童蒙
编辑:amethyst
往期回顾