文章目录
学习目标
- 利用基因组注释数据库对基因表进行功能分析
- 理解存储在不同数据库中的信息类型
- 探讨几种常用的用于检索基因组注释的R包的优缺点
基因组注释
下一代测序结果的分析需要将基因、转录本、蛋白质等与功能或调控信息相关联。为了对基因列表进行功能分析,我们经常需要获得与我们希望使用的工具兼容的基因标识符(gene identifiers),这并不总是微不足道的。在这里,我们将讨论获得基因注释信息的方法,以及每种方法的优缺点。
数据库
我们从储存信息的必要数据库中检索有关生物学过程、通路等(基因所涉及的)的信息。您选择的数据库将取决于您试图获取的信息类型。经常查询的数据库包括:
常用数据库
提供基因组特征、特征坐标、同源性、变异信息、表型、蛋白结构域/家族信息、相关生物学过程/通路、相关microRNAs等全面信息:
- Ensembl (use Ensembl gene IDs)
- NCBI (use Entrez gene IDs)
- UCSC
- EMBL-EBI
专用注释数据库
提供与特定主题相关的注释:
- Gene Ontology (GO):基于Ensembl或Entrez gene IDs或官方基因符号的基因本体论生物过程(biological processes)、细胞成分(cellular components)和分子功能(molecular functions)的数据库
- KEGG:生物通路数据库-基于Entrez gene IDs
- MSigDB:基因集(gene sets)数据库
- Reactome:生物途径的数据库
- Human Phenotype Ontology:与人类疾病相关的基因数据库
- CORUM:蛋白质复合体的数据库,包含人类,小鼠,大鼠
- …
这不是一个详尽的列表,还有许多其他可用的数据库没有在这里列出。
基因组的构建
在开始搜索这些数据库之前,应该知道使用了哪个基因组构建(build of the genome) 来生成基因列表,并确保在功能分析期间对注释使用相同的构建(same build for the annotations)。当一个新的基因组构建完成后,基因组特征(基因、转录本、外显子等)的名称和/或坐标位置可能会发生改变。因此,关于基因组特征(基因、转录子、外显子等)的注释是针对基因组构建的,我们需要确保我们的注释是从合适的资源获得的。
例如,如果我们使用人类基因组的GRCh38构建来量化用于差异表达分析的基因表达,那么我们应该使用相同的基因组GRCh38构建来进行基因id之间的转换,并识别每个基因的注释。
访问数据库的工具
在R中,有许多流行的用于基因/转录水平注释的包。这些包提供了获取基因列表的工具,并使用上面列出的一个或多个数据库检索每个基因的信息。
注释工具:用于从特定数据库中访问/查询注释
Tool | Description | Pros | Cons |
---|---|---|---|
org.Xx.eg.db | Query gene feature information for the organism of interest | gene ID conversion, biotype and coordinate information | only latest genome build available |
EnsDb.Xx.vxx | Transcript and gene-level information directly fetched from Ensembl API (similar to TxDb, but with filtering ability and versioned by Ensembl release) | easy functions to extract features, direct filtering | Not the most up-to-date annotations, more difficult to use than some packages |
TxDb.Xx.UCSC.hgxx.knownGene | UCSC database for transcript and gene-level information or can create own TxDb from an SQLite database file using the GenomicFeatures package | feature information, easy functions to extract features | only available current and recent genome builds - can create your own, less up-to-date with annotations than Ensembl |
annotables | Gene-level feature information immediately available for the human and model organisms | super quick and easy gene ID conversion, biotype and coordinate information | not updated regularly |
biomaRt | An R package version of the Ensembl BioMart online tool | all Ensembl database information available, all organisms on Ensembl, wealth of information | being deprecated (?) |
接口工具:用于从多个不同的注释源访问/查询注释
- AnnotationDbi:查询OrgDb、TxDb、Go。db、EnsDb和BioMart注释。
- AnnotationHub:查询全基因组资源的大集合,包括ENSEMBL、UCSC、ENCODE、Broad Institute、KEGG、NIH Pathway Interaction Database等。
注意:这两个包都可以用于创建
tx2gene
文件,我们在本课程开始时让您下载这些tx2gene文件。
AnnotationDbi
AnnotationDbi是一个R包,它提供了使用SQLite数据存储连接和查询各种注释数据库的接口。AnnotationDbi包可以查询OrgDb、TxDb、EnsDb、Godb和BioMart annotations。当从这些数据库中提取数据时,有一些有用的文档可供参考。
虽然AnnotationDbi是一种流行的工具,但我们不会遍历使用这个包的代码。但是,如果您对更详细的内容感兴趣,我们在这里提供了使用当前数据集的示例链接材料。
AnnotationHub
AnnotationHub是一个很好的访问基因组数据或查询整个基因组资源的大集合,包括ENSEMBL, UCSC, ENCODE, Broad Institute, KEGG, NIH Pathway Interaction Database等。所有这些信息都被存储起来,通过直接连接到数据库很容易访问。
要开始使用AnnotationHub,我们首先加载库并连接到数据库:
# Load libraries
library