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


以下介紹引用自

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

基因富集分析是生物信息學分析領域的一種分析方法。常見的基因富集分析是基因功能富集分析,這種方法可以對不同層次不同來源的數據進行整合,并在沒有先驗經驗存在的情況下也能在表達譜整體層次上對上萬條基因進行富集分析。

基因功能富集分析原理

基因功能富集分析又稱功能聚類分析, 主要借助于各種生物學信息數據庫分析工具進行統計分析, 挖掘在基因知識庫中同分子譜數據具有顯著相關性的功能類別, 統計原理是用超幾何分布型來檢驗一組基因( 共表達或差異表達) 中某個功能類的顯著性, 通過離散分布的顯著性分析、富集度分析和假陽性分析,得出與實驗目的有顯著關聯的、低假陽性率的及靶向性的基因功能類別, 該功能類別即是導致樣本性狀差異的最重要的功能差別, 而其所屬基因是需進一步驗證的重要目標基因, 其功能特征將闡明樣本性狀變化的內在生物學意義, 如圖1所示。

分子譜數據可以通過多種方法獲得:

  • 過倍數法、Z 值法、t-檢驗及方差分析、貝葉斯分析等統計學方法獲得的差異表達基因
  • 或者是通過K-均值聚類( K-means cluster) 、分層聚類( hierarchical clustering, HC) 、自組織映射神經網絡( self-organizing map, SOM) 等方法獲得的各個獨立的基因簇

基因知識庫主要指:

基因功能富集分析的相關軟件

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

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

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

以下引用 基因表達譜富集分析方法研究進展 曹文君,李運明,陳長生

因集的定義

基因集的定義基于統一的先驗生物學知識,如已發表的有關生物通道、基因共表達信息等。一個基因及是基因芯片上一組具有相同生物學功能或位于統一生物通道的基因。最常用于定義基因集的基因注釋數據庫有Gene Ontology (GO)、Kyoto Encyclopedia of Genes and Genomes orthology(KO)和ENTREZ。
1. GO功能注釋
GO是按嚴格的生物學背景、采用統一的術語結構注釋基因 及其產品的數據庫,包含幾千條術語,分為3大分支:分子功能(molecular function)、生物過程(biological process)和細胞組成(cellular component)。GO的每個分支是一幅有向無環圖(DAG),含有大量節點(術語)和分支,越高層的節點代表的意義越廣泛,越低層的節點代表的意義越狹隘。每個節點含有多個意義廣泛的父項(parent terms)和多個意義具體的子項(children terms)。一個基閡能被多個術語注釋,目前許多基因還未被GO數據庫注釋。如果某一基因被某特定節點A注釋,則該基因將自動被A節點的所有祖項(ancestors terms)所注釋。

image.png

image.png

2. KO基因通路注釋
KO是由基因通路圖構成的數據庫,描述基因調控網絡,含有4個層次的有向無環圖,其中第3個層次直接對應KEGG基因通路。微陣列芯片上屬于同一KEGG基因通路(KO分類)的基
因可定義為一個基因集。
3. ENTREZ基因間信息注釋
ENTREZ是一個綜合性的數據庫,提供了基因和基因產物的大量信息,包含基因GO、KO信息,以及基因間相互作用信息四。ENTREZ采用統一格式對基因間相互信息進行注釋。類似的數據庫有BIND、BioGRID、EcoCyc和HPRD。
基因集可根據以上任一數據庫的注釋信息來定義,也可利用數據庫交叉信息進行定義。換句話說,被同一GO或KO術語注釋的基因町定義為一個基因集;整合GO、KO注釋信息,同時也考慮來自ENTREZ的基因間相互作用信息,也町定義一個基因集。有研究者認為多數據庫交叉信息定義的基因集更穩健,但采用單術語定義基因集簡單易操作。



本文中為大家介紹一個R語言的包ABAEnrichment,這個R包可以用來檢測在不同發育階段的特定腦區上基因表達的富集度。該軟件包融合了AllenBrainAtlas的表達數據以及大腦結構組織的本體論數據。
(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

發表在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** (補充材料)
http://science.sciencemag.org/content/352/6282/235/tab-pdf

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


image.png

基因表達數據

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

image.png
image.png

基因表達數據的處理

**1. 成年人基因表達數據: **
某特定腦區上某特定基因的表達水平定義為:該基因所有的在該腦區的樣本上所有探針測量的基因表達量的平均值。
2. 發育基因表達數據:
為了增加發育效應的統計檢驗的效力,發育數據僅針對上述提到的涵蓋20個不同發育階段的腦區進行分析。當檢測發育效應時,某基因在某腦區某發育階段的表達量定義為該腦區該階段,所有樣本基因的RNA-Seq表達量的均值。

本體論

ABA提供了互相不覆蓋的腦結構的本體論,發育數據集和成人數據集分別涵蓋了3317和1534個腦區。
**1. 成年人基因表達數據: **
1534個腦區中,有414個腦區有直接的基因表達數據。其他沒有直接的表達數據的腦區,若其任意一個子區域上有某給定表達的信息,則認為該基因在這個腦區上表達了。具體數量信息如下表所示。

image.png

上表中可見,在成人數據中,有直接測量得到的基因表達信息的腦區有414個;這些腦區加上通過本體論信息補充的(即從子區域中得到的信息)一共677個腦區;在通過腦結構本體論信息補充信息的區域中,有20個是冗余的,即,該區域只有一個子區域,且該子區域有表達信息。故,在富集分析的輸出中,將共有657行對應所有有注釋的腦區。
2. 發育基因表達數據:
如上圖所示。一共47個腦區納入分析。

富集分析

經過用戶自定義的閾值篩選后,表達量高于閾值的的基因被注釋到腦區。這個閾值默認為所有腦區上10%為補償的表達分位數。接下來,軟件調用aba_enrich 函數采用超幾何檢驗或者是Wilcoxon-秩和檢驗進行富集分析。


軟件實現

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

表達數據

軟件包包含三種表達數據:

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

腦區上基因的注釋

基因注釋采用了描述大腦結構層級構架的本體論信息。腦區被其上或其子結構上表達的所有基因注釋?;虻谋磉_與不表達是通過閾值來劃分的,這個閾值是基因表表達量的百分數,并通過設置cutoff_quantiles的參數進行劃分。比如,閾值設為0.4,意味著大腦中低于40%表達分位數的基因被認為“不表達”,而前60%的基因被認為“表達”。每個閾值下,都會進行獨立的基因表達富集分析。默認為10%:10%:90%

富集分析

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

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

ABAEnrichment中包含的函數

函數 描述
aba_enrich 進行富集分析的核心函數
get_expression 返回給定基因集在給定腦區上的表達值
plot_expression 畫出給定基因集在給定腦區上的表達值的heatmap圖
get_name 返回指定腦結構ID的全名
get_sampled_substructures 返回給定腦區上有表達數據的子結構
get_superstructures 返回給定腦區的上層結構
get_id NEW:返回給定名字腦區的結構ID
get_annotated_genes NEW:返回富集的腦區或者是用戶指定的腦區上注釋的基因

程序示例

這里僅介紹使用超幾何檢驗方法檢測基因表達富集方法
設定一個候選基因集(包含13個基因),試圖找到這些候選基因的表達究竟富集在哪些腦區上。分別采用成年人數據和5個發育階段的發育數據。定義候選基因的方法是采用二值化定義的方法,0標記為背景基因,1標記為候選基因?;虻拿挚梢酝ㄟ^不同的基因標識進行定義 (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來標記候選基因
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函數用來進行核心的富集分析。其輸入為genes向量,并用dataset選項指定用于計算的數據集,默認為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')

下面示例設置初始閾值。cutoff_quantilesn_randsets的默認值為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返回結果為一個列表res_devel,其第一個元素包含了每個腦區和年齡分組的統計分析的結果(每個年齡分組內,獨立進行的分析)

## 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

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

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中(嬰兒),當cutoff值為0.7(70%)時,在某個腦區中,基因表達值超多7.017616才會被認為是表達了。

展示表達數據

  • get_expression
    可以輸出基因在腦區上的表達值(所有被試平均)??梢灾苯舆x取富集分析的結果中的腦區,例如:
## get expression data for the first 5 brain regions from the last aba_enrich-analysis
top_regions = fwers_region[1:5, 'structure_id']#通過指定structure_id直接拉取腦區信息
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

上述代碼中,若將選項background=FALSE則不輸出背景基因的信息,否則會輸出背景基因的信息。
除了通過富集的結果指定基因和腦區,還可以通過用戶指定的方式進行設置。

## get expression data independent from previous aba_enrich analysis
regions = c('Allen:12926', 'Allen:4738', 'Allen:4671', 'Allen:12909', 'Allen:4718') #指定腦區
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
    可以對表達數據進行可視化。函數的使用方法和上一個差不多,也可以通過只指定腦區,然后用富集分析的結果做為輸入。
## 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

也可以單獨使用函數畫圖。

## 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)

代碼中選取的腦區為frontal neocortex (Allen:10161),該腦區沒有直接的表達數據,但是其子結構具有表達數據。畫出的圖中,為這些子結構分開的結果。


expression heatmap of some genes for the frontal neocortex (Allen:10161) in age category 3
  • get_name, get_sampled_substructures and get_superstructures
    上個例子中我們發現,frontal neocortex (Allen:10161)這個腦區其實在數據集中沒有基因表達的數據,而其一些子區域具有表達數據。ABAEnrichment軟件提供了一些函數可以供用戶查看腦結構本體論圖,這個圖可以表征腦區之間的層次結構組成,這個層次結構也用在了富集分析中(類似功能富集中的層次結構的樹形網絡)。get_sampled_substructures函數可以返回結構ID對應的腦區的所有子結構(有表達數據的)。get_superstructures函數則可以返回所有上級腦區。get_name函數則可以用來得到ID對應的腦區的名字。
## 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
    可用于在本體論中尋找結構名稱對應的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
    可以用來得到注釋到某腦區的基因集。(即超過閾值,被認為表達的基因)。可以通過aba_enrich(...)[[3]],表達值可以通過得到get_expression得到,也更方便的通過get_annotated_genes直接得到。函數將aba_enrich函數的輸出結果和FWER的一個閾值(默認0.5)作為輸入,并返回所有腦區/表達閾值組合下,小于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

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

## 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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容