作者:约翰内斯·雷纳
最后修改:2022-11-02 02:30:16
编译: 2022年11月2日星期三03:01:15

1获取EnsDb数据库AnnotationHub

AHEnsDbs包提供所有元数据EnsDb中的SQLite数据库AnnotationHub.首先我们加载/更新AnnotationHub资源。

library(注解hub) ah <-注解hub ()

接下来我们列出所有EnsDb条目从AnnotationHub

查询(啊,“EnsDb”)
##注释中心,3447条记录## #快照日期():2022-10-26 ## $dataprovider:集合物种:智人,黄斑Xiphophorus maculatus,热带爪蟾,Vicugna…## # $rdataclass: EnsDb ## #附加mcols():taxonomyid基因组,描述,# # # coordinate_1_based,维护者,rdatadateadded, preparerclass,标签,# # # rdatapath, sourceurl, sourcetype # # #检索记录,例如,[[“AH53185”对象 "]]' ## ## 标题# # AH53185 |运用87 EnsDb安乐有害无益的# # AH53186 |运用87 EnsDb Ailuropoda Melanoleuca # # AH53187 |运用87 EnsDb阿斯蒂阿纳克斯Mexicanus # # AH53188 |运用87 EnsDb Anas Platyrhynchos # # AH53189 |运用87 EnsDb牛  ## ... ...热带爪蟾的107 EnsDb,白梳梳体的107 EnsDb,加利福尼亚斑尾蟾的107 EnsDb

我们获取EnsDb对于物种Ciona Intestinalis合奏版87。

qr < -查询(啊,c(“EnsDb”、“intestinalis”,“87”))教育局< - qr [[1]]
##从缓存加载
# #要求(“ensembldb”)

为了得到这个物种的基因定义,我们可以简单地调用。

基因(教育局)
与17153年# #农庄对象范围和7元数据列:# # seqnames范围链| gene_id # # < Rle > < IRanges > < Rle > | <人物> # # ENSCING00000017842 1 1636 - 1902 + | ENSCING00000017842 # # ENSCING00000016550 1 4219 - 20394 | ENSCING00000016550 # # ENSCING00000016539 1 23518 - 34155 + | ENSCING00000016539 # # ENSCING00000002700 1 37108 - 60412 | ENSCING00000002700 # # ENSCING00000002712 1 62406 - 66903 | ENSCING00000002712  ## ... ... ... ... . ...# # ENSCING00000025225 MT 11275 - 11335 + | ENSCING00000025225 # # ENSCING00000025226 MT 11337 - 12899 + | ENSCING00000025226 # # ENSCING00000025227 MT 12910 - 12973 + | ENSCING00000025227 # # ENSCING00000025228 MT 12990 - 14724 + | ENSCING00000025228 # # ENSCING00000025229 MT 14725 - 14790 + | ENSCING00000025229 # # gene_name gene_biotype seq_coord_system # # <人物> <人物> <人物> # # ENSCING00000017842 misc_RNA染色体# # ENSCING00000016550 protein_coding # # ENSCING00000016539染色体## ENSCING00000002700蛋白质编码染色体## ENSCING00000002712蛋白质编码染色体## ... ... ... ...ENSCING00000025225 Mt_tRNA染色体## ENSCING00000025226 COI蛋白质编码染色体## ENSCING00000025227 Mt_tRNA染色体## ENSCING00000025228 NADH5蛋白质编码染色体## ENSCING00000025229 Mt_tRNA染色体##描述符号entrezid ## <字符> <字符> <列表> ## ENSCING00000017842 NULL  ## ENSCING00000016539 NULL  ## ENSCING00000016539 NULL  ## ENSCING00000002712 NULL 100181294 ## ... ... ... ...## ENSCING00000025226细胞色素氧化酶s..COI 806118 ## ENSCING00000025227 NULL  ## ENSCING00000025228 NADH脱氢酶s..NADH5 806127 ## ENSCING00000025229 NULL  ## ------- ## seqinfo:来自KH基因组的763个序列(1个循环)

2为给定的Ensembl发行版创建ensdb

本节描述了(半)自动化的创建方法ensembldbEnsDbSQLite注释数据库使用Ensembl Perl API和MySQL数据库转储从Ensembl。

2.1需求

2.2创建EnsDbSQLite数据库

为了创建数据库,我们依次从Ensembl本地下载和安装MySQL数据库转储文件,并查询这些本地数据库,以提取将插入到最终SQLite数据库中的注释。虽然可以使用Perl API直接查询Ensembl数据库,但这已被证明是较慢的,并且由于访问不足或超时而经常失败。

下面我们加载ensembldb包装和generate-EnsDbs。R在其脚本文件夹中。

library(ensembldb) scr <- system.file("scripts/generate- ensdb .file ")R", package = "ensembldb") source(scr)

我们接下来使用createEnsDbForSpecies函数。这个函数首先查询Ensembl ftp服务器,以列出某个Ensembl版本的所有物种。默认情况下,它将处理所有物种,首先下载MySQL数据库转储,将其安装到本地MySQL服务器,然后使用ensembldb包和Ensembl Perl API,从中提取所有注释并将其存储到SQLite数据库中。默认情况下,本地MySQL数据库将被删除(设置该参数dropDb = FALSE不删除数据库)。

函数中需要设置的重要参数有ftp_folder默认情况下,systembl主ftp服务器将被查询(ftp://ftp.ensembl.org/pub),也可查询Ensemblgenomes数据库。建造,建造EnsDbS代表所有植物的使用ftp://ftp.ensemblgenomes.org/pub/release-34/plants/mysql.如果定义了这个参数,它必须指向可以找到所有MySQL数据库转储的目录。+ens_version: Ensembl版本(例如:87).+用户:用户名当地的MySQL数据库。+宿主:本地MySQL数据库的主机名。“localhost”).+通过:本地MySQL数据库的密码。

下面我们创建所有EnsDb数据库用于Ensembl release 87。注意,我们必须安装与此版本匹配的Ensembl Perl API。

createEnsDbForSpecies(ens_version = 87, user = "someuser", host = "localhost", pass = "somepass")

所有SQLite数据库,每个物种一个,将存储在当前工作目录。