目錄:
-
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