包版本:BiocAnnotRes2015 1.0.0

注释资源

介绍

注释资源占很大一部分的Bioconductor项目[1]。还有一组不同的网络资源访问使用特定的包。这个介绍将描述这些资源中最受欢迎的和给一些高水平的例子如何使用它们。

Bioconductor注释资源历来使用附近的一个分析的结束。大量的数据分析后,将使用注释解释学习最重要的结果。但渐渐地,他们也作为一个起点,甚至作为一个中间步骤来指导研究仍在进行中。此外,这意味着什么是一个注释也变得比以前不太清楚。以前清晰,注释只是那些已经建立了多个不同的研究被执行后(如基因产物的主要作用)。但是今天许多大型数据集被社区一样,经典注释曾经:作为额外的参考比较。

另一个变化,正在与注释Bioconductor是他们得到的方式。在过去作为单独的注释注释存在几乎完全包(2、3、4)。今天的包仍然是一个巨大的来源注释。当前的版本库包含超过八百注释包。这个表总结了一些比较重要的类注释对象经常访问使用包:

对象类型 示例包名称 内容
OrgDb org.Hs.eg.db 基于基因的信息。对于智人
TxDb TxDb.Hsapiens.UCSC.hg19.knownGene 转录组范围智人
OrganismDb Homo.sapiens 智人的综合信息
BSgenome BSgenome.Hsapiens.UCSC.hg19 现代人的基因组序列

但尽管注释包的流行,从web服务注释也越来越被推倒像biomaRt(5、6、7)或AnnotationHub [8]。注释和这两个代表巨大的资源数据。

部分原因是快速发展的格局,目前是不可能在一个文档覆盖每一个可能的注释,甚至各种注释出现在Bioconductor。这里我们将复习最受欢迎的注释资源和描述它们在某种程度上旨在揭露访问他们的常用模式。希望用户使用这些信息能够做出有根据的猜想关于如何找到并使用将不可避免的被添加后的额外资源。所涵盖的主题将包括以下几点:

设置

在这一章里,我们利用几个Bioconductor包。你可以用biocLite安装它们():

源(“//www.andersvercelli.com/biocLite.R”) biocLite (c (“AnnotationHub”、“人类。智人”、“TxDb.Hsapiens.UCSC.hg19。knownGene”、“BSgenome.Hsapiens.UCSC。hg19”、“biomaRt”、“TxDb.Athaliana.BioMart.plantsmart22”))

安装包的使用在使用部分将详细描述。

使用AnnotationHub

学习注释资源列表的顶部是一个相对较新的AnnotationHub包[8]。创建AnnotationHub为终端用户提供一个方便的访问点找到一个大不同的注释与Bioconductor对象使用。资源发现AnnotationHub很容易发现和向用户提供熟悉Bioconductor数据对象。因为这是最近的一个补充,AnnotationHub允许访问等广泛的注释对象,其中一些可能没有被认为是注释甚至几年前。开始与AnnotationHub用户只需要加载方案,然后创建一个本地AnnotationHub对象是这样的:

# # snapshotDate (): 2015-05-26
库(“AnnotationHub”)啊< - AnnotationHub ()

第一次你叫AnnotationHub,它将在您的系统上创建一个缓存目录和下载最新的元数据中心当前内容。从那时起,每当你下载中心数据对象之一,它还将缓存这些文件在本地目录,如果你再次请求信息,很快你将能够访问它。

AnnotationHub对象的显示方法将告诉你有多少资源目前使用该对象以及给高水平概述最常见的类型的数据。

与34881条记录# # # # # AnnotationHub snapshotDate (): 2015-05-26 # # # $ dataprovider: BroadInstitute, UCSC的,运用,NCBI, Haemcode Inparan…# # # $物种:智人,亩,牛,黑猩猩,哒……# # # $ rdataclass:农庄,BigWigFile FaFile, OrgDb, ChainFile Inparanoi…# # #额外mcols (): taxonomyid,基因组,描述标签,# # # sourceurl, sourcetype # # #检索记录,例如,对象[[“AH2”]]的# # # # # #标题AH2 | Ailuropoda_melanoleuca.ailMel1.69.dna.toplevel。fa # # AH3 | Ailuropoda_melanoleuca.ailMel1.69.dna_rm.toplevel。fa # # AH4 | Ailuropoda_melanoleuca.ailMel1.69.dna_sm.toplevel。fa # # AH5 | Ailuropoda_melanoleuca.ailMel1.69.ncrna。fa # # AH6 | Ailuropoda_melanoleuca.ailMel1.69.pep.all。fa # #……# # AH47932 | Xiphophorus_maculatus.Xipmac4.4.2.dna_rm.toplevel。fa # # AH47933 | Xiphophorus_maculatus.Xipmac4.4.2.dna_sm.toplevel。fa # # AH47934 | Xiphophorus_maculatus.Xipmac4.4.2.dna.toplevel。fa # # AH47935 | Xiphophorus_maculatus.Xipmac4.4.2.ncrna。fa # # AH47936 | Xiphophorus_maculatus.Xipmac4.4.2.pep.all.fa

可以看到从上面的对象中,有很多不同的可用资源。通常当你得到一个AnnotationHub对象第一件事你想做的是过滤,删除不需要的资源。

幸运的是,AnnotationHub有几个不同类型的元数据,您可以使用搜索和构造子集。看到不同类别所有您需要做的就是输入你的名字AnnotationHub对象,然后选项卡完成的操作符“$”。,看到其中一个类别的所有可能的内容可以通过这样独特的价值:

独特的(啊dataprovider美元)
# # # #[1]“运用”[2]# #“EncodeDCC”[3]“UCSC”# # [4]“Inparanoid8”# # [5]“NCBI”# # [6]“NHLBI”# #[7]“他”# # [8]“Pazar”# # [9]“NIH通路相互作用数据库”# # [10]“RefNet”# # [11]“Haemcode”# #[12]“地理”# # [13]“BroadInstitute”# # [14]“ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/”# # [15]“dbSNP”

最有价值的一个方法是标记的数据是根据R的对象将被返回给你。

独特的(啊rdataclass美元)
# # [1]“FaFile”“农庄”“Inparanoid8Db”# # [4]“OrgDb”“TwoBitFile”“ChainFile”# # [7]“SQLiteConnection”“data.frame”“biopax”# # [10]“BigWigFile”“ExpressionSet”“VcfFile”

一旦你发现了哪些元数据你想用来找到你感兴趣的数据,您可以使用子集或查询方法减少中心对象的大小更易于管理。例如你可以只选择那些记录字符串“农庄”的元数据。正如你所看到的农庄是一个比较流行的来自AnnotationHub格式数据。

grs < -查询(啊,“农庄”)grs
与17296条记录# # # # # AnnotationHub snapshotDate (): 2015-05-26 # # # $ dataprovider: BroadInstitute, UCSC的,运用,Haemcode, Pazar, EncodeDCC # # # $物种:智人,亩,牛,黑猩猩,……# # # # # # $ rdataclass:农庄额外mcols (): taxonomyid,基因组,描述标签,# # # sourceurl, sourcetype # # #检索记录,例如,对象[[“AH3166”]]的# # # # # #标题AH3166 | wgEncodeRikenCageSknshraCellPapTssHmm # # AH3912 | wgEncodeUwDgfTregwb78495824Hotspots # # AH3913 | wgEncodeUwDgfTregwb78495824Pk # # AH4368 | wgEncodeUwDnaseWi38PkRep1 # # AH4369 | wgEncodeUwDnaseWi38PkRep2 # #……# # AH47104 | Tupaia_belangeri.TREESHREW.80。gtf # # AH47105 | Tursiops_truncatus.turTru1.80。gtf # # AH47106 | Vicugna_pacos.vicPac1.80。gtf # # AH47107 | Xenopus_tropicalis.JGI_4.2.80。gtf # # AH47108 | Xiphophorus_maculatus.Xipmac4.4.2.80.gtf

或者你可以使用构造子集只选择特定字段匹配

grs < -啊(啊rdataclass美元= =“农庄”,)

功能子集。

组织< -子集(rdataclass美元啊,啊= =“OrgDb”)组织
与1164条记录# # # # # AnnotationHub snapshotDate (): 2015-05-26 # # # $ dataprovider: NCBI, ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/ # # # $物种:大肠杆菌、冈比亚疟蚊,解剖,潘tr……# # # # # # $ rdataclass: OrgDb额外mcols (): taxonomyid,基因组,描述标签,# # # sourceurl, sourcetype # # #检索记录,例如,对象[[“AH12818”]]的# # # # # #标题AH12818 | org.pseudomonas_mendocina_nk - 01.。sqlite # # AH12819 | org.Streptomyces_coelicolor_A3 .eg (2)。sqlite # # AH12820 | org.Cricetulus_griseus.eg。sqlite # # AH12821 | org.Streptomyces_cattleya_NRRL_8057_ = _DSM_46488.eg。sqlite # # AH12822 | org.Cavia_porcellus.eg。sqlite # #……# # AH46997 | org.Ce.eg.db。sqlite # # AH46998 | org.Xl.eg.db。sqlite # # AH46999 | org.Sc.sgd.db。sqlite # # AH47000 | org.Dr.eg.db。sqlite # # AH47001 | org.Pf.plasmo.db.sqlite

如果你真的需要访问所有的元数据可以提取DataFrame使用mcols()一样:

元< - mcols(啊)

也如果你是一个风扇的GUI可以使用在浏览器中显示方法来看看你的数据和返回所选行小AnnotationHub对象是这样的:

sah < -显示器(啊)

调用该方法会产生一个基于web的界面如图所示:

一旦你AnnotationHub对象减少到一个合理的尺寸,并确定哪些记录你想要检索,然后你只需要使用[[算子来提取它们。使用“[[”操作符,您可以提取通过数字索引(1、2、3)或AnnotationHub ID。如果您选择使用前者,只需提取您所感兴趣的元素。对于链的例子,你可能只是想这样一1:

res < - grs [[1]]
# #要求(“GenomicRanges”)
头(res, n = 3)
与3和5 # #农庄对象元数据列:# # seqnames范围链| # # < Rle > < IRanges > < Rle > | # # [1] chr11 (65266509、65266509) + | # # [2] chr1 (156675257, 156675257)——| # # [3] chr10(33247091, 33247091)——| # #名分数级别# # <人物> <整数> <数字> # # [1]chr11:65266509:65266572: +: 0.04:1.000000 0 20993.670 # # [2] chr1:156675257:156675415:——: 0.35:1.000000 0 11580.471 # # [3] chr10:33247091:33247233:——: 0.32:1.000000 0 8098.093 # # signif score2 # # <数字> <整数> 3.36平台以及0 # # # #[1][2]3.54平台以及0 # #[3]3.82平台以及0 # # - - - - - - - # # seqinfo: 24从hg19基因组序列(1循环)

或者你可能会认为你想看绿色的数据发现,你发现河豚的组织“AH13961”名义子集。提取的数据也可以是这样的:

兔子< -组织[[“AH13960”]]
# # # #加载所需的包:AnnotationDbi加载所需的包:Biobase # #欢迎Bioconductor # # # #片段包含介绍性的材料;视图与# #“browseVignettes ()”。引用Bioconductor,看# #引文(“Biobase”),和包的引文(“pkgname”)。# # # # # #附加包:“Biobase”掩盖了# # # #以下对象从“包:AnnotationHub”: # # # #缓存
兔子
# # OrgDb对象:# # | DBSCHEMAVERSION: 2.1 # # | DBSCHEMA: NOSCHEMA_DB # # |生物:Oryctolagus cuniculus # # |物种:Oryctolagus cuniculus # # | CENTRALID: GID # # | TAXID: 9986 # # | Db型:OrgDb # # |支持包:AnnotationDbi
# # # #请参阅:帮助使用信息(“选择”)

AnnotationHub练习

练习1:使用AnnotationHub提取UCSC的数据从智人也专门从hg19基因组。中心发生了什么对象作为你在每一步筛选数据吗?

练习2现在已经基本上缩小到hg19注释从UCSC基因组浏览器,我们其中的一个注解。找到oreganno跟踪并将其保存到一个本地变量。

(回到顶部]

OrgDb对象

此时,您可能想知道:什么是这个OrgDb对象呢?OrgDb对象是家庭的一个成员注释对象都表示通过一组共享的方法隐藏数据。如果你仔细看看兔子对象在上面的例子中可以看到,它包含数据为欧洲兔子Oryctolagus cuniculus(分类ID = 9986)。你可以更了解它通过学习列方法。

列(兔子)
# # [1]“ACCNUM”“别名”“空空”“ENTREZID”“证据”# # [6]“EVIDENCEALL”“GENENAME”“GID”“走”“GOALL”# #[11]“本体”“ONTOLOGYALL”“PMID”“REFSEQ”“象征”# # [16]“UNIGENE”

方法给你一个向量的列的数据类型可以从对象中检索你叫它。因此上述调用表明有几个不同的数据类型,可以从利乐检索对象。

一个非常类似的方法是keytypes方法,它将列出所有的数据类型,也可以用作键。

keytypes(兔子)
# # [1]“ACCNUM”“别名”“ENTREZID”“证据”“EVIDENCEALL”# # [6]“GENENAME”“GID”“走”“GOALL”“本体”# # [11]“ONTOLOGYALL”“PMID”“REFSEQ”“符号”“UNIGENE”

在许多情况下,大多数的东西列为列也会从电话keytypes回来,但因为这两件事并不保证是相同的,我们维护两个独立的方法。

现在,你可以看到哪些东西可以作为密钥,您可以调用键方法提取出所有给定的密钥类型的关键。

(钥匙(兔子,keytype =“ENTREZID”))
# # [1]“100008570”“100008594”“100008595”“100008596”“100008597”“100008598”

这是有用的,如果你需要一种特殊的id,但钥匙的方法有一些额外的参数,可以使其更加灵活。例如,使用密钥的方法你也可以提取基因符号包含“考克斯”是这样的:

键(兔子,keytype =“象征”,模式=“考克斯”)
# # [1]“ACOX1”“ACOX2”“ACOX3”“COX1”“COX2”“COX3”“COX4I1”“COX6A1”# # [9]“COX6B”

或者如果你真的需要一个其他keytype,您可以使用id列参数提取ENTREZ基因的基因符号包含字符串“考克斯”:

键(兔子,keytype = " ENTREZID”模式=“考克斯”,列=“象征”)
# #的选择()返回1:1键和列之间的映射
# # [1]“100009549”“100327269”“100327270”“100328652”“100338450”“103347455”# # [7]“808229”“808231”“808233”

但通常,你会真的想提取匹配一个特定的键或其他数据的键集。这有两个方法,你可以使用。这些可能是选择的更强大。这里是如何查找基因符号,和REFSEQ id entrez基因id“808231”和“808233”。

选择(兔子,键= c(“808231”,“808233”),列= c(“象征”、“REFSEQ”), keytype =“ENTREZID”)
# #的选择()返回1:1键和列之间的映射
# # 1 # # ENTREZID象征REFSEQ 808231 COX1 NP_007551.1 # # 2 808233 COX2 NP_007552.1

当你称呼它,选择尝试将返回一个data.frame填写你请求匹配的值的列。然而,如果你问选择的东西有许多,一个关系你的钥匙就会导致返回的数据对象的扩张。例如,看看会发生什么当我们问的条款相同的entrez基因ID:

选择(兔子,键= " 808233 ",列=“走”,keytype =“ENTREZID”)
# #的选择()返回1:许多钥匙和列之间的映射
# # ENTREZID去# # 808233:0009409 # # 808233:0005507 # # 808233:0005739 # 808233 # 4:808233 # # 5 0016021:808233 # # 6 0022904:808233 # # 7 0007595:808233 # # 8 0009055:808233 # # 9 0020037:0004129

因为有9项与基因相关的“808233”,最后9行data.frame…这可能成为问题如果你问几个列有许多关系到最初的一个关键。如果你这样做,不仅将结果乘以大小,它也将成为很难使用。一个更好的策略是选择使用时选择。

有时你可能想要查找匹配结果的方式比data.frame对象,选择简单的回报。尤其如此,当你只希望查找每个键的一种价值。在这些情况下,我们建议你看看mapIds方法。让我们看看会发生什么,如果请求相同的基本信息,在我们最近的选择,而是使用mapIds方法:

mapIds(兔子,键= c(“808231”,“808233”),列=“走”,keytype =“ENTREZID”)
# 808233 # 808231 # #”:0005743”“去:0009409”

如您所见,mapIds方法可以简化结果返回。默认情况下,mapIds为每个键只返回第一个匹配的元素。但是,如果你真的需要这些条款当你叫mapIds返回去吗?那么你可以利用mapIds multiVals论点。有几个选项,这个论点,我们已经看到了如何在默认情况下你只能返回的第一个元素。但是你也可以返回一个“列表”或“CharacterList”对象,或者你可以“过滤器”返回“asNA”任何有多个匹配的钥匙。你甚至可以定义您自己的规则(函数),并通过multiVals作为参数。让我们看看会发生什么,当你返回一个列表:

mapIds(兔子,键= c(“808231”,“808233”),列=“走”,keytype =“ENTREZID multiVals =“列表”)
# # $ 808231的# #[1]”:0005743”“去:0004129”“去:0015992”“去:0009055”“去:0034220”# #[6]”:0046688”“去:0021549”“去:0044281”“去:0009060”“去:0005515”# #[11]”:0007568”“去:0016021”“去:0020037”“去:0006123”“去:0051602”# #[16]“去:0006979 # # # # $ 808233的# #[1]”:0009409”“去:0005507”“去:0005739”“去:0016021”“去:0022904”# #[6]”:0007595”“去:0009055”“去:0020037”“去:0004129”

现在你知道如何从一个OrgDb对象中提取信息,您可能会发现它有助于知道有其他家人AnnotationDb派生的对象,你也可以使用这些相同的五个方法(keytypes(),(),列键(),(),选择和mapIds ())。例如有ChipDb对象,InparanoidDb对象和TxDb对象包含数据微阵列探针,inparanoid同源性伴侣或分别记录范围信息。还有更专业的对象像GODb或ReactomeDb对象从去reactome提供对数据的访问。在下一节中,我们将看一个比较流行的类的对象:TxDb对象。

OrgDb练习

练习3:看的帮助页面不同的列和keytypes值:帮助(“符号”)。现在使用这个信息,我们刚刚描述查找entrez基因和染色体的基因符号“MSX2”。

练习4:在前面的练习中我们不得不使用基因符号作为键。但在过去这种行为有时是不明智的,因为一些基因符号作为官方符号用于多个基因。学习如果发生这仍然是利用这一事实entrez基因id分配,并提取所有的基因符号及其相关entrez org.Hs.eg id。db包。然后检查符号的冗余。

(回到顶部]

TxDb对象

如前所述,TxDb对象可以使用标准的访问方法:keytypes(),(),列键(),选择(),mapIds ()。但是因为这些对象包含一个转录组信息,他们通常用于比较基于范围的信息对这些基因组的重要特性(3、4)。因此他们也有专门的访问器中提取出的范围,对应于重要的转录组的特征。

让首先加载TxDb对象从一个基于UCSC的运用基因注释包跟踪为果蝇。当加载这些共同的实践是缩短长名字“txdb”(就像一个方便)。

库(“TxDb.Hsapiens.UCSC.hg19.knownGene”)
# #加载所需的包:GenomicFeatures
txdb < - TxDb.Hsapiens.UCSC.hg19。knownGene txdb
# # TxDb对象:# # # Db型:TxDb支持包:# # # # # # GenomicFeatures数据来源:UCSC基因组:# # # # # # hg19生物:智人# # # TaxID: 9606 # # # UCSC的表:knownGene # # #资源URL: http://genome.ucsc.edu/ # # #的基因类型ID: Entrez基因ID # # #完整数据集:是的# # # miRBase构建ID: GRCh37 # # # transcript_nrow: 82960 # # # exon_nrow: 289969 # # # cds_nrow: 237533 # # # Db由:GenomicFeatures包从Bioconductor # # #创建时间:2015-05-12 10:59:39 -0700(2015年5月12日,星期二)# # # GenomicFeatures版本在创建的时候:1.21.3创建时间:# # # RSQLite版本1.0.0 # # # DBSCHEMAVERSION: 1.1

只要看TxDb对象,我们可以学到很多关于它包含的数据包括数据从何而来,这UCSC基因组的构建是基于和最后一次更新的对象。TxDb对象最常见的用途是提取各种记录数据。举个例子,您可以提取所有的成绩单TxDb农庄组织这样的对象:

tx < -成绩单(txdb) tx
与82960范围和2 # #农庄对象元数据列:# # seqnames范围链| tx_id tx_name # # < Rle > < IRanges > < Rle > | <整数> <人物> # # [1]chr1 (11874、14409) + | 1 uc001aaa。3 # # [2]chr1 (11874、14409) + | 2 uc010nxq。1 # # [3]chr1 (11874、14409) + | 3 uc010nxr。1 # # [4]chr1 (69091、70008) + | 4 uc001aal。1 # # [5]chr1 (321084、321115) + | 5 uc001aaq。2 # #…………………# # [82956]chrY (27605645、27605645) - | 78803 uc004fwx。1 # # [82957]chrY (27606394、27606394) - | 78804 uc022cpc。1 # # [82958]chrY (27607404、27607404) - | 78805 uc004fwz。3 # # [82959]chrY (27635919、27635919) - | 78806 uc022cpd。1 # # [82960]chrY (59358329、59358329) - | 78807 uc011ncc。1 # # - - - - - - - # # seqinfo: 93年从hg19基因组序列(1循环)

同样,也有提取器为外显子(),cd(),()和基因启动子()。你选择哪一种特征提取后仅仅取决于你是什么样的信息。这些基本萃取器很好如果你只想要一个平表示,这些数据,但是许多这些特性本质上是嵌套的。所以提取平坦的农庄组织对象,您可以选择来提取GRangesList对象组的记录相关的基因,他们是这样的:

txby < - transcriptsBy (txdb =“基因”)txby
# # GRangesList对象长度23459:# # # # 1美元农庄对象与范围和2元数据列:# # seqnames范围链| tx_id tx_name # # < Rle > < IRanges > < Rle > | <整数> <人物> # # [1]chr19 (58858172、58858172) - | 70455 uc002qsd。4 # # [2]chr19 (58859832、58859832) - | 70456 uc002qsf。2 # # # # # # 10美元农庄对象与范围1和2元数据列:# # seqnames范围链| tx_id tx_name # # [1] chr8 (18248755、18248755) + | 31944 uc003wyw。1 # # # # 100 # #农庄对象与范围1和2元数据列:# # seqnames范围链| tx_id tx_name # # [1] chr20 (43248163、43248163) - | 72132 uc002xmj。3 # # # #…# # < 23456多个元素> # # - - - - - - - # # seqinfo: 93年从hg19基因组序列(1循环)

与平面提取器一样,有全家的萃取器可用取决于你想提取和您想要如何分组。它们包括transcriptsBy (), exonsBy (), cdsBy (), intronsByTranscript (), fiveUTRsByTranscript()和threeUTRsByTranscript ()。

当处理基因数据几乎是不可避免的,你会遇到的问题,不同的群体采取不同的方法命名的染色体。这是因为几乎所有主要库造就了自己稍微不同的方式来标记这些重要特性。

应对这个问题,发明Seqinfo对象和附属于TxDb对象以及GenomicRanges从这些对象中提取。你可以使用提取seqinfo()方法是这样的:

如果< - seqinfo si (txdb)
与93年# # Seqinfo对象从hg19基因组序列(1循环):# # seqnames seqlengths isCircular基因组# # chr1 249250621假hg19 # # chr2 249250621假hg19 # # chr3 198022430假hg19 # # chr4 191154276假hg19 # # chr5 180915260假hg19 # #……# # chrUn_gl000245 36651假hg19 # # chrUn_gl000246 38154假hg19 # # chrUn_gl000247 36422假hg19 # # chrUn_gl000248 39786假hg19 # # chrUn_gl000249 38502假hg19

和自seqinfo信息也连接到农庄TxDb提取器产生的对象,你也可以打电话给seqinfo这些方法的结果是这样的:

txby < - transcriptsBy (txdb =“基因”)如果< - seqinfo (txby)

Seqinfo对象包含大量有价值的数据存在哪些染色体特征,无论他们是圆形或线性的,和每一个有多长。它也将会确认如果你想做一个操作的findOverlaps计算重叠范围等。这是一个有价值的方式来确保染色体和基因是相同的为你的注解你比较的范围。但有时你可能有情况注释对象包含的数据与你的数据对象,但它仅仅是名字有不同的命名风格。在这些情况下,有助手,您可以用它来发现当前名字对象的风格。,还有一个setter方法允许你改变的价值更合适。所以在接下来的例子中,我们要改变seqlevelStyle从“UCSC”基于“运用”的命名约定(然后回来)。

头(seqlevels (txdb))
# # [1]“chr1”“chr2”“chr3”“chr4”“chr5”“chr6”
seqlevelsStyle (txdb)
# # [1]“UCSC的”
seqlevelsStyle (txdb) <——“NCBI”头(seqlevels (txdb))
# # [1]“1”“2”“3”“4”“5”“6”
# #然后改变它回来seqlevelsStyle (txdb) < -“UCSC”头(seqlevels (txdb))
# # [1]“chr1”“chr2”“chr3”“chr4”“chr5”“chr6”

除了能够改变与seqinfo数据用于对象的命名风格,你也可以切换的染色体是“活跃”,软件会忽略某些染色体。默认情况下,所有的染色体将是“积极的”。

头(isActiveSeq (txdb), n = 30)
# # chr1 chr2 chr3 # #真的真的真的# # chr4 chr5 chr6 # #真的真的真的# # chr7 chr8 chr9 # #真的真的真的# # chr10 chr11 chr12 # #真的真的真的# # chr13 chr14 chr15 # #真的真的真的# # chr16 chr17 chr18 # #真的真的真的# # chr19 chr20 chr21 # #真的真的真的# # chr22 chrX chrY # #真的真的真的# # chrM chr1_gl000191_random chr1_gl000192_random # #真的真的真的# # chr4_ctg9_hap1 chr4_gl000193_random chr4_gl000194_random # #真的真的真的

但有时您可能希望忽略其中的一些。例如,让我们假设您想要忽略txdb的Y染色体。你可以像这样:

isActiveSeq (txdb) (“chrY”) < -假头(isActiveSeq (txdb), n = 26)
# # chr1 chr2 chr3 # #真的真的真的# # chr4 chr5 chr6 # #真的真的真的# # chr7 chr8 chr9 # #真的真的真的# # chr10 chr11 chr12 # #真的真的真的# # chr13 chr14 chr15 # #真的真的真的# # chr16 chr17 chr18 # #真的真的真的# # chr19 chr20 chr21 # #真的真的真的# # chr22 chrX chrY # #真的真的假的# # chrM chr1_gl000191_random # #真正的真实

TxDb练习

练习5:TxDb.Hsapiens.UCSC.hg19使用访问器。knownGene包id来检索基因,记录名称和成绩单染色体的所有记录。这样做同时使用select()方法并使用记录()方法。在输出的区别是什么?

练习6:加载TxDb.Athaliana.BioMart。plantsmart22包。这个包不是从UCSC的和它是基于plantsmart。现在选择或使用一个基于范围的访问器看基因从这个TxDb对象id。他们如何比较你看到TxDb.Hsapiens.UCSC.hg19。knownGene包吗?

(回到顶部]

OrganismDb对象

所以如果你有来自多个不同的注释对象的数据。例如,如果你有基因符号(发现OrgDb对象),您想轻松地与已知基因转录的名字从一个基于UCSC TxDb对象?有一个理想的工具,可以帮助解决这类问题,这叫做OrganismDb对象[9]。一方面OrganismDb对象可以比OrgDb似乎更复杂,GODb或TxDb对象,因为他们可以让你访问所有三个对象来源。但在现实中他们没有那么复杂。他们所做的只是为你查询这些资源,然后合并结果返回在一起让你假装你只有一个来源为所有你的注释。

尝试一个允许负载是作为注释包:

库(“Homo.sapiens”)
# # # #加载所需的包:OrganismDbi加载所需的包:走。db # #加载所需的包:DBI # # # #加载所需的包:org.Hs.eg。db # # # #现在GODb对象直接# #现在直接把OrgDb对象# #直接TxDb对象
Homo.sapiens
# # # # # OrganismDb对象:包括GODb对象:走。数据库与数据:# # #基因本体# # #包括OrgDb对象:org.Hs.eg。db # # #基因数据:智人# # #分类Id: 9606 # # #包括TxDb对象:TxDb.Hsapiens.UCSC.hg19。knownGene # # #转录组数据:智人基于基因组:# # # # # # hg19 ENTREZID OrgDb基因id映射到TxDb GENEID基因id。

就是这样。现在可以使用这些对象以相同的方式使用OrgDb或TxDb对象。它的工作原理与基础对象,它包含相同:

选择(Homo。智人,键= " 4488 "列= c(“象征”、“TXNAME”), keytype =“ENTREZID”)
# #的选择()返回1:1键和列之间的映射
# # 1 # # ENTREZID象征TXNAME 4488 MSX2 uc003mcy.3

实际上工作的五个方法我们已经讨论了所有其他的数据库对象(keytypes(),列()键(),选择(),和mapIds())都应该为OrganismDb工作对象。如果由包括TxDb OrganismDb对象,然后基于访问器也应该工作范围:

tx < -成绩单(Homo。智人,列= c (“TXNAME”、“符号”))
# #的选择()返回1:1键和列之间的映射
tx
与82508范围和2 # #农庄对象元数据列:# # seqnames范围链| TXNAME # # < Rle > < IRanges > < Rle > | < CharacterList > # # [1] chr1 (11874、14409) + | uc001aaa。3 # # [2]chr1 (11874、14409) + | uc010nxq。1 # # [3]chr1 (11874、14409) + | uc010nxr。1 # # [4]chr1 (69091、70008) + | uc001aal。1 # # [5]chr1 (321084、321115) + | uc001aaq。2 # #………………# # [82504]chrX (154686575, 154686575)——| uc004fnj。3 # # [82505]chrX (154689080, 154689080)——| uc004fnk。3 # # [82506]chrX (154718673, 154718673)——| uc004fnn。3 # # [82507]chrX (154722196, 154722196)——| uc004fnp。4 # # [82508]chrX (155255323, 155255323)——| uc011nad。1 # # # # < CharacterList > # #象征[1]DDX11L1 # # [2] DDX11L1 # # [3] DDX11L1 # # [4] OR4F5 # # [5] NA # #……# # # # [82505][82504]F8A1 H2AFB3 # # # # [82507] [82506] TMLHE TMLHE # # [82508] NA # # - - - - - - - # # seqinfo: 92年从hg19基因组序列(1循环)

但范围访问器之间的一个关键区别TxDb对象相比,一个OrganismDb对象是东西的数量可以通过列要求更大的复合对象…

OrganismDb练习

练习7:使用人类。智人对象查找基因符号,记录开始和染色体使用select ()。然后使用记录做同样的事情。你可能会认为,这叫成绩单会TxDb对象一样,但(暂时)它不会。

锻炼8:看看调用列方法的结果在人类。智人对象和比较,当你调用org.Hs.eg列。数据库对象,然后看看调用TxDb.Hsapiens.UCSC.hg19列。knownGene对象。TXSTART和CHRLOC之间的区别是什么?哪一个你认为你应该使用记录或其他基因组信息?

锻炼9:使用人类。智人对象键的方法来查找entrez基因id为所有包含字母“X”的象征。

(回到顶部]

BSgenome对象

另一个重要的注释资源类型是一个BSgenome包[10]。有许多BSgenome包存储库中供你选择。你可以学习生物已经支持通过使用available.genomes()函数。

库(“BSgenome”)
# # # #加载所需的包:Biostrings加载所需的包:XVector # #加载所需的包:rtracklayer
头(available.genomes ())
# # BSgenome.Alyrata.JGI [1]”。v1 BSgenome.Amellifera.BeeBase“# # [2]”。assembly4 BSgenome.Amellifera.UCSC“# # [3]”。apiMel2 BSgenome.Amellifera.UCSC.apiMel2“# # [4]”。蒙面BSgenome.Athaliana.TAIR # # [5]。04232008 BSgenome.Athaliana.TAIR.TAIR9“# # [6]

不像我们这里讨论的其他资源,这些包是包含特定基因组序列数据构建的有机体。你可以加载这些包以通常的方式之一。和他们每个人通常主要对象的一个别名,短于完整的包名(方便):

库(BSgenome.Hsapiens.UCSC.hg19) ls (2)
# # BSgenome.Hsapiens.UCSC [1]”。hg19 Hsapiens”
Hsapiens
人类基因组:# # # # #生物:智人(人类)# # #提供者:UCSC的提供者版本:# # # # # # hg19上映日期:2009年2月# # #释放名称:基因组参考财团GRCh37 # # # 93序列:# # # chr1 chr2 chr3 # # # chr4 chr5 chr6 # # # chr7 chr8 chr9 # # # chr10 chr11 chr12 # # # chr13 chr14 chr15 # # #………# # # # # # chrUn_gl000235 chrUn_gl000236 chrUn_gl000237 chrUn_gl000238 chrUn_gl000239 chrUn_gl000240 # # # chrUn_gl000241 chrUn_gl000242 chrUn_gl000243 # # # chrUn_gl000244 chrUn_gl000245 chrUn_gl000246 # # # chrUn_gl000247 chrUn_gl000248 chrUn_gl000249 # # #(使用“seqnames()的所有序列的名字,使用“$”或“[[“# # #操作符来访问一个给定的序列)

getSeq方法是一个有用的从这些包提取数据的方法。这种方法有几个参数,但重要的是1的两个。第一参数指定BSgenome对象使用和第二个参数(名)指定你想要什么数据。举个例子,如果你叫它和给一个特征向量,名字对象的seqnames然后你会得到序列的染色体作为DNAStringSet对象。

seqNms < - seqnames (Hsapiens)头(seqNms)
# # [1]“chr1”“chr2”“chr3”“chr4”“chr5”“chr6”
getSeq (Hsapiens seqNms [1:2])
# # 2 # #长度宽度的DNAStringSet实例seq # # [1] 249250621 NNNNNNNNNNNNNNNNNNNNNNNNNNNNN……NNNNNNNNNNNNNNNNNNNNNNNNNNNNN # # [2] 243199373 NNNNNNNNNNNNNNNNNNNNNNNNNNNNN…NNNNNNNNNNNNNNNNNNNNNNNNNNNNN

而如果你给一个农庄对象为第二个参数,你可以得到一个DNAStringSet范围相对应。这可以是一个强大的学习方法序列是一个特定范围的礼物。例如,在这里我们可以提取感兴趣的特定基因的范围。

txby < - transcriptsBy (txdb =“基因”)geneOfInterest < - txby [[4488]] res < - getSeq Hsapiens, geneOfInterest res
# #长度1 # #宽度的DNAStringSet实例seq # # 6328 TCCCGTCTCCGCAGCAAAAAAGTTTGAGTCG…TTGCAGTAAAGTTTGTCCAAACTCACAATTA [1]

此外,Biostrings[11]包有许多有用的功能寻找一套模式在一个字符串等等。你可能没有注意到当它发生,但Biostrings包加载时加载BSgenome对象,所以这些功能已经可以让你探索。

BSgenome练习

锻炼10:你刚才用所学知识提取PTEN基因的序列。

(回到顶部]

biomaRt

另一个伟大的注释资源是biomaRt包(5、6、7)。biomaRt包暴露了一个巨大的家庭不同的在线注释资源称为集市。每个集市是另一个的一组在线web资源公约后,让他们处理这个包。所以第一步使用biomaRt总是加载方案,然后决定哪些你想使用“集市”。一旦你做出了决定,你将使用useMart()方法创建一个集市R会话对象。我们正在寻找可用的集市,然后选择使用最流行的集市之一:“运用”“集市。

库(biomaRt)头(listMarts ())
# # 1 # # biomart版本运用运用基因80(英国桑格)# # 2 snp运用变异80(英国桑格)# # 3规定运用监管80年(英国桑格)# # 4维加维加60(英国桑格)# # 5 fungi_mart_26运用真菌26(英国EBI) # # 6 fungi_variations_26运用真菌变化26 (EBI英国)
运用< - useMart(“运用”)的运用
# #对象的类“集市”:# #使用运用BioMart数据库使用数据集# #

每个“集市”可以包含多个数据集不同的东西。所以下一步是,你需要决定数据集。一旦你选择了一个,你需要指定数据集使用数据集参数当你叫useMart()构造函数的方法。在这里我们将指向人类的数据集。

头(listDatasets(运用))
# # # #数据集1 oanatinus_gene_ensembl # # 2 cporcellus_gene_ensembl # # 3 gaculeatus_gene_ensembl # # 4 lafricana_gene_ensembl # # 5 itridecemlineatus_gene_ensembl # # 6 choffmanni_gene_ensembl # # 1 # #描述版本鸭嘴兽anatinus基因(OANA5) OANA5 # # 2 Cavia porcellus基因(cavPor3) cavPor3 # # 3 Gasterosteus aculeatus基因(BROADS1) BROADS1 # # 4学名Loxodonta africana基因(loxAfr3) loxAfr3 # # 5 Ictidomys tridecemlineatus基因(spetri2) spetri2 # # 6 Choloepus hoffmanni基因(choHof1) choHof1
运用< - useMart(“运用”,数据集=“hsapiens_gene_ensembl”)运用
# #对象的类“集市”:# #使用运用BioMart数据库使用hsapiens_gene_ensembl数据集# #

接下来,我们需要考虑属性、值和过滤器。让我们开始属性。你可以得到一个不同的属性的清单biomaRt购买使用listAttributes方法:

头(listAttributes(运用))
# # 1 # #名称描述ensembl_gene_id运用基因ID # # 2 ensembl_transcript_id运用记录ID # # 3 ensembl_peptide_id运用蛋白质ID # # 4 ensembl_exon_id运用外显子ID # # 5 # #描述6 chromosome_name染色体的名字

你可以看到一个特定属性的值是什么用getBM方法:

头(getBM(属性= " chromosome_name ",集市=运用))
# # chromosome_name # 10 # 1 # 1 # 2 # 3 # 11 # 12 # 4 # 5 # 13 # 6 # 14

属性的东西你可以从biomaRt回来。他们是类似于你得到的,当你使用列方法与其他对象。

biomaRt包中,过滤器可以用于值来限制或选择回来。“价值观”在这里被当作键传递,你想知道更多的信息。相比之下,过滤器代表的关键,你正在寻找。例如,你可能会选择一个过滤器的名称“chromosome_name”和特定的值为“1”。在一起这两个参数值将请求任何属性匹配的1号染色体。这里就像是属性的访问器,还有一个访问器过滤器:

头(listFilters(运用))
# # 1 # #名称描述chromosome_name染色体名称# # 2开始基因开始(bp) # # 3结束结束(bp) # # 4 band_start乐队开始# # 5 band_end乐队结束# # 6 marker_start标记开始

所以现在你知道属性、值和过滤器,您可以调用getBM方法将数据放在一起,并请求特定的数据集市。举个例子,下面的请求基因符号和entrez id 1号染色体上发现苍蝇:

res < - getBM(属性= c (“hgnc_symbol”、“entrezgene”),过滤器=“chromosome_name”,值=“1”,集市=运用)头(res)
# # hgnc_symbol entrezgene MMEL1 # # 79258 # 100505887 # 2 # # 3 NA CAMK2N1 WRAP73 # # 49856 # # 55450 # # 6 FCN3 8547

当然,你可能已经注意到,很多理由getBM非常类似于你做什么当你叫shsapienselect。如果这是你的喜好你现在还可以使用标准的选择方法与集市对象。

头(列(运用))
# # [1]“3 _utr_end”“3 _utr_end”“3 _utr_start”“3 _utr_start”“3 utr”# # [6]“5 _utr_end”

biomaRt练习

锻炼11:下拉去条款entrez基因id“1”从人类通过运用“hsapiens_gene_ensembl”数据集。

练习12:现在比较方面你就拉到同一个org.Hs.eg条款。db包(现在可以检索使用select ())。你注意到什么差异?你怀疑是为什么?

(回到顶部]

创建注释对象

现在你知道Bioconductor有很多注释资源。但它仍然是完全不可能的每一个注释资源预包装的每一个可能的使用。正因为如此,几乎所有的注释对象具有特殊的功能,可以创建这些对象调用(或负载)的包从广义数据资源或特定的文件类型。下面是一个表的一些更受欢迎的选择。

如果你想要这个 你有这个 然后你可以叫来帮助
TxDb 跟踪从加州大学 GenomicFeatures: makeTxDbPackageFromUCSC
TxDb 数据从biomaRt GenomicFeatures: makeTxDbPackageFromBiomaRt
TxDb 人造石铺地面或gtf文件 GenomicFeatures: makeTxDbFromGFF
OrgDb 自定义data.frames AnnotationForge: makeOrgPackage
OrgDb 有效的分类ID AnnotationForge: makeOrgPackageFromNCBI
ChipDb org包& data.frame AnnotationForge: makeChipPackage
BSgenome fasta或twobit序列文件 BSgenome: forgeBSgenomeDataPkg

在大多数情况下的输出资源创建函数将一个注释包,您可以安装。

,不幸的是没有足够的空间来演示如何调用这些函数。但这样做实际上是很简单的,大多数此类功能将与它们相关的手册页和有据可查的小插曲(3、4、10、12)。像往常一样,你可以看到任何函数的帮助页面内部的R。

帮助(“makeTxDbPackageFromUCSC”)

如果您计划使用这些函数,那么你应该先咨询相关的文档。这些类型的函数往往有很多参数和他们中的大多数也要求他们输入数据符合一些非常具体的标准。最后,你应该知道,即使你已经成功创建一个注释包,你还必须利用install.packages()函数(回购参数= NULL)源目录安装任何包刚刚创建的。

重要的注意事项

bioconductor项目代表了一个非常大的和从一个活跃的和参与社区活动代码库。由于这个原因,你应该希望这个介绍中描述的软件会随着时间改变,常常以戏剧性的方式。为例,getSeq函数,本章中描述的是预计将在未来几个月大改革。这时老函数将弃用一个完整的发布周期(6个月),然后贴上已经被移走之前的发布周期。这个周期,这样活跃用户可以警告正在发生的事情,他们应该寻找合适的替代功能。但很明显,这个系统不能警告最终用户如果他们没有警惕更新软件到最新版本。所以请花时间经常更新你的软件到最新版本。

跟上新发展用户鼓励探索bioconductor网站它包含许多当前走查和小品文。也访问了支持网站你可以问问题并参与讨论。

sessionInfo ()

本教程中使用包版本:

sessionInfo ()
# # R版本3.2.1(2015-06-18)# #平台:x86_64-unknown-linux-gnu(64位)# #下运行:Ubuntu 14.04.2 LTS # # # #语言环境:# # [1]LC_CTYPE = en_US。utf - 8 LC_NUMERIC = C # #[3]而= en_US。utf - 8 LC_COLLATE = C # # [5] LC_MONETARY = en_US。utf - 8 LC_MESSAGES = en_US。utf - 8 # # [7] LC_PAPER = en_US。utf - 8 LC_NAME = C # # [9] LC_ADDRESS C = C LC_TELEPHONE = # # [11] LC_MEASUREMENT = en_US。utf - 8 LC_IDENTIFICATION = C附加基本包:# # # # # # [1]stats4并行数据图形grDevices跑龙套数据集# #[8]方法基础# # # #其他附加包:# # # # [2][1]biomaRt_2.25.1 BSgenome.Hsapiens.UCSC.hg19_1.4.0 # # [3] BSgenome_1.37.3 # # [4] rtracklayer_1.29.12 # # [5] Biostrings_2.37.2 # # [6] XVector_0.9.1 # # [7] Homo.sapiens_1.3.1 # # [8] org.Hs.eg.db_3.1.2 # # [9] GO.db_3.1.2 # # [10] RSQLite_1.0.0 # # [11] DBI_0.3.1 # # [12] OrganismDbi_1.11.42 # # [13] TxDb.Hsapiens.UCSC.hg19.knownGene_3.1.3 # # [14] GenomicFeatures_1.21.13 # # [15] AnnotationDbi_1.31.17 # # [16] Biobase_2.29.1 # # [17] GenomicRanges_1.21.16 # # [18] GenomeInfoDb_1.5.8 # # [19] IRanges_2.3.14 # # [20] S4Vectors_0.7.10 # # [21] BiocGenerics_0.15.3 # # [22] AnnotationHub_2.1.30 # # [23] knitr_1.10.5 # # [24] BiocStyle_1.7.4 # # # #通过加载一个名称空间(而不是附加):# # [1]Rcpp_0.11.6 futile.logger_1.4.1 # # [3] BiocInstaller_1.19.8 formatR_1.2 # # [5] futile.options_1.0.0 bitops_1.0-6 # # [7] tools_3.2.1 zlibbioc_1.15.0 # # [9] digest_0.6.8 evaluate_0.7 # # [11] graph_1.47.2 shiny_0.12.1 # # [13] curl_0.9.1 yaml_2.1.13 # # [15] httr_1.0.0 stringr_1.0.0 # # [17] R6_2.1.0 RBGL_1.45.1 # # [19] BiocParallel_1.3.34 xml_3.98 - 1.3 # # [21] rmarkdown_0.7 lambda.r_1.1.7 # # [23] magrittr_1.5 GenomicAlignments_1.5.11 # # [25] Rsamtools_1.21.14 htmltools_0.2.6 # # [27] SummarizedExperiment_0.3.2 mime_0.3 # # [29] interactiveDisplayBase_1.7.0 xtable_1.7-4 # # [31] httpuv_1.3.2 stringi_0.5-5 # # [33] rcurl_1.95 - 4.7

确认

本章研究报告支持国家人类基因组研究所的美国国立卫生研究院奖号码U41HG004059和下的美国国立卫生研究院国家癌症研究所U24CA180996奖号码。我们也要感谢众多机构的产生和维护的数据用于生成和更新注释这里描述资源。

引用

  1. 沃尔夫冈•休伯文森特·J·凯里,罗伯特先生,西蒙•安德斯·马克•卡尔森Benilton卡瓦略,赫克托耳Corrada布拉沃,肖恩·戴维斯Laurent与托马斯•Girke拉斐尔Gottardo, Kasper D汉森,哈恩(Florian Hahne)拉斐尔•伊,迈克尔·劳伦斯,迈克尔•我爱詹姆斯•麦克唐纳Valerie Obenchain Andrzej K OleśHerve页,亚历杭德罗雷耶斯,保罗•香农丹特南鲍姆,李维·沃尔德伦戈登•K Smyth &马丁·摩根(2015)策划高通量基因组分析Bioconductor自然方法12:115 - 121

  2. 页面H,卡尔森M,猎鹰年代和李n . AnnotationDbi:注释数据库接口。1.30.0 R包版本。

  3. m·卡尔森h .页面、p . Aboyoun猎鹰,m·摩根,d . Sarkar m .劳伦斯GenomicFeatures:工具和操作记录中心1.19.38注释版本。

  4. Lawrence M, Huber W,页面H, Aboyoun P,卡尔森M,绅士R,摩根M和凯里V (2013)。软件计算和注释基因组范围。PLoS计算生物学,9。http://dx.doi.org/10.1371/journal.pcbi.1003118,http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1003118

  5. 史蒂芬Durinck,沃尔夫冈·胡贝尔biomaRt:接口biomaRt数据库(例如运用,宇宙,Wormbase和Gramene) 2.23.5版本。

  6. E Durinck年代,首位P,伯尼和Huber W (2009)。映射标识符为一体的基因组数据集与R / biomaRt Bioconductor包。自然协议,4,1184 - 1191页。

  7. Durinck年代,莫罗Y Kasprzyk A,戴维斯年代,德摩尔人B, Brazma和Huber W (2005)。BioMart Bioconductor:一个强大的生物数据库和微阵列数据分析之间的联系。生物信息学,21岁,3439 - 3440页。

  8. 特南鲍姆摩根M,卡尔森M, D和Arora s AnnotationHub:客户端访问AnnotationHub资源。R包2.0.1版本。

  9. 卡尔森M,页面H,摩根M和Obenchain诉OrganismDbi:软件使光滑连接不同的数据库包。1.10.0 R包版本。

  10. 页面h . BSgenome:基础设施Biostrings-based基因组数据的包。1.36.0 R包版本。

  11. 页面H, Aboyoun P, R和DebRoy绅士美国Biostrings:字符串对象代表生物序列,和匹配算法。2.36.0 R包版本。

  12. 卡尔森M和h。AnnotationForge:页面代码构建注释数据库包。1.10.0 R包版本。

答案的练习

练习1:

第一件你需要做的是寻找从UCSC的事情

唯有通过< -查询(啊,“加州大学”)

然后你可以寻找匹配“hg19”和一个物种基因组值相匹配的“智人”。

唯有通过< -子集(ahs的,唯有通过基因组= = hg19)长度(ahs)
# # 5490年[1]
唯有通过< -子集(ahs的,唯有通过物种= =“智人”)长度(ahs)
# # 5490年[1]

您可能注意到,最后两个冗余过滤步骤(口头禅)做第一是一样的做。)如果不是这样的话,我们可能会怀疑有问题的元数据。

练习2:

这打破了oreganno注释。UCSC的网站这样描述:“这个跟踪显示literature-curated监管区域,转录因子结合位点,和监管从ORegAnno多态性(开放监管注释)。更详细的信息在特定的监管元素,按照链接ORegAnno从细节页面。”

唯有通过< -查询(啊,oreganno)保持稳健
# # # # # snapshotDate AnnotationHub 9记录():2015-05-26 # # # $ dataprovider: Pazar, UCSC的# # # $物种:智人,酿酒酵母,NA # # # $ rdataclass:农庄# # #额外mcols (): taxonomyid,基因组,描述标签,# # # sourceurl, sourcetype # # #检索记录,例如,对象[[“AH5087”]]的# # # # # #标题AH5087 | ORegAnno # # AH5213 | ORegAnno # # AH7053 | ORegAnno # # AH7061 | ORegAnno # # AH22286 | pazar_ORegAnno_20120522。csv # # AH22287 | pazar_ORegAnno_ENCODEprom_20120522。csv # # AH22288 | pazar_ORegAnno_Erythroid_20120522。csv # # AH22289 | pazar_ORegAnno_STAT1_ChIP_20120522。csv # # AH22290 | pazar_ORegAnno_STAT1_lit_20120522.csv
唯有通过[1]
# # # # # AnnotationHub 1记录snapshotDate(): 2015-05-26 # # #名称():AH5087 # # # $ dataprovider: UCSC的# # # $物种:智人# # # $ rdataclass:农庄# # # $标题:ORegAnno # # # $描述:从UCSC农庄对象跟踪ORegAnno的# # # $ taxonomyid: # # # 9606基因组:hg19 # # # $ sourcetype: UCSC的跟踪# # # $ sourceurl: rtracklayer: / /hgdownload.cse.ucsc.edu/goldenpath/hg19/dat..。# # # $ sourcelastmodifieddate: NA # # # $ sourcesize: NA # # #标签:美元oreganno, UCSC,跟踪、基因转录、注释# # #检索记录的对象[[“AH5087”]] '
oreg < -唯有通过[[' AH5087 ']] oreg
与23118范围和2 # #农庄对象元数据列:# # seqnames范围链|名称# # < Rle > < IRanges > < Rle > | <人物> # # [1]chr1 (873499、873849) + | OREG0012989 # # [2] chr1 (886764、887214) + | OREG0012990 # # [3] chr1 (886938、886958) + | OREG0007909 # # [4] chr1 (919400、919950) + | OREG0012991 # # [5] chr1 (919695、919715) + | OREG0007910 # #………………# # [23114]chr7_gl000195_random [851] + | OREG0026736 # # [23115] chr7_gl000195_random (103427、103447) + | OREG0012963 # # [23116] chr7_gl000195_random (121139、121159) + | OREG0012964 # # [23117] chr17_gl000204_random (58370、58955) + | OREG0026769 # # [23118] chr17_gl000205_random (117492、118442) + | OREG0026772得分# # # # # # <数字> [1]0 0 # # # # [2][3]0 0 # # # # [4][5]0 # #……# # # # [23115][23114]0 0 0 # # # # [23116][23117]0 # # [23118]0 # # - - - - - - - # # seqinfo: 93年从hg19基因组序列(1循环)

练习3:

键< < -“MSX2”列- c (“ENTREZID”、“科”)选择(org.Hs.eg。db、钥匙、列keytype =“象征”)
# #警告.deprecatedColsMessage():访问基因位置信息通过“空空”,“CHRLOC”、“CHRLOCEND”# #弃用。请使用一系列基于访问器像基因(),或# #选择()与列值TXCHROM和TXSTART TxDb或# # OrganismDb对象。
# #的选择()返回1:1键和列之间的映射
# # 1 # #符号ENTREZID空空的MSX2 4488 5

练习4:

# # 1日得到所有基因符号(org.Hs.eg orgSymbols < -键。db, keytype =“象征”)# #,然后用它来得到所有基因符号匹配所有entrez IDs egr < -选择(org.Hs.eg。db,键= orgSymbols“ENTREZID”、“符号”)
# #的选择()返回1:许多钥匙和列之间的映射
长度(egr ENTREZID美元)
# # 56340年[1]
长度(独特(egr ENTREZID美元))
# # 56340年[1]
# # VS:长度(egr $符号)
# # 56340年[1]
长度(独特(egr $符号))
# # 56332年[1]
# #我们陷阱这些符号冗余和看起来更密切……redund < - egr美元符号badSymbols < - redund select (org.Hs.eg复制(redund)。db, badSymbols ENTREZID”、“符号”)
# #的选择()返回1:许多钥匙和列之间的映射
# #符号ENTREZID HBD # # 3045 # # 2 HBD RNR1 100187828 # # 4549 # # 6052 # # 4550 # # RNR2 RNR1 RNR2 6053 # # 7 SFPQ 6421 # # 8 SFPQ 654780 # # 9 TEC 7006 # # 10 TEC 7795 # # 11 MEMO1 100124696 # # 51072 # # 13 MEMO1 MMD2 221938 # # 14 MMD2 100505381 # # 15 LSAMP-AS1 100505381 # # 16 LSAMP-AS1 101926903

练习5:

所以检索这些信息使用选择你需要这样做:

res1 < -选择(TxDb.Hsapiens.UCSC.hg19。knownGene、钥匙(TxDb.Hsapiens.UCSC.hg19。knownGene keytype =“TXID”),列= c (“GENEID”、“TXNAME”,“TXCHROM”), keytype =“TXID”)
# #的选择()返回1:1键和列之间的映射
头(res1)
# # 1 # # TXID GENEID TXNAME TXCHROM 1 100287102 uc001aaa。3 chr1 # # 2 2 100287102 uc010nxq。1 chr1 # # 3 3 100287102 uc010nxr。1 chr1 # # 4 4 79501 uc001aal。1 chr1 # # 5 5 < NA > uc001aaq。2 chr1 # # 6 6 < NA > uc001aar。2 chr1

和使用记录你这样做:

它< -成绩单(TxDb.Hsapiens.UCSC.hg19。knownGene列= c (“gene_id”、“tx_name”))头(它)
与6和2 # #农庄对象元数据列:# # seqnames范围链| gene_id tx_name # # < Rle > < IRanges > < Rle > | < CharacterList > <人物> # # [1]chr1 (11874、14409) + | 100287102 uc001aaa。3 # # [2]chr1 (11874、14409) + | 100287102 uc010nxq。1 # # [3]chr1 (11874、14409) + | 100287102 uc010nxr。1 # # [4]chr1 (69091、70008) + | 79501 uc001aal。1 # # [5]chr1 (321084、321115) + | uc001aaq。2 # # [6]chr1 (321146、321207) + | uc001aar。2 # # - - - - - - - # # seqinfo: 92年从hg19基因组序列(1循环)

请注意,在第二个案例中我们不必要求染色体,成绩单()返回一个农庄组织对象,所以染色体将自动返回的对象。

练习6:

库(TxDb.Athaliana.BioMart.plantsmart22) res < -成绩单(TxDb.Athaliana.BioMart。plantsmart22列= c (“gene_id”))

你会发现这个包的id基因TAIR轨迹id和不entrez基因ids TxDb.Hsapiens.UCSC.hg19喜欢你所看到的。knownGene包。总是注意很重要的基因id被TxDb你看着。

练习7:

库(Homo.sapiens)键< -键(Homo。智人,keytype = " TXID ") res1 < -选择(Homo。智人,键=键列= c(“象征”、“TXSTART”,“TXCHROM”), keytype =“TXID”)负责人(res1)

和使用记录你这样做:

库(Homo.sapiens)它< -成绩单(Homo。智人,列=“象征”)
# #的选择()返回1:1键和列之间的映射
头(它)
与6 # #农庄对象范围和1元数据列:# # seqnames范围链|符号# # < Rle > < IRanges > < Rle > | < CharacterList > # # [1] chr1 (11874、14409) + | DDX11L1 # # [2] chr1 (11874、14409) + | DDX11L1 # # [3] chr1 (11874、14409) + | DDX11L1 # # [4] chr1 (69091、70008) + | OR4F5 # # [5] chr1 (321084、321115) + | NA # # [6] chr1 (321146、321207) + | NA # # - - - - - - - # # seqinfo: 92年从hg19基因组序列(1循环)

锻炼8:

列(Homo.sapiens)
# # [1]“ACCNUM”“别名”“CDSCHROM”“CDSEND”# # [5]“CDSID”“CDSNAME”“CDSSTART”“CDSSTRAND”# #[9]“定义”“运用”“ENSEMBLPROT”“ENSEMBLTRANS”# # [13]“ENTREZID”“酶”“证据”“EVIDENCEALL”# # [17]“EXONCHROM”“EXONEND”“EXONID”“EXONNAME”# # [21]“EXONRANK”“EXONSTART”“EXONSTRAND”“GENEID”# # [25]“GENENAME”“走”“GOALL”“GOID”# # [29]“IPI”“地图”“人类”的“本体”# # [33]“ONTOLOGYALL”“路径”“包含”“PMID”# # [37]“PROSITE”“REFSEQ”“符号”“# #”[41]“TXCHROM”“TXEND”“TXID”“TXNAME”# # [45]“TXSTART”“TXSTRAND”“TXTYPE”“UCSCKG”# # [49]“UNIGENE”“UNIPROT”
列(org.Hs.eg.db)
# # [1]“ACCNUM”“别名”“运用”“ENSEMBLPROT”# # [5]“ENSEMBLTRANS”“ENTREZID”“酶”“证据”# # [9]“EVIDENCEALL”“GENENAME”“走”“GOALL”# # [13]“IPI”“地图”“人类”的“本体”# # [17]“ONTOLOGYALL”“路径”“包含”“PMID”# # [21]“PROSITE”“REFSEQ”“符号”“UCSCKG”# # [25]“UNIGENE”“UNIPROT”
列(TxDb.Hsapiens.UCSC.hg19.knownGene)
# # [1]“CDSCHROM”“CDSEND”“CDSID”“CDSNAME”“CDSSTART”# # [6]“CDSSTRAND”“EXONCHROM”“EXONEND”“EXONID”“EXONNAME”# # [11]“EXONRANK”“EXONSTART”“EXONSTRAND”“GENEID”“TXCHROM”# # [16]“TXEND”“TXID”“TXNAME”“TXSTART”“TXSTRAND”# # [21]“TXTYPE”
# #你可能也想看看这个:成绩单(Homo。智人,列= c(“象征”、“CHRLOC”))
# #的选择()返回1:1键和列之间的映射
# #农庄与82508范围和对象元数据列:# # seqnames范围链|符号# # < Rle > < IRanges > < Rle > | < CharacterList > # # [1] chr1 (11874、14409) + | DDX11L1 # # [2] chr1 (11874、14409) + | DDX11L1 # # [3] chr1 (11874、14409) + | DDX11L1 # # [4] chr1 (69091、70008) + | OR4F5 # # [5] chr1 (321084、321115) + | NA # #………………# # [82504]chrX (154686575, 154686575)——| F8A1 # # [82505] chrX (154689080, 154689080)——| H2AFB3 # # [82506] chrX (154718673, 154718673)——| TMLHE # # [82507] chrX (154722196, 154722196)——| TMLHE # # [82508] chrX (155255323, 155255323)——| NA # # - - - - - - - # # seqinfo: 92年从hg19基因组序列(1循环)

关键的区别是,TXSTART指转录的开始和从TxDb.Hsapiens.UCSC.hg19起源于TxDb对象。knownGene包,CHRLOC指同一件事但起源于从org.Hs.eg OrgDb对象。db包。的起源具有重要意义,因为TxDb对象代表一个转录组从UCSC OrgDb主要来源于在NCBI基因为中心的数据。结果是CHRLOC不会TXSTART许多地区代表,因为必须有一个官方基因甚至有记录。CHRLOC数据也为org.Hs.eg锁定。db作为hg19数据,而你可以交换不同TxDb对象匹配您正在使用的基因组hg18等。由于这些原因,我们强烈建议使用TXSTART代替CHRLOC。Howeverm CHRLOC仍然在org包由于历史原因。

锻炼9

找到相匹配的钥匙,利用模式和列参数。

图书馆(Homo.sapiens) xk =头(键(Homo。智人,keytype = " ENTREZID”模式= " X ",列=“象征”))xk
# #[1]“五一”“179”“189”“239”“240”“241”

选择验证结果

选择(Homo。智人,xk,“象征”、“ENTREZID”)
# #的选择()返回1:1键和列之间的映射
51 # # 1 # # ENTREZID象征ACOX1 # # 179 AGMX2 # # 239 ALOX12 189 AGXT # # 4 # 5 # 240 ALOX5 # 6 # 241 ALOX5AP

锻炼10:

库(BSgenome.Hsapiens.UCSC.hg19) # #被基因记录范围分组txby < - transcriptsBy (Homo。智人,由= "基因")# #查找的entrez ID基因PTEN的选择(Homo象征。智人,键= ' PTEN ',列= ENTREZID, keytype =“象征”)
# #的选择()返回1:1键和列之间的映射
# # 1 # #符号ENTREZID PTEN 5728
# #子集,基因转录geneOfInterest < - txby[[5728]] # #提取序列res < - getSeq Hsapiens, geneOfInterest res
# # 2 # #长度宽度的DNAStringSet实例seq # # [1] 105338 CCTCCCCTCGCCCGGCGCGGTCCCGTCCGCC…TTAAAACTGATTAAAGTCTCATTCTTGTCA # # 105338 CCTCCCCTCGCCCGGCGCGGTCCCGTCCGCC…TTAAAACTGATTAAAGTCTCATTCTTGTCA [2]

锻炼11:

库(biomaRt)运用< - useMart(“运用”,数据集=“hsapiens_gene_ensembl”) id = c (“1”) getBM(属性= c (“go_id”、“entrezgene”),过滤器= entrezgene,值= id、集市=运用)
# # 1 # # go_id entrezgene去:0005575 1 # # 2:0005576 1 # # 3:0043226 1 # # 4:0008150 1 # # 5:0005615 1 # # 6:0003674 1 # # 7:0070062 1 # # 8:0072562 1 # # 9:0072562 1

练习12:

图书馆(org.Hs.eg.db) id = c select (org.Hs.eg (“1”)。db,键= id列=“走”,keytype =“ENTREZID”)
# #的选择()返回1:许多钥匙和列之间的映射
# # ENTREZID证据本体1 # # 1:0003674 ND MF # 1 # 2: 0005576 IDA CC # # 3 1: 0005615 IDA CC # # 4 1: 0008150 ND BP 5 # # 1: 0070062 IDA CC 6 # # 1: 0072562 IDA CC

写这个练习的时候,有一个不同的数字去条件比org.Hs.eg.db biomaRt归来。这可能并不总是真的在未来尽管这些资源都是更新。然而这个web服务,预计(不断更新)将下降在与org.Hs.eg同步。db计划(每年更新两次)。这是一个重要的区别,每种方法都有不同的优点和缺点。不断更新的优点是,你总是经常的最新注解不同类似的条款。使用一个包的优点是,结果是释放Bioconductor冻结。这可以帮助你得到同样的答案,你今天得到(再现性),几年后。

(回到顶部]