详解如何获取物种所有基因对应的GO注释
欢迎关注”生信修炼手册”!
Gene Ontology是研究基因功能的重要数据库之一,在进行GO的富集分析时,需要提供所有基因对应的GO注释信息,本文介绍几种获取该信息的方式。
1. 从GO官网进行下载
官网提供了几种常见物种对应的GO注释信息,文件格式为GAF, 下载链接为
http://www.geneontology.org/page/download-go-annotations
human对应的文件如下
该文件中提供的是uniprot数据库中的蛋白对应的GO信息,会给出蛋白对应的uniprot数据库编号,蛋白对应的基因symbol, 以及GO注释,示例如下
UniProtKB A0A024R161 DNAJC25-GNG10 GO:0003924
原始文件列数很多,我只选了前4列,第一列表示数据库的名字,第二列为数据库中的编号,第三列为gene symbol, 第四列为对应的GO注释。
2. 从GOA项目进行下载
EBI对uniprot数据库中的蛋白进行了GO注释分析,这个项目名为gene ontology annotation, 简称GOA, 在FTP也提供了物种对应的注释信息,示意图如下
以human为例,FTP地址如下
ftp://ftp.ebi.ac.uk/pub/databases/GO/goa/HUMAN/
这里的文件和GO官网的文件内容和格式是一致的,只不过数量上稍有差异。
3. 从NCBI Gene 数据库进行下载
在NCBI检索基因时,在结果页面会看到该基因对应的很多注释信息,其中就包括了GO注释,这些信息在FTP上都提供了源文件,以供下载,链接如下
ftp://ftp.ncbi.nih.gov/gene/DATA/
几个主要的文件示例如下
gene2go
就是基因对应的GO注释文件,这个文件包含了所有物种的GO信息,可以根据物种对应的tax id提取指定物种。
NCBI中用Entrez Id 标识每个基因,通过另外的几个文件,可以得到Entrez ID
, Ensemble Id
, Gene Symbol
对应的GO信息。
4. 从Bioconductor 获取
对于常见的物种,Bioconductor上也提供了对应的注释包,示意如下
以org.Hs.eg.db
为例,这个R包存储了很多human基因对应的信息,通过keys
和select
函数可以获得基因对应的GO注释信息,代码如下
> k <- keys(org.Hs.eg.db, keytype = "ENTREZID")[1:3]
> select(org.Hs.eg.db,
keys = k,
columns = c("GO", "ONTOLOGY"),
keytype="ENTREZID")
'select()' returned 1:many mapping between keys and columns
ENTREZID GO EVIDENCE ONTOLOGY
1 1 GO:0002576 TAS BP
2 1 GO:0003674 ND MF
3 1 GO:0005576 IDA CC
这里的代码只是根据Entrez ID 得到了GO注释信息,其实这个R包也包含了gene symbol
, ensembl id
等很多其他的基因ID。
许多做富集分析的包就会从物种对应的db
包中读取GO注释信息。
·end·
—如果喜欢,快分享给你的朋友们吧—
扫描关注微信号,更多精彩内容等着你!