表達(dá)富集分析軟件ABAEnrichment (1)


以下介紹引用自

表達(dá)譜芯片數(shù)據(jù)的基因功能富集分析 劉 明1 王米渠2 丁維俊2 綜述 畢 鋒1 審校

基因富集分析是生物信息學(xué)分析領(lǐng)域的一種分析方法。常見的基因富集分析是基因功能富集分析,這種方法可以對(duì)不同層次不同來(lái)源的數(shù)據(jù)進(jìn)行整合,并在沒有先驗(yàn)經(jīng)驗(yàn)存在的情況下也能在表達(dá)譜整體層次上對(duì)上萬(wàn)條基因進(jìn)行富集分析。

基因功能富集分析原理

基因功能富集分析又稱功能聚類分析, 主要借助于各種生物學(xué)信息數(shù)據(jù)庫(kù)分析工具進(jìn)行統(tǒng)計(jì)分析, 挖掘在基因知識(shí)庫(kù)中同分子譜數(shù)據(jù)具有顯著相關(guān)性的功能類別, 統(tǒng)計(jì)原理是用超幾何分布型來(lái)檢驗(yàn)一組基因( 共表達(dá)或差異表達(dá)) 中某個(gè)功能類的顯著性, 通過(guò)離散分布的顯著性分析、富集度分析和假陽(yáng)性分析,得出與實(shí)驗(yàn)?zāi)康挠酗@著關(guān)聯(lián)的、低假陽(yáng)性率的及靶向性的基因功能類別, 該功能類別即是導(dǎo)致樣本性狀差異的最重要的功能差別, 而其所屬基因是需進(jìn)一步驗(yàn)證的重要目標(biāo)基因, 其功能特征將闡明樣本性狀變化的內(nèi)在生物學(xué)意義, 如圖1所示。

分子譜數(shù)據(jù)可以通過(guò)多種方法獲得:

  • 過(guò)倍數(shù)法、Z 值法、t-檢驗(yàn)及方差分析、貝葉斯分析等統(tǒng)計(jì)學(xué)方法獲得的差異表達(dá)基因
  • 或者是通過(guò)K-均值聚類( K-means cluster) 、分層聚類( hierarchical clustering, HC) 、自組織映射神經(jīng)網(wǎng)絡(luò)( self-organizing map, SOM) 等方法獲得的各個(gè)獨(dú)立的基因簇

基因知識(shí)庫(kù)主要指:

基因功能富集分析的相關(guān)軟件

基因集富集分析( gene set enrichment analysis, GSEA)

GSEA 是2003年提出來(lái)的一種對(duì)表達(dá)譜芯片進(jìn)行分析的方法, 并被編制成軟件。它的主要目的就是確定預(yù)先定義的基因集( 具有相同或相似的功能, 或位于同一染色體相鄰位點(diǎn)的一群基因) 在表達(dá)譜芯片結(jié)果中是否有顯著性。
GSEA 分析過(guò)程分為5 步:

  1. 基因知識(shí)庫(kù)的獲得;
  2. 根據(jù)基因表達(dá)譜數(shù)據(jù)對(duì)所有基因進(jìn)行排序
  3. 計(jì)算富集得分( enrichment score, ES)
  4. 估計(jì)顯著性水平;
  5. 進(jìn)行多重假設(shè)檢驗(yàn)。

以下引用 基因表達(dá)譜富集分析方法研究進(jìn)展 曹文君,李運(yùn)明,陳長(zhǎng)生

因集的定義

基因集的定義基于統(tǒng)一的先驗(yàn)生物學(xué)知識(shí),如已發(fā)表的有關(guān)生物通道、基因共表達(dá)信息等。一個(gè)基因及是基因芯片上一組具有相同生物學(xué)功能或位于統(tǒng)一生物通道的基因。最常用于定義基因集的基因注釋數(shù)據(jù)庫(kù)有Gene Ontology (GO)、Kyoto Encyclopedia of Genes and Genomes orthology(KO)和ENTREZ。
1. GO功能注釋
GO是按嚴(yán)格的生物學(xué)背景、采用統(tǒng)一的術(shù)語(yǔ)結(jié)構(gòu)注釋基因 及其產(chǎn)品的數(shù)據(jù)庫(kù),包含幾千條術(shù)語(yǔ),分為3大分支:分子功能(molecular function)、生物過(guò)程(biological process)和細(xì)胞組成(cellular component)。GO的每個(gè)分支是一幅有向無(wú)環(huán)圖(DAG),含有大量節(jié)點(diǎn)(術(shù)語(yǔ))和分支,越高層的節(jié)點(diǎn)代表的意義越廣泛,越低層的節(jié)點(diǎn)代表的意義越狹隘。每個(gè)節(jié)點(diǎn)含有多個(gè)意義廣泛的父項(xiàng)(parent terms)和多個(gè)意義具體的子項(xiàng)(children terms)。一個(gè)基閡能被多個(gè)術(shù)語(yǔ)注釋,目前許多基因還未被GO數(shù)據(jù)庫(kù)注釋。如果某一基因被某特定節(jié)點(diǎn)A注釋,則該基因?qū)⒆詣?dòng)被A節(jié)點(diǎn)的所有祖項(xiàng)(ancestors terms)所注釋。

image.png

image.png

2. KO基因通路注釋
KO是由基因通路圖構(gòu)成的數(shù)據(jù)庫(kù),描述基因調(diào)控網(wǎng)絡(luò),含有4個(gè)層次的有向無(wú)環(huán)圖,其中第3個(gè)層次直接對(duì)應(yīng)KEGG基因通路。微陣列芯片上屬于同一KEGG基因通路(KO分類)的基
因可定義為一個(gè)基因集。
3. ENTREZ基因間信息注釋
ENTREZ是一個(gè)綜合性的數(shù)據(jù)庫(kù),提供了基因和基因產(chǎn)物的大量信息,包含基因GO、KO信息,以及基因間相互作用信息四。ENTREZ采用統(tǒng)一格式對(duì)基因間相互信息進(jìn)行注釋。類似的數(shù)據(jù)庫(kù)有BIND、BioGRID、EcoCyc和HPRD。
基因集可根據(jù)以上任一數(shù)據(jù)庫(kù)的注釋信息來(lái)定義,也可利用數(shù)據(jù)庫(kù)交叉信息進(jìn)行定義。換句話說(shuō),被同一GO或KO術(shù)語(yǔ)注釋的基因町定義為一個(gè)基因集;整合GO、KO注釋信息,同時(shí)也考慮來(lái)自ENTREZ的基因間相互作用信息,也町定義一個(gè)基因集。有研究者認(rèn)為多數(shù)據(jù)庫(kù)交叉信息定義的基因集更穩(wěn)健,但采用單術(shù)語(yǔ)定義基因集簡(jiǎn)單易操作。



本文中為大家介紹一個(gè)R語(yǔ)言的包ABAEnrichment,這個(gè)R包可以用來(lái)檢測(cè)在不同發(fā)育階段的特定腦區(qū)上基因表達(dá)的富集度。該軟件包融合了AllenBrainAtlas的表達(dá)數(shù)據(jù)以及大腦結(jié)構(gòu)組織的本體論數(shù)據(jù)。
(http://bioconductor.org/packages/3.3/bioc/html/ABAEnrichment.html).

ABAEnrichment: an R package to test for gene set expression enrichment in the adult and developing human brain

發(fā)表在Bioinfomatics雜志上

https://www.ncbi.nlm.nih.gov/pubmed/27354695

改文章目前被引用2次?
1.Detecting ancient positive selection in humans using extended lineage sorting **
http://www.biorxiv.org/content/early/2016/12/13/092999.full.pdf+html
2.
Excavating Neandertal and Denisovan DNA from the genomes of Melanesian individuals** (補(bǔ)充材料)
http://science.sciencemag.org/content/352/6282/235/tab-pdf

上述介紹的均為基因功能富集分析,這類分析常使用本體論的方法(例如基因本體論)對(duì)受基因影響的功能和表型進(jìn)行深入研究。AllenBrainAtlas(ABA)計(jì)劃提供了人腦多腦區(qū)、橫跨多年齡段的基因表達(dá)信息(Allen Human Brain Atlas; human.brain-map.org and BrainSpan Atlas of the Developing Human Brain; brainspan.org)。因此,這些信息可以用來(lái)探究在特定腦區(qū)/特定發(fā)育階段所涉及到的基因集。該軟件包是目前為止第一個(gè)利用ABA數(shù)據(jù)庫(kù),采用本體論方法對(duì)候選基因在特定腦區(qū)/發(fā)育階段的表達(dá)富集進(jìn)行統(tǒng)計(jì)學(xué)分析的軟件包。
富集分析首先需要對(duì)每個(gè)腦區(qū)進(jìn)行基因注釋,即將在這些腦結(jié)構(gòu)上表達(dá)的基因分配到這些腦區(qū)上。該軟件再分配之前會(huì)對(duì)基因的表達(dá)量卡一個(gè)閾值來(lái)劃分表達(dá)與否。
具體處理方法如下所示。


image.png

基因表達(dá)數(shù)據(jù)

采用了ABA提供的兩套數(shù)據(jù):成人數(shù)據(jù)以及發(fā)育數(shù)據(jù)
**1. 成年人基因表達(dá)數(shù)據(jù): **來(lái)自六個(gè)成年人被試的微陣列數(shù)據(jù)(Microarray Survey, Oct. 2013 v.7),包含了414個(gè)腦區(qū)上大約16000個(gè)標(biāo)準(zhǔn)化的基因表達(dá)數(shù)據(jù)(Microarray Data Normalization, March 2013 v.1);
2. 發(fā)育基因表達(dá)數(shù)據(jù):來(lái)自42個(gè)跨越31個(gè)不同發(fā)育階段的被試的標(biāo)準(zhǔn)化后的RNA-Seq大約17000個(gè)基因的表達(dá)數(shù)據(jù)(RPKM, ‘RNA-Seq Gencode v10 summarized to genes'),發(fā)育階段范圍為:出生后8周到40歲。26個(gè)腦區(qū)中,有16個(gè)區(qū)域有至少20個(gè)不同的年齡階段的采樣,其他10個(gè)腦區(qū)則只有少于5個(gè)不同發(fā)育階段的表達(dá)數(shù)據(jù)。

image.png
image.png

基因表達(dá)數(shù)據(jù)的處理

**1. 成年人基因表達(dá)數(shù)據(jù): **
某特定腦區(qū)上某特定基因的表達(dá)水平定義為:該基因所有的在該腦區(qū)的樣本上所有探針測(cè)量的基因表達(dá)量的平均值。
2. 發(fā)育基因表達(dá)數(shù)據(jù):
為了增加發(fā)育效應(yīng)的統(tǒng)計(jì)檢驗(yàn)的效力,發(fā)育數(shù)據(jù)僅針對(duì)上述提到的涵蓋20個(gè)不同發(fā)育階段的腦區(qū)進(jìn)行分析。當(dāng)檢測(cè)發(fā)育效應(yīng)時(shí),某基因在某腦區(qū)某發(fā)育階段的表達(dá)量定義為該腦區(qū)該階段,所有樣本基因的RNA-Seq表達(dá)量的均值。

本體論

ABA提供了互相不覆蓋的腦結(jié)構(gòu)的本體論,發(fā)育數(shù)據(jù)集和成人數(shù)據(jù)集分別涵蓋了3317和1534個(gè)腦區(qū)。
**1. 成年人基因表達(dá)數(shù)據(jù): **
1534個(gè)腦區(qū)中,有414個(gè)腦區(qū)有直接的基因表達(dá)數(shù)據(jù)。其他沒有直接的表達(dá)數(shù)據(jù)的腦區(qū),若其任意一個(gè)子區(qū)域上有某給定表達(dá)的信息,則認(rèn)為該基因在這個(gè)腦區(qū)上表達(dá)了。具體數(shù)量信息如下表所示。

image.png

上表中可見,在成人數(shù)據(jù)中,有直接測(cè)量得到的基因表達(dá)信息的腦區(qū)有414個(gè);這些腦區(qū)加上通過(guò)本體論信息補(bǔ)充的(即從子區(qū)域中得到的信息)一共677個(gè)腦區(qū);在通過(guò)腦結(jié)構(gòu)本體論信息補(bǔ)充信息的區(qū)域中,有20個(gè)是冗余的,即,該區(qū)域只有一個(gè)子區(qū)域,且該子區(qū)域有表達(dá)信息。故,在富集分析的輸出中,將共有657行對(duì)應(yīng)所有有注釋的腦區(qū)。
2. 發(fā)育基因表達(dá)數(shù)據(jù):
如上圖所示。一共47個(gè)腦區(qū)納入分析。

富集分析

經(jīng)過(guò)用戶自定義的閾值篩選后,表達(dá)量高于閾值的的基因被注釋到腦區(qū)。這個(gè)閾值默認(rèn)為所有腦區(qū)上10%為補(bǔ)償?shù)谋磉_(dá)分位數(shù)。接下來(lái),軟件調(diào)用aba_enrich 函數(shù)采用超幾何檢驗(yàn)或者是Wilcoxon-秩和檢驗(yàn)進(jìn)行富集分析。


軟件實(shí)現(xiàn)

軟件頁(yè)面可見
https://www.bioconductor.org/packages/release/bioc/vignettes/ABAEnrichment/inst/doc/ABAEnrichment.html

表達(dá)數(shù)據(jù)

軟件包包含三種表達(dá)數(shù)據(jù):

  1. 6個(gè)成年人的微陣列數(shù)據(jù)
  2. 42個(gè)被試橫跨 5大不同發(fā)育階段(胎兒、嬰兒、兒童、青少年和成年人)的RNA-Seq數(shù)據(jù)
  3. 每個(gè)基因的發(fā)育分?jǐn)?shù):表示年齡對(duì)該基因的表達(dá)的效應(yīng)。
    這三個(gè)數(shù)據(jù)集都首先對(duì)編碼蛋白的基因進(jìn)行了篩選,然后,基因的表達(dá)量水平都在所有被試上的平均值。第三個(gè)數(shù)據(jù)集是一個(gè)衍生分?jǐn)?shù),并不包含基因表達(dá)信息。

腦區(qū)上基因的注釋

基因注釋采用了描述大腦結(jié)構(gòu)層級(jí)構(gòu)架的本體論信息。腦區(qū)被其上或其子結(jié)構(gòu)上表達(dá)的所有基因注釋。基因的表達(dá)與不表達(dá)是通過(guò)閾值來(lái)劃分的,這個(gè)閾值是基因表表達(dá)量的百分?jǐn)?shù),并通過(guò)設(shè)置cutoff_quantiles的參數(shù)進(jìn)行劃分。比如,閾值設(shè)為0.4,意味著大腦中低于40%表達(dá)分位數(shù)的基因被認(rèn)為“不表達(dá)”,而前60%的基因被認(rèn)為“表達(dá)”。每個(gè)閾值下,都會(huì)進(jìn)行獨(dú)立的基因表達(dá)富集分析。默認(rèn)為10%:10%:90%

富集分析

富集分析采用超幾何檢驗(yàn)或者是Wilcoxon-秩和檢驗(yàn)進(jìn)行富集分析(集成與FUNC軟件中)。

  1. 超幾何檢驗(yàn)用來(lái)估計(jì)在每個(gè)腦區(qū)上,被注釋(表達(dá)的)的候選基因相對(duì)于被注釋的背景基因的富集程度。這里涉及到背景基因如何定義。背景基因可以默認(rèn)的就非常簡(jiǎn)單的定義為所有編碼蛋白的非候選基因,也可以用戶指定。
  2. 相對(duì)于這種二分化的對(duì)候選基因和背景基因的定義方式,Wilcoxon-秩和檢驗(yàn)引入了用戶給基因自定義的分?jǐn)?shù)。該檢驗(yàn)可以檢測(cè)每個(gè)腦區(qū)上分?jǐn)?shù)高的基因集的富集。
    分析過(guò)程中不可避免涉及到多重比較的作用,軟件包中采用了一種非參(隨機(jī)集,置換檢驗(yàn)?)的方法來(lái)對(duì)family-wise error進(jìn)行控制。
    隨機(jī)集的產(chǎn)生方式(默認(rèn))通過(guò)將候選基因和背景基因進(jìn)行置換(超幾何檢驗(yàn)),或是將基因分配的分?jǐn)?shù)進(jìn)行置換(Wilcoxon-秩和檢驗(yàn))。如流程圖中所示。
    超幾何檢驗(yàn)方法中,ABAEnrichment還提供了額外的選項(xiàng),可以在置換過(guò)程中令背景基因被隨機(jī)選為候選基因的概率與該背景基因的長(zhǎng)度成正比(gene_len選項(xiàng))。
    除了這種指定候選單個(gè)基因的方式,也可以選取整個(gè)基因區(qū)域作為輸入。如下圖所示,軟件檢測(cè)所選候選基因區(qū)域相對(duì)于背景基因區(qū)域在腦區(qū)上的富集程度。此時(shí),有兩種產(chǎn)生隨機(jī)集的方式(選項(xiàng)circ_chrom):
  3. (默認(rèn))背景區(qū)域中隨機(jī)選取一個(gè)連續(xù)block,作為新的候選基因。(可位于與候選區(qū)域不同的染色體)
  4. 在位于候選區(qū)域的同一條染色體上的背景區(qū)域中選取一個(gè)區(qū)域作為新的候選基因。這是不必為連續(xù)的block。
image.png

ABAEnrichment中包含的函數(shù)

函數(shù) 描述
aba_enrich 進(jìn)行富集分析的核心函數(shù)
get_expression 返回給定基因集在給定腦區(qū)上的表達(dá)值
plot_expression 畫出給定基因集在給定腦區(qū)上的表達(dá)值的heatmap圖
get_name 返回指定腦結(jié)構(gòu)ID的全名
get_sampled_substructures 返回給定腦區(qū)上有表達(dá)數(shù)據(jù)的子結(jié)構(gòu)
get_superstructures 返回給定腦區(qū)的上層結(jié)構(gòu)
get_id NEW:返回給定名字腦區(qū)的結(jié)構(gòu)ID
get_annotated_genes NEW:返回富集的腦區(qū)或者是用戶指定的腦區(qū)上注釋的基因

程序示例

這里僅介紹使用超幾何檢驗(yàn)方法檢測(cè)基因表達(dá)富集方法
設(shè)定一個(gè)候選基因集(包含13個(gè)基因),試圖找到這些候選基因的表達(dá)究竟富集在哪些腦區(qū)上。分別采用成年人數(shù)據(jù)和5個(gè)發(fā)育階段的發(fā)育數(shù)據(jù)。定義候選基因的方法是采用二值化定義的方法,0標(biāo)記為背景基因,1標(biāo)記為候選基因。基因的名字可以通過(guò)不同的基因標(biāo)識(shí)進(jìn)行定義 (Entrez-ID, Ensembl-ID or gene-symbol)。例子中沒有特別指定背景基因,因此全部編碼蛋白的基因都被選為背景基因。

## load ABAEnrichment package
library(ABAEnrichment)
## create input vector with candidate genes
gene_ids = c('NCAPG', 'APOL4', 'NGFR', 'NXPH4', 'C21orf59', 'CACNG2', 'AGTR1', 'ANO1', 
'BTBD3', 'MTUS1', 'CALB1', 'GYG1', 'PAX2')
genes = rep(1, length(gene_ids)) #genes變量保存一列1來(lái)標(biāo)記候選基因
names(genes) = gene_ids
genes

輸出:

##    NCAPG    APOL4     NGFR    NXPH4 C21orf59   CACNG2    AGTR1     ANO1    BTBD3    MTUS1    CALB1     GYG1 
##        1        1        1        1        1        1        1        1        1        1        1        1 
##     PAX2 
##        1

aba_enrich函數(shù)用來(lái)進(jìn)行核心的富集分析。其輸入為genes向量,并用dataset選項(xiàng)指定用于計(jì)算的數(shù)據(jù)集,默認(rèn)為adult,另外可指定為5_stages

## run enrichment analyses with default parameters for the adult and developing human brain
res_adult = aba_enrich(genes, dataset='adult')
res_devel = aba_enrich(genes, dataset='5_stages')

下面示例設(shè)置初始閾值。cutoff_quantilesn_randsets的默認(rèn)值為seq(0.1,0.9,0.1)1000

## run enrichment analysis with less cutoffs and randomsets to save computation time
res_devel = aba_enrich(genes, dataset='5_stages', cutoff_quantiles=c(0.5,0.7,0.9), n_randsets=100)

aba_enrich返回結(jié)果為一個(gè)列表res_devel,其第一個(gè)元素包含了每個(gè)腦區(qū)和年齡分組的統(tǒng)計(jì)分析的結(jié)果(每個(gè)年齡分組內(nèi),獨(dú)立進(jìn)行的分析)

## extract first element from the output list, which contains the statistics
fwers_devel = res_devel[[1]]
## see results for the brain regions with highest enrichment for children (3-11 yrs, age_category 3)
fwers_3 = fwers_devel[fwers_devel[,1]==3, ]#3表示年齡分類3
head(fwers_3)
##    age_category structure_id                                     structure times_FWER_under_0.05 mean_FWER
## 55            3  Allen:10657                         CBC_cerebellar cortex                     0 0.5000000
## 56            3  Allen:10361                        AMY_amygdaloid complex                     0 0.9500000
## 57            3  Allen:10163    M1C_primary motor cortex (area M1, area 4)                     0 0.9566667
## 58            3  Allen:10225 IPC_posteroventral (inferior) parietal cortex                     0 0.9733333
## 59            3  Allen:10173            DFC_dorsolateral prefrontal cortex                     0 0.9833333
## 60            3  Allen:10161                         FCx_frontal neocortex                     0 0.9866667
##    min_FWER                                       equivalent_structures          FWERs
## 55     0.36 Allen:10657;Allen:10656;Allen:10655;Allen:10654;Allen:10653 0.66;0.48;0.36
## 56     0.85                                                 Allen:10361       0.85;1;1
## 57     0.87                                     Allen:10163;Allen:10162       0.87;1;1
## 58     0.92                                     Allen:10225;Allen:10214       0.92;1;1
## 59     0.96                                                 Allen:10173    0.96;1;0.99
## 60     0.96                                                 Allen:10161       0.96;1;1

結(jié)果的列分別為age_category,腦區(qū)相關(guān)信息, times_FWER_under_0.05, min_FWERmean_FWER。例如,min_FWER 為在所有閾值下,在該腦區(qū)表達(dá)的候選基因富集度的最小FWER值。FWER列則列出了所有閾值下的FWER值。
equivalent_structures列中列出了與該腦區(qū)具有相同表達(dá)模式的其他區(qū)域,這是因?yàn)檫@些區(qū)域之間存在依賴性,并不完全獨(dú)立。節(jié)點(diǎn)(腦區(qū))從他的本體論中的子節(jié)點(diǎn)(子區(qū)域)上遺傳基因表達(dá)與否,如果某個(gè)區(qū)域只有一個(gè)子節(jié)點(diǎn)表達(dá),則該父節(jié)點(diǎn)繼承了唯一子節(jié)點(diǎn)的表達(dá)后,即具有跟子節(jié)點(diǎn)完全相同的遺傳信息。
除了統(tǒng)計(jì)的結(jié)果之外,aba_enrich也給出了候選基因中有哪些通過(guò)閾值被劃分為表達(dá)(若在所有腦區(qū)上均沒有通過(guò)閾值則不出現(xiàn)。)。

res_devel[2:3]
## $genes
##    AGTR1     ANO1    BTBD3 C21orf59   CACNG2    CALB1     GYG1    MTUS1    NCAPG     NGFR    NXPH4     PAX2 
##        1        1        1        1        1        1        1        1        1        1        1        1 
## 
## $cutoffs
##     age_category_1 age_category_2 age_category_3 age_category_4 age_category_5
## 50%       3.144481       2.854802       2.716617       2.776235       2.862117
## 70%       7.823920       7.017616       6.897414       6.842193       7.118609
## 90%      23.768641      22.478328      23.124388      21.625395      22.680811

如,在年齡分類2中(嬰兒),當(dāng)cutoff值為0.7(70%)時(shí),在某個(gè)腦區(qū)中,基因表達(dá)值超多7.017616才會(huì)被認(rèn)為是表達(dá)了。

展示表達(dá)數(shù)據(jù)

  • get_expression
    可以輸出基因在腦區(qū)上的表達(dá)值(所有被試平均)。可以直接選取富集分析的結(jié)果中的腦區(qū),例如:
## get expression data for the first 5 brain regions from the last aba_enrich-analysis
top_regions = fwers_region[1:5, 'structure_id']#通過(guò)指定structure_id直接拉取腦區(qū)信息
top_regions
## [1] "Allen:4671"  "Allen:12926" "Allen:4734"  "Allen:4738"  "Allen:12909"
expr = get_expression(top_regions, background=FALSE)
head(expr)
##              CHMP4C   FABP12    FABP4    FABP5    FABP9    IMPA1      PAG1      PMP2  SLC10A5    SNX16
## Allen:4671 3.315379 1.322007 2.948199 8.331502 1.289105 9.367726  8.846593 10.507419 2.517208 6.726171
## Allen:4675 2.784213 1.969504 3.043131 9.223920 1.588357 8.954029  7.125901 10.477008 2.137033 7.080715
## Allen:4672 2.645451 1.744787 2.177720 7.968980 1.448837 9.034155  8.390096 10.483289 2.437719 6.958238
## Allen:4444 2.586348 1.648789 2.129794 7.979775 1.358975 9.586679  8.861224 11.058100 1.990756 6.375037
## Allen:4499 3.086266 1.302643 3.250694 9.242289 1.293894 8.830867  8.682235 11.506694 1.704897 6.400059
## Allen:4734 2.518846 1.477751 1.987022 8.811209 1.377784 7.703972 10.205105  9.345247 3.046310 6.080289
##              ZFAND1
## Allen:4671 8.877031
## Allen:4675 8.722243
## Allen:4672 8.863811
## Allen:4444 8.401070
## Allen:4499 8.977492
## Allen:4734 8.870895

上述代碼中,若將選項(xiàng)background=FALSE則不輸出背景基因的信息,否則會(huì)輸出背景基因的信息。
除了通過(guò)富集的結(jié)果指定基因和腦區(qū),還可以通過(guò)用戶指定的方式進(jìn)行設(shè)置。

## get expression data independent from previous aba_enrich analysis
regions = c('Allen:12926', 'Allen:4738', 'Allen:4671', 'Allen:12909', 'Allen:4718') #指定腦區(qū)
gene_ids = c('CHMP4C', 'FABP12', 'FABP4', 'FABP5', 'FABP9', 'IMPA1',
  'PAG1', 'PMP2', 'SLC10A5', 'SNX16', 'ZFAND1')  #指定基因
expr2 = get_expression(regions, gene_ids=gene_ids, dataset='adult', background=FALSE)
  • plot_expression
    可以對(duì)表達(dá)數(shù)據(jù)進(jìn)行可視化。函數(shù)的使用方法和上一個(gè)差不多,也可以通過(guò)只指定腦區(qū),然后用富集分析的結(jié)果做為輸入。
## get expression data for the first 5 brain regions from the last aba_enrich-analysis
top_regions = fwers_region[1:5, 'structure_id']
plot_expression(top_regions, background=FALSE)
expression heatmap for the first 5 brain regions from the last aba_enrich-analysis
## plot the same expression data without dendrogram 不畫樹形圖
plot_expression(top_regions, dendro=FALSE, background=FALSE)
expression heatmap without dendrogram

也可以單獨(dú)使用函數(shù)畫圖。

## plot expression of some genes for the frontal neocortex (Allen:10161) in age category 3 (children, 3-11 yrs)
gene_ids = c('ENSG00000157764', 'ENSG00000163041', 'ENSG00000182158', 'ENSG00000147889',
  'ENSG00000103126', 'ENSG00000184634')
plot_expression('Allen:10161', gene_ids=gene_ids, dataset='5_stages', age_category=3)

代碼中選取的腦區(qū)為frontal neocortex (Allen:10161),該腦區(qū)沒有直接的表達(dá)數(shù)據(jù),但是其子結(jié)構(gòu)具有表達(dá)數(shù)據(jù)。畫出的圖中,為這些子結(jié)構(gòu)分開的結(jié)果。


expression heatmap of some genes for the frontal neocortex (Allen:10161) in age category 3
  • get_name, get_sampled_substructures and get_superstructures
    上個(gè)例子中我們發(fā)現(xiàn),frontal neocortex (Allen:10161)這個(gè)腦區(qū)其實(shí)在數(shù)據(jù)集中沒有基因表達(dá)的數(shù)據(jù),而其一些子區(qū)域具有表達(dá)數(shù)據(jù)。ABAEnrichment軟件提供了一些函數(shù)可以供用戶查看腦結(jié)構(gòu)本體論圖,這個(gè)圖可以表征腦區(qū)之間的層次結(jié)構(gòu)組成,這個(gè)層次結(jié)構(gòu)也用在了富集分析中(類似功能富集中的層次結(jié)構(gòu)的樹形網(wǎng)絡(luò))。get_sampled_substructures函數(shù)可以返回結(jié)構(gòu)ID對(duì)應(yīng)的腦區(qū)的所有子結(jié)構(gòu)(有表達(dá)數(shù)據(jù)的)。get_superstructures函數(shù)則可以返回所有上級(jí)腦區(qū)。get_name函數(shù)則可以用來(lái)得到ID對(duì)應(yīng)的腦區(qū)的名字。
## get IDs of the substructures of the frontal neocortex (Allen:10161) for which expression data are available
subs = get_sampled_substructures('Allen:10161')
subs
## [1] "Allen:10173" "Allen:10185" "Allen:10194" "Allen:10163"
## get the full name of those substructures
get_name(subs)
##                                  Allen:10173                                  Allen:10185 
##         "DFC_dorsolateral prefrontal cortex"        "VFC_ventrolateral prefrontal cortex" 
##                                  Allen:10194                                  Allen:10163 
##                 "OFC_orbital frontal cortex" "M1C_primary motor cortex (area M1, area 4)"
## get the superstructures of the frontal neocortex (from general to special)
supers = get_superstructures('Allen:10161')
supers
## [1] "Allen:10153" "Allen:10154" "Allen:10155" "Allen:10156" "Allen:10157" "Allen:10158" "Allen:10159"
## [8] "Allen:10160" "Allen:10161"
## get the full names of those superstructures
get_name(supers)
##                    Allen:10153                    Allen:10154                    Allen:10155 
##              "NP_neural plate"               "NT_neural tube"                     "Br_brain" 
##                    Allen:10156                    Allen:10157                    Allen:10158 
## "F_forebrain (prosencephalon)" "FGM_gray matter of forebrain"            "Tel_telencephalon" 
##                    Allen:10159                    Allen:10160                    Allen:10161 
##           "Cx_cerebral cortex"    "NCx_neocortex (isocortex)"        "FCx_frontal neocortex"
  • NEW: get_id
    可用于在本體論中尋找結(jié)構(gòu)名稱對(duì)應(yīng)的ID
## get structure IDs of brain regions that contain 'accumbens' in their names
get_id('accumbens')
##                      structure ontology structure_id
## 1        Acb_Nucleus Accumbens    adult   Allen:4290
## 2  Acb_Nucleus Accumbens, Left    adult   Allen:4291
## 3 Acb_Nucleus Accumbens, Right    adult   Allen:4292
## get structure IDs of brain regions that contain 'telencephalon' in their names
get_id('telencephalon')
##           structure      ontology structure_id
## 1 Tel_telencephalon developmental  Allen:10158
## 2 Tel_Telencephalon         adult   Allen:4007
## get all brain regions included in ABAEnrichment together with thier IDs
all_regions = get_id('')
head(all_regions)
##                      structure      ontology structure_id
## 1              NP_neural plate developmental  Allen:10153
## 2               NT_neural tube developmental  Allen:10154
## 3                     Br_brain developmental  Allen:10155
## 4 F_forebrain (prosencephalon) developmental  Allen:10156
## 5 FGM_gray matter of forebrain developmental  Allen:10157
## 6            Tel_telencephalon developmental  Allen:10158
  • NEW: get_annotated_genes
    可以用來(lái)得到注釋到某腦區(qū)的基因集。(即超過(guò)閾值,被認(rèn)為表達(dá)的基因)。可以通過(guò)aba_enrich(...)[[3]],表達(dá)值可以通過(guò)得到get_expression得到,也更方便的通過(guò)get_annotated_genes直接得到。函數(shù)將aba_enrich函數(shù)的輸出結(jié)果和FWER的一個(gè)閾值(默認(rèn)0.5)作為輸入,并返回所有腦區(qū)/表達(dá)閾值組合下,小于FWER閾值的有注釋的基因
    、FWER以及哪些是候選基因的信息。
## run an enrichment analysis with 7 candidate and 7 background genes for the developing brain
gene_ids = c('FOXJ1', 'NTS', 'LTBP1', 'STON2', 'KCNJ6', 'AGT', 
  'ANO3', 'TTR', 'ELAVL4', 'BEAN1', 'TOX', 'EPN3', 'PAX2', 'KLHL1')
genes = rep(c(1,0), each=7)
names(genes) = gene_ids
res = aba_enrich(genes, dataset='5_stages', cutoff_quantiles=c(0.5,0.7,0.9), n_randsets=100)
head(res[[1]])
##   age_category structure_id                               structure times_FWER_under_0.05 mean_FWER min_FWER
## 1            1  Allen:10294 HIP_hippocampus (hippocampal formation)                     0 0.4566667     0.32
## 2            1  Allen:10398      MD_mediodorsal nucleus of thalamus                     0 0.8266667     0.61
## 3            1  Allen:10361                  AMY_amygdaloid complex                     0 0.8900000     0.67
## 4            1  Allen:10331                      CN_cerebral nuclei                     0 0.8900000     0.67
## 5            1  Allen:10159                      Cx_cerebral cortex                     0 0.9500000     0.85
## 6            1  Allen:10158                       Tel_telencephalon                     0 0.9500000     0.85
##                                         equivalent_structures          FWERs
## 1                         Allen:10294;Allen:10293;Allen:10292 0.67;0.38;0.32
## 2 Allen:10398;Allen:10397;Allen:10391;Allen:10390;Allen:10389    0.87;1;0.61
## 3                                                 Allen:10361       0.67;1;1
## 4                                                 Allen:10331       0.67;1;1
## 5                                                 Allen:10159       0.85;1;1
## 6                                                 Allen:10158       0.85;1;1
## see which candidate genes are annotated to brain regions with a FWER < 0.01
anno = get_annotated_genes(res, fwer_threshold=0.1)
anno
##   age_category structure_id cutoff anno_gene FWER score
## 1            5  Allen:10333    0.5       AGT 0.07     1
## 2            5  Allen:10333    0.5      ANO3 0.07     1
## 3            5  Allen:10333    0.5     LTBP1 0.07     1
## 4            5  Allen:10333    0.5     STON2 0.07     1

同樣也可以直接指定腦區(qū)、表達(dá)閾值和基因。
如果指定了基因集,則只輸出此基因集中的基因的表達(dá)信息,否則將輸出所有編碼蛋白的基因的信息。

## find out which of the above genes have expression above the 70% and 90% expression-cutoff, respectively,
## in the basal ganglia of the adult human brain (Allen:4276)
anno2 = get_annotated_genes(structure_ids='Allen:4276', dataset='adult', 
  cutoff_quantiles=c(0.7,0.9), genes=gene_ids)
anno2
##   age_category structure_id cutoff anno_gene
## 1            5   Allen:4276    0.7       AGT
## 2            5   Allen:4276    0.7      ANO3
## 3            5   Allen:4276    0.7       TTR
## 4            5   Allen:4276    0.9       AGT
## 5            5   Allen:4276    0.9      ANO3
## 6            5   Allen:4276    0.9       TTR
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,333評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,491評(píng)論 3 416
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,263評(píng)論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,946評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,708評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,186評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,409評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,939評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,774評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,976評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,209評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,641評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,872評(píng)論 1 286
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,650評(píng)論 3 391
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,958評(píng)論 2 373

推薦閱讀更多精彩內(nèi)容