6月26日|生物2017

本次研讨会的目标

  • 了解各种注释包类型

  • 了解查询这些资源的基本知识

  • 讨论有关Bioc数据结构的注释

  • 多多练习

注释是什么意思?

将已知ID映射到其他功能或位置信息

特定的目标

我们有数据和统计数据,我们想添加其他有用的信息

最终的结果可能简单如data.frame或HTML表,也可能复杂如RangedSummarizedExperiment

数据容器

ExpressionSet

负载(执行(“extdata /分野。Rdata", package = "BiocAnno2017"))集合
## ExpressionSet (storageMode: lockedEnvironment) ## assayData: 33552 features, 6 samples ##元素名称:exprs ##协议数据:none ##表型数据## sampleNames: GSM2194079 GSM2194080…GSM2194084 (6 total) ## varLabels: title characters_ch1.1 ## varMetadata: labelDescription ## featureData ## featureNames: 16657436 16657440…17118478 (33552 total) ## fvarLabels: PROBEID ENTREZID SYMBOL GENENAME ## fvarMetadata: labelDescription ## experimentData: use 'experimentData(object)' ##注释:pdf .hugene.2.0.st

ExpressionSet(继续)

头(exprs (eset))
## gsm2194079 gsm2194080 gsm2194081 gsm2194082 gsm2194083 gsm2194084 ## 16657436 8.505158 9.046577 8.115481 8.715343 8.566301 ## 16657440 7.948860 8.191222 7.901911 8.459781 8.191793 8.219658 ## 166574450 10.9932934 11.228553 10.948120 11.46231 11.300046 11.300886 ## 16657469 9.172462 9.344630 9.193450 9.465584 9.464020 9.135715 ## 16657473 6.222049 6.551035 6.000246 6.398798 5.892654 5.592125 ## 16657476 8.514300 8.474073 8.780833 8.874606
头(pData (phenoData (eset)))
## GSM2194079 SW620-miR625-rep1 shRNA: miR-625-3p ## GSM2194080 SW620-miR625-rep2 shRNA: miR-625-3p ## GSM2194081 SW620-miR625-rep3 shRNA: miR-625-3p ## GSM2194081 SW620-miR625-rep3 shRNA: miR-625-3p ## GSM2194082 SW620-scramble-rep1 shRNA: scramble ## GSM2194083 SW620-scramble-rep2 shRNA: scramble ## GSM2194084 SW620-scramble-rep3 shRNA: scramble

ExpressionSet(继续)

头(pData (featureData (eset)))
## PROBEID ENTREZID SYMBOL ## 16657436 16657436 84771 DDX11L2 ## 16657440 16657440 100302278 MIR1302-2 ## 166574450 16657450 402483 LINC01000 ## 16657469 16657450 402483 LINC01000 ## 16657473 16657473 140849 LINC00266-1 ## 16657473 16657469 16657469 linc001000 ## 16657473 16657469 140849 linc00261 -1 ## 16657473 16657473 16657473 16657473 140849 linc00261 -1 ## 16657473 16657473 16657473 16657469 OR4F29 ## 16657473 16657473 16657473 729759 OR4F29 ## 16657476 16657476 388574 RPL23AP87 ## GENENAME ## 16657436 DEAD/H-box helicase 11 like 2 ## 16657440 microRNA 1302-2 ## 16657436长基因间非蛋白编码RNA 1000 ## 16657440长基因间非蛋白编码RNA 266-1 ## 16657473嗅觉受体家族4亚家族Fmember 29 ## 16657476 ribosomal protein L23a pseudogene 87

生物容器vs基础结构

优点

  • 有效性检查

  • 构造子集

  • 调度函数

  • 自动的行为

缺点

  • 难以创造

  • 手工提取数据很麻烦

  • 只在R范围内有用

注释来源

包类型 例子
ChipDb hugene20sttranscriptcluster.db
OrgDb org.Hs.eg.db
TxDb / EnsDb TxDb.Hsapiens.UCSC.hg19.knownGene;EnsDb.Hsapiens.v75
OrganismDb Homo.sapiens
BSgenome BSgenome.Hsapiens.UCSC.hg19
其他人 GO.db;KEGG.db
AnnotationHub 网上资源
biomaRt 网上资源

与AnnoDb包交互

主要功能是选择

选择(annopkgkeytype

在哪里

  • Annopkg是注释包

  • 钥匙是我们的id知道

  • 列是我们的值想要

  • Keytype是使用的密钥类型
    • 如果键类型是中央键,它可以保持未指定

简单的例子

假设我们分析了来自Affymetrix人类基因ST 2.0阵列的数据,并想知道这些基因是什么。为了实验室的目的,我们只是随机选择了一些id。

库(hugene20sttranscriptcluster.db) set.seed(12345) ids <- featureNames(eset)[sample(1:20 000, 5)] ids
## [1] "16908472" "16962185" "16920686" "16965513" "16819952"
select(hugene20sttranscriptcluster.db, ids, "SYMBOL")
'select()'返回键和列之间的1:1映射
## probeid符号## 1 16908472 linc01494 ## 2 16962185 alg3 ## 3 16920686 < na > ## 4 16965513 < na > ## 5 16819952 CBFB

问题!

你怎么知道中心键是什么?

  • 如果它是一个ChipDb,中心键是制造商的探头id

  • 有时会出现在名称中- org.Hs.eg.db,其中“eg”的意思是Entrez基因ID

  • 你可以看到一些例子,例如head(keys)annopkg)),并由此推断

  • 但请注意,只要指定键类型,就不需要知道中心键

更多的问题!

对于给定的注释包,哪些键类型或列可用?

keytypes (hugene20sttranscriptcluster.db)
#[1]“accnum”“alias”“ensembl”“ensemblprot”##[5]“ensembltrans”“entrezid”“enzyme”“evidence”##[9]“evidenceall”“genename”“go”“goall”##[13]“ipi”“map”“omim”“ontology”##[17]“ontologyall”“path”“pfam”“pmid”##[21]“probeid”“prosite”“refseq”“symbol”##[25]“ucsckg”“unigene”“uniprot”
列(hugene20sttranscriptcluster.db)
#[1]“accnum”“alias”“ensembl”“ensemblprot”##[5]“ensembltrans”“entrezid”“enzyme”“evidence”##[9]“evidenceall”“genename”“go”“goall”##[13]“ipi”“map”“omim”“ontology”##[17]“ontologyall”“path”“pfam”“pmid”##[21]“probeid”“prosite”“refseq”“symbol”##[25]“ucsckg”“unigene”“uniprot”

另一个例子

有一个问题选择然而。

ids <- c('16737401','16657436','16678303') select(hugene20sttranscriptcluster.db, ids, c("SYMBOL","MAP"))
'select()'返回1:多个键和列之间的映射
## PROBEID符号MAP ## 1 16737401 TRAF6 11p12 ## 2 16657436 DDX11L1 1p36.33 ## 3 16657436 LOC102725121 1p36.33 ## 4 16657436 DDX11L9 15q26.3 ## 5 16657436 DDX11L9 15q26.3 ## 6 16657436 DDX11L10 16p13.3 ## 7 16657436 DDX11L5 9p24.3 ## 8 16657436 DDX11L16 Xq28 ## 9 16678303 ARF1 1q42.13

mapIds函数

替代方案选择mapIds这可以控制副本

  • 同样的论点选择略有不同

    • columns参数只能指定一个列

    • 键类型参数必须被指定

    • 另一个参数multiVals用于控制重复项

mapIds(hugene20sttranscriptcluster.db, ids, "SYMBOL", "PROBEID")
'select()'返回1:多个键和列之间的映射
## 16737401 16657436 16678303 ## traf6 " " ddx11l1 " " arf1 "

多瓦尔的选择

默认是第一个,我们只选择第一个副本。其他的选择是列表CharacterList过滤器asNA或者用户指定的函数。

mapIds(hugene20sttranscriptcluster.db, ids, "SYMBOL", "PROBEID", multiVals = "list")
'select()'返回1:多个键和列之间的映射
# # $ 16737401的# # TRAF6[1]” " ## ## $` 16657436 # #[1]”DDX11L1”“LOC102725121”“DDX11L2”“DDX11L9”# #[5]“DDX11L5”“DDX11L10 DDX11L16 " ## ## $` 16678303 # #[1]”ARF1”

多瓦尔的选择(续)

mapIds(hugene20sttranscriptcluster.db, ids, "SYMBOL", "PROBEID", multiVals = "CharacterList")
'select()'返回1:多个键和列之间的映射
##长度3 ## [["16737401"]]TRAF6 ## [["16657436"]] DDX11L1 LOC102725121 DDX11L2 DDX11L9 DDX11L10 DDX11L5 DDX11L16 ## [["16678303"]] ARF1
mapIds(hugene20sttranscriptcluster.db, ids, "SYMBOL", "PROBEID", multiVals = "filter")
'select()'返回1:多个键和列之间的映射
## 16737401 16678303 ## traf6 " arf1 "
mapIds(hugene20sttranscriptcluster.db, ids, "SYMBOL", "PROBEID", multiVals = "asNA")
'select()'返回1:多个键和列之间的映射
## 16737401 16657436 16678303 ## traf6 na " arf1 "

ChipDb / OrgDb问题

使用hugene20sttranscriptcluster.db或org.Hs.eg.db包,

  • 什么基因符号对应Entrez基因ID 1000?

  • PPARG的整合基因ID是什么?

  • GAPDH的UniProt ID是什么?

  • 我们装载的表达集(集合)中有多少个探针集映射到单个基因?有多少根本没有映射到基因上?

TxDb包

TxDb包包含位置信息;内容可以通过包的名称推断出来

TxDb.Species.Source.Build.Table

  • TxDb.Hsapiens.UCSC.hg19.knownGene

    • 智人

    • UCSC基因组浏览器

    • hg19(他们版本的GRCh37)

    • knownGene表

TxDb.Dmelanogaster.UCSC.dm3。ensGene TxDb.Athaliana.BioMart.plantsmart22

EnsDb包

EnsDb包类似于TxDb包,但基于ensemble映射

EnsDb.Hsapiens.v79
EnsDb.Mmusculus.v79
EnsDb.Rnorvegicus.v79

记录包

与ChipDb和OrgDb包一样,选择而且mapIds可以用于查询吗

选择(TxDb.Hsapiens.UCSC.hg19。知道nGene, c("1","10"), c("TXNAME","TXCHROM","TXSTART","TXEND"), "GENEID")
'select()'返回1:多个键和列之间的映射
## GENEID TXNAME TXCHROM TXSTART TXEND ## 1 1 uc002qsd。4 chr19 58858172 58864865 ## 2 1 uc002qsf。2 chr19 58859832 58874214 ## 3 10 uc003wyw。1 chr8 18248755 18258723
选择(EnsDb.Hsapiens。国c(“1”、“10”),c(“GENEID”、“GENENAME”,“SEQNAME”,“GENESEQSTART”,“GENESEQEND”),“ENTREZID”)
## entrezid geneid genename seqname geneseqstart geneseqend ## 1 1 ensg00000121410 a1bg 19 58345178 58353499 ## 2 10 ensg00000156006 nat2 8 18391245 18401218

但这不是人们通常使用它们的方式……

农庄

文本包的一般用例是将位置信息提取到农庄GRangesList对象。一个例子是所有基因的基因组位置:

gns <- genes(TxDb.Hsapiens.UCSC.hg19.knownGene
## seqnames范围23056的GRanges对象,一个元数据列:## seqnames范围strand | gene_id ##    |  ## # 1 chr19 [58858172,58874214] - | 1 ## 10 chr8 [18248755,18258723] + | 10 ## 100 chr20 [43248163,43280376] - | 100 ## 1000 chr18 [25530930,25757486] - | 10000 ## ... ... ... ... . ...## 9991 chr9 [114979995, 115095944] - | 9991 ## 9992 chr21 [35736323, 35743440] + | 9992 ## 9993 chr22 [19023795, 19109967] - | 9993 ## 9994 chr6 [90539619, 90584155] + | 9994 ## 9997 chr22 [50961997, 50964905] - | 9997 ## ------- # seqinfo:来自hg19基因组的93个序列(1个循环)

GRangesList

或者所有转录本的基因组位置通过基因:

txt <- transcriptsBy(TxDb.Hsapiens.UCSC.hg19.knownGene
## $1 # GRangesList对象长度为23459:## $1 # GRanges对象具有2个范围和2个元数据列:## seqnames ranges strand | tx_id tx_name ##    |   ## [1] chr19 [58858172,58864865] - | 70455 uc002qsd。4 ## [2] chr19 [58859832, 58874214] - | 70456 uc002qsf。2 ## ## $10 ## GRanges对象具有1个范围和2个元数据列:## seqnames ranges strand | tx_id tx_name ## [1] chr8 [18248755,18258723] + | 31944 uc003wyw。1 ## ## $100 ## GRanges对象,包含1个范围和2个元数据列:## seqnames ranges strand | tx_id tx_name ## [1] chr20 [43248163,43280376] - | 72132 uc002xmj. ## seqnames字符串3 ## ##…## <23456 more elements> ## ------- ## seqinfo:来自hg19基因组的93个序列(1个圆形)

其他访问器

  • 可以提取位置信息成绩单基因,编码序列(cd),启动子而且外显子

  • 对于上述大多数元素,可以提取位置信息,并按第二个元素分组。例如,我们的transcriptsBy通话记录都是转录本,按基因分组。

  • 关于这些*Ranges对象的更多细节超出了本讲习班的范围,但我们为什么需要它们不在此范围内。

为什么?

*Ranges对象的主要原理是允许我们根据基因组位置信息轻松地选择和子集数据。这真的很强大!

农庄而且GRangesLists的行为类似于data.frames和列表,并且可以使用函数。举一个人为的例子:

Txs [Txs %over% gns[1:2,]]
## $1 ## GRangesList对象长度为3:## $1 ## GRanges对象具有2个范围和2个元数据列:## seqnames ranges strand | tx_id tx_name ##    |   ## [1] chr19 [58858172,58864865] - | 70455 uc002qsd。4 ## [2] chr19 [58859832, 58874214] - | 70456 uc002qsf。2 ## ## $10 ## GRanges对象具有1个范围和2个元数据列:## seqnames ranges strand | tx_id tx_name ## [1] chr8 [18248755,18258723] + | 31944 uc003wyw。1 ## ## $162968 ## GRanges对象,包含2个范围和2个元数据列:## seqnames ranges strand | tx_id tx_name ## [1] chr19 [58865723,58874214] - | 70457 uc002qsh. ## seqnames string| tx_id tx_name ## [1] chr19 [58865723,58874214] - | 70457 uc002qsh。2 ## [2] chr19 [58865723, 58874214] - | 70458 uc002qsi。2 ## ## ------- ## seqinfo:来自hg19基因组的93个序列(1个圆形)

*范围用例

  • 差异甲基化CpG岛附近的基因表达变化

  • 最接近一组有趣的snp的基因

  • dnei超敏基因簇附近的基因

  • 芯片Y在基因X上测量的cpg数

SummarizedExperiment对象

summarizeexperiment对象类似于expressionset,但是行注释是GRanges,所以你可以通过基因组位置进行子集:

TxDb练习

  • 根据UCSC的数据,PPARG有多少成绩单?

  • ensemble同意吗?

  • hg19基因组中chr2上的2858473和3271812之间有多少基因?
    • 提示:你做一个农庄像这样——农庄(“chr2 IRanges (2858473, 2858473))

OrganismDb包

organizmdb包是元包,包含一个OrgDb、一个TxDb和一个GO.db包,并允许在这些包之间进行交叉查询。

所有以前的访问器都可以工作;选择mapIds成绩单等。

图书馆(Homo.sapiens) Homo.sapiens
## organizmdb对象:##包含GODb对象:GO.db ##带有关于:基因本体的数据##包含OrgDb对象:org.Hs.eg.db ##关于:智人## #分类Id: 9606 ##包含TxDb对象:TxDb. hsapiens . ucsc .hg19。基于基因组的转录组数据:hg19 OrgDb基因id ENTREZID映射到TxDb基因id GENEID。

OrganismDb包

  • 可更新-可以更改TxDb对象

  • 列和键类型跨越所有底层对象

  • 对TxDb访问器的调用包含一个“columns”参数

头(基因(Homo。sapiens, columns = c("ENTREZID","ALIAS","UNIPROT")),4)
'select()'返回1:多个键和列之间的映射
## seqnames ranges string| ALIAS ##    |  ## 1 chr19 [58858172, 58874214] - | A1B,ABG,GAB,…## 10 chr8 [18248755, 18258723] + AAC2,NAT-2,PNAT,…## 100 chr20 [43248163,43280376] - | ADA ## 1000 chr18 [25530930,25757445] - | CD325,CDHN,CDw325,…## UNIPROT ENTREZID ##   ## 1 P04217,V9HWD8 1 ## 10 A4Z6T7,P11245 10 ## 100 A0A0S2Z381,P00813,F5GWI4 100 ## 1000 P19022,A0A024RC42 1000 ## ------- ## seqinfo: 93个序列(1个圆形)来自hg19基因组

OrganismDb练习

  • 获取BRCA1的所有GO术语

  • UCSC转录ID uc002fai是什么基因?3映射到?

  • 这个基因还有多少其他转录本?

  • 获取hg19基因组构建的所有转录本,以及它们的ensemble基因ID、UCSC转录本ID和基因符号

BSgenome包

BSgenome包包含特定物种/构建的序列信息。有许多这样的包-您可以使用得到一个列表available.genomes

库(BSgenome)头(available.genomes ())
bsgome . alyrata . jgi。v1" ## [2] "BSgenome.Amellifera.BeeBase. v1"汇编4" ## [3]" bsgome . amellifera . ucsc。apiMel2“##[4]”bsgome . amellifera . ucsca .apiMel2。“##[5]”bsgome . athaliana . tair。04232008" ## [6] " bsgome . athaliana . tair . tair9 "

BSgenome包

我们可以加载和检查BSgenome包

图书馆(BSgenome.Hsapiens.UCSC.hg19) Hsapiens
##人类基因组:##生物:Homo sapiens (Human) ##提供者:UCSC ##提供者版本:hg19 ##发布日期:2009年2月##发布名称:基因组参考联盟GRCh37 ## 93序列:## chr1 chr2 chr3 ## # chr4 # 5 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()'查看所有序列名,使用'$'或'[[' ## #操作符访问给定序列)

BSgenome包

主访问器为getSeq,您可以通过序列(例如,整个染色体或未放置的支架)获取数据,或通过传入GRanges对象,只获取一个区域。

getSeq (Hsapiens“chr1”)
# # # # 249250621 -信“DNAString”实例seq: NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN…NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
getSeq (Hsapiens gns(“5467”))
一个长度为1的DNAStringSet实例## width seq names ## [1] 85634 GCGGAGCGTGTGACGCTGCGG…TATTTAAGAGCTGACTGGAA 5467

Biostrings包包含了处理这些问题的大部分代码* StringSet对象-请参阅生物串小插图和帮助页以获得更多信息。

BSgenome练习

  • 获取所有TP53基因转录本的序列

AnnotationHub

AnnotationHub是一个包,它允许我们查询和下载许多不同的注释对象,而不必显式地安装它们。

library(AnnotationHub) hub <- AnnotationHub()
## snapshotDate(): 2017-07-11
中心
## snapshotDate(): 2017-07-11 ## $dataprovider: BroadInstitute, ensemble bl, UCSC, Haemcode, ftp://ftp.ncb…物种:智人,Mus musculus, Bos taurus, Pan troglodytes, Da…## # $rdataclass: GRanges, BigWigFile, FaFile, TwoBitFile, Rle, ChainFile,…## #附加mcols(): taxonomyid,基因组,描述,## # coordinate_1_based, maintainer, rdatadateadded, prepareclass, ## tags, rdatapath, sourceurl, sourcetype ## #检索记录,例如,'object[["AH2"]]' ## ## title ## AH2 | Ailuropoda_melanoleuca.ailMel1.69.dna.toplevel。fa ## AH3 | ailuropoda_melanoleuca . ailmel 1.69. dna_m .toplevel。fa ## AH4 | Ailuropoda_melanoleuca.ailMel1.69.dna_sm.toplevel。Ailuropoda_melanoleuca.ailMel1.69.ncrna。Ailuropoda_melanoleuca.ailMel1.69.pep.all。Fa ## ... ...## AH57061 |丘状锥虫EC2全基因组注释## AH57062 |丘状锥虫EC3全基因组注释## AH57063 |角膜维塔forma ATCC 50505 ## AH57064 | reilianum Sporisorium SRZ2全基因组注释## AH57065 |克氏锥虫CL Brener Esm全基因组注释…

查询AnnotationHub

在AnnotationHub上找到“正确的”资源就像使用谷歌-一个良好的查询是必要的,以找到您想要的。有用的查询是基于

  • 数据提供商

  • 数据类

  • 物种

  • 数据源

名称(mcols(中心))
##[1]“title”“dataprovider”“species”##[4]“taxonomyid”“genome”“description”##[7]“coordinate_1_based”“maintainer”“rdatadateadded”##[10]“prepareclass”“tags”“rdataclass”##[13]“rdatapath”“sourceurl”“sourcetype”

AnnotationHub数据提供程序

独特的(中心dataprovider美元)
# # # #[1]“运用”[2]“UCSC”# #[3]“RefNet”# #[4]“Inparanoid8”# #[5]“NHLBI”# #[6]“他”# #[7]“Pazar”# #[8]“NIH通路相互作用数据库”# #[9]“Haemcode”# #[10]“BroadInstitute”# #[11]“骄傲”# #[12]“Gencode”# #[13]“dbSNP”# #[14]“CRIBI”# #[15]# #[16]“Genoscope VAST-TOOLS味噌,UCSC的“# # [17]" ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/ " # #[18]“UWashington“# #[19]”斯坦福大学“# #”[20]MicrosporidiaDB“# #[21]”FungiDB“# #”[22]TriTrypDB“# #[23]”ToxoDB“# #[24]”AmoebaDB“# #[25]”PlasmoDB“# #”[26]PiroplasmaDB“# #”[27]CryptoDB“# #[28]”GiardiaDB TrichDB“# # [29]

AnnotationHub数据类

独特的(中心rdataclass美元)
## [1] "FaFile" "GRanges" "data.frame" ## [4] " infantasid8db " "TwoBitFile" "ChainFile" ## [7] "SQLiteConnection" "biopax" "BigWigFile" ## [10] "AAStringSet" "MSnSet" "mzRpwiz" ## [13] "mzRident" "VcfFile" "list" ## [16] "TxDb" "Rle" "EnsDb" ## [19] "OrgDb"

AnnotationHub物种

(独特的物种(中心))
##[3]“牛”“秀丽隐杆线虫”##[5]“jacchus Callithrix”“Canis familiaris”
长度(独特的物种(中心))
## [1] 1375

AnnotationHub数据源

独特的(中心sourcetype美元)
## [1] "FASTA" "UCSC track" "GTF" "TSV" ## [5] "Inparanoid" "TwoBit" "Chain" "GRASP" ## [9] "Zip" "CSV" "BioPax" "BioPaxLevel2" ## [13] "RData" "BED" "BigWig" "tab" ## [17] "mzTab" "mzML" "mzid" "GFF" ## [21] "VCF" "套头" "NCBI/套头" "NCBI/UniProt"

AnnotationHub查询

Qry <- query(hub, c("granges","homo sapiens"," ensemble ")) Qry
## snapshotDate(): 2017-07-11 ## $dataprovider: integrbl, UCSC ## # $species: Homo sapiens ## # $rdataclass: GRanges ## # additional mcols():taxonomyid,基因组,描述,## # coordinate_1_based, maintainer, rdatadateadded, prepareclass, ## # tags, rdatapath, sourceurl, sourcetype ## #检索记录,例如,'object[["AH5046"]]' ## ## title ## AH5046 |整合基因## AH5160 |整合基因## AH5311 |整合基因## AH5434 |整合基因## AH5435 |整合EST基因## ... ...## AH53539 | Homo_sapiens.GRCh38.88。gtf ## AH55232 | Homo_sapiens.GRCh38.89.abinitio。gtf ## AH55233 | Homo_sapiens.GRCh38.89.chr。gtf ## AH55234 | Homo_sapiens.GRCh38.89.chr_patch_hapl_scaff。gtf ## AH55235 | Homo_sapiens.GRCh38.89.gtf

AnnotationHub查询

qry sourceurl美元
# #[1]“rtracklayer: / / hgdownload.cse.ucsc.edu/goldenpath/hg19/database/ensGene”# #[2]# #“rtracklayer: / / hgdownload.cse.ucsc.edu/goldenpath/hg18/database/ensGene”[3]“rtracklayer: / / hgdownload.cse.ucsc.edu/goldenpath/hg17/database/ensGene”# #[4]“rtracklayer: / / hgdownload.cse.ucsc.edu/goldenpath/hg16/database/ensGene”# #[5]“rtracklayer: / / hgdownload.cse.ucsc.edu/goldenpath/hg16/database/ensEstGene”# #[6]“ftp://ftp.ensembl.org/pub/release-70/gtf/homo_sapiens/Homo_sapiens.GRCh37.70.gtf.gz”# #[7]“ftp://ftp.ensembl.org/pub/release-69/gtf/homo_sapiens/Homo_sapiens.GRCh37.69.gtf.gz”# #[8]“ftp://ftp.ensembl.org/pub/release-71/gtf/homo_sapiens/Homo_sapiens.GRCh37.71.gtf.gz”# #[9]“ftp://ftp.ensembl.org/pub/release-72/gtf/homo_sapiens/Homo_sapiens.GRCh37.72.gtf.gz”# #[10]“ftp://ftp.ensembl.org/pub/release-73/gtf/homo_sapiens/Homo_sapiens.GRCh37.73.gtf.gz”# #[11]“ftp://ftp.ensembl.org/pub/release-74/gtf/homo_sapiens/Homo_sapiens.GRCh37.74.gtf.gz”# # [12]“ftp://ftp.ensembl.org/pub/release-75/gtf/homo_sapiens/Homo_sapiens.GRCh37.75.gtf.gz”##[13]“ftp://ftp.ensembl.org/pub/release-78/gtf/homo_sapiens/Homo_sapiens.GRCh38.78.gtf.gz”##[14]“ftp://ftp.ensembl.org/pub/release-76/gtf/homo_sapiens/Homo_sapiens.GRCh38.76.gtf.gz”##[15]“ftp://ftp.ensembl.org/pub/release-79/gtf/homo_sapiens/Homo_sapiens.GRCh38.79.gtf.gz”##[16]“ftp://ftp.ensembl.org/pub/release-77/gtf/homo_sapiens/Homo_sapiens.GRCh38.77.gtf.gz”## [17]“ftp://ftp.ensembl.org/pub/release-80/gtf/homo_sapiens/Homo_sapiens.GRCh38.80.gtf.gz”# #[18]“ftp://ftp.ensembl.org/pub/release-81/gtf/homo_sapiens/Homo_sapiens.GRCh38.81.gtf.gz”# #[19]“ftp://ftp.ensembl.org/pub/release-82/gtf/homo_sapiens/Homo_sapiens.GRCh38.82.gtf.gz”# #[20]“ftp://ftp.ensembl.org/pub/release-83/gtf/homo_sapiens/Homo_sapiens.GRCh38.83.gtf.gz”# #[21]“ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.abinitio.gtf.gz”# # [22]“ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.chr.gtf.gz”# #[23]“ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.chr_patch_hapl_scaff.gtf.gz”# #[24]“ftp://ftp.ensembl.org/pub/release-84/gtf/homo_sapiens/Homo_sapiens.GRCh38.84.gtf.gz”# #[25]“ftp://ftp.ensembl.org/pub/release-85/gtf/homo_sapiens/Homo_sapiens.GRCh38.85.abinitio.gtf.gz”# #[26]“ftp://ftp.ensembl.org/pub/release-85/gtf/homo_sapiens/Homo_sapiens.GRCh38.85.chr.gtf.gz”## [27] "ftp://ftp.ensembl.org/pub/release-85/gtf/homo_sapiens/Homo_sapiens.GRCh38.85.chr_patch_hapl_scaff.gtf.gz" ## [28] "ftp://ftp.ensembl.org/pub/release-85/gtf/homo_sapiens/Homo_sapiens.GRCh38.85.gtf.gz" ## [29] "ftp://ftp.ensembl.org/pub/release-86/gtf/homo_sapiens/Homo_sapiens.GRCh38.86.abinitio.gtf.gz" ## [30] "ftp://ftp.ensembl.org/pub/release-86/gtf/homo_sapiens/Homo_sapiens.GRCh38.86.chr.gtf.gz" ## [31]“ftp://ftp.ensembl.org/pub/release-86/gtf/homo_sapiens/Homo_sapiens.GRCh38.86.chr_patch_hapl_scaff.gtf.gz”##[32]“ftp://ftp.ensembl.org/pub/release-86/gtf/homo_sapiens/Homo_sapiens.GRCh38.86.gtf.gz”##[33]“ftp://ftp.ensembl.org/pub/release-87/gtf/homo_sapiens/Homo_sapiens.GRCh38.87.abinitio.gtf.gz”##[34]“ftp://ftp.ensembl.org/pub/release-87/gtf/homo_sapiens/Homo_sapiens.GRCh38.87.chr.gtf.gz”## [35]“ftp://ftp.ensembl.org/pub/release-87/gtf/homo_sapiens/Homo_sapiens.GRCh38.87.chr_patch_hapl_scaff.gtf.gz”##[36]“ftp://ftp.ensembl.org/pub/release-87/gtf/homo_sapiens/Homo_sapiens.GRCh38.87.gtf.gz”##[37]“ftp://ftp.ensembl.org/pub/release-88/gtf/homo_sapiens/Homo_sapiens.GRCh38.88.abinitio.gtf.gz”##[38]“ftp://ftp.ensembl.org/pub/release-88/gtf/homo_sapiens/Homo_sapiens.GRCh38.88.chr.gtf.gz”## [39]“ftp://ftp.ensembl.org/pub/release-88/gtf/homo_sapiens/Homo_sapiens.GRCh38.88.chr_patch_hapl_scaff.gtf.gz”##[40]“ftp://ftp.ensembl.org/pub/release-88/gtf/homo_sapiens/Homo_sapiens.GRCh38.88.gtf.gz”##[41]“ftp://ftp.ensembl.org/pub/release-89/gtf/homo_sapiens/Homo_sapiens.GRCh38.89.abinitio.gtf.gz”##[42]“ftp://ftp.ensembl.org/pub/release-89/gtf/homo_sapiens/Homo_sapiens.GRCh38.89.chr.gtf.gz”## [43]"ftp://ftp.ensembl.org/pub/release-89/gtf/homo_sapiens/Homo_sapiens.GRCh38.89.chr_patch_hapl_scaff.gtf.gz" ## [44] "ftp://ftp.ensembl.org/pub/release-89/gtf/homo_sapiens/Homo_sapiens.GRCh38.89.gtf.gz"

选择AnnotationHub资源

whatIwant <- qry[["AH50377"]]

我们可以直接使用这些数据,或者将其转换为TxDb格式:

GRCh38TxDb <- makeTxDbFromGRanges(whatIwant
## TxDb对象:## Db类型:TxDb支持包:Genome: GRCh38 ## # transcript_nrow: 199184 ## exon_nrow: 675836 ## cds_nrow: 270225 # Db由:genomic icfeatures包from Bioconductor创建的##创建时间:2017-07-25 12:07:31 +0000(2017年7月25日周二)##基因组特性创建时间:1.29.8 # RSQLite版本创建时间:2.0 ## dbschem: 1.1

AnnotationHub练习

  • AnnotationHub上有多少关于大西洋鲑鱼(Salmo salar)的资源?

  • 获得最新的综合建设的家养狗(犬是家庭)和使TxDb

biomaRt

biomaRt包允许对ensemble biomaRt服务器进行查询。我们可以看到我们可以使用的服务器的选择:

库(biomaRt) listMarts ()
##生物艺术版本## 1 ensemble bl_mart_ensemble ensemble Genes 89 ## 2 ensemble bl_mart_mouse Mouse strain 89 ## 3 ensemble bl_mart_snp ensemble Variation 89 ## 4 ensemble bl_mart_funcgen ensemble Regulation 89 ##

生物艺术数据集

然后我们可以检查特定服务器上的可用数据集。

mart <- useMart(" ensemble bl_mart_ensemble ") head(listDatasets(mart))
##数据集描述版本## 1 olatipes_gene_synbl Medaka基因(HdrR) HdrR ## 2 pmarinus_gene_synbl Lamprey基因(Pmarinus_7.0) Pmarinus_7.0 ## 3 lchalumnae_gene_synbl Coelacanth基因(LatCha1) LatCha1 ## 4 dmelanogaster_gene_synbl果蝇基因(BDGP6) BDGP6 ## 5 ptroglodytes_gene_synbl黑猩猩基因(黑猩猩2.1.4)黑猩猩2.1.4 ## # 6 lafricana_gene_synbl大象基因(Loxafr3.0) Loxafr3.0

biomaRt查询

在建立一个集市对象指向我们关心的服务器和数据集,我们就可以进行查询。我们首先设置集市对象。

mart <- useMart(" ensemble bl_mart_ensemble "," hsapiens_gene_ensemble ")

查询的形式如下

getBM (属性过滤器集市

在哪里

  • 属性是我们的东西想要

  • 过滤器是类型的IDs我们

  • 值是我们的id

  • 玛特是集市我们设置的对象

biomaRt属性和过滤器

属性和过滤器的名称都相当神秘,但是可以使用

atrib <- listAttributes(mart) filts <- listFilters(mart) head(atrib)
##名称描述page ## 1 settou_gene_id基因稳定ID feature_page ## 2 settou_转录稳定ID feature_page ## 3 settou_peptide_id蛋白质稳定ID feature_page ## 4 settou_exon_id外显子稳定ID feature_page ## 5 description基因描述feature_page ## 6 chromosome_name染色体/支架名称feature_page
头(filts)
## name description ## 1 chromosome_name染色体/支架名称## 2 start开始## 3 end结束## 4 band_start条带开始## 5 band_end条带结束## 6 marker_start标记开始

biomaRt查询

一个简单的查询示例

afyids < - c(“1000 _at”、“1001 _at”、“1002 _f_at”,“1007”_s_at) getBM (c(“affy_hg_u95av2”、“hgnc_symbol”),c(“affy_hg_u95av2”),afyids,集市)
## affy_hg_u95av2 hgnc_symbol ## 1 1002_f_at ## 2 1002_f_at CYP2C19 ## 3 1007_s_at DDR1 ## 4 1001_at TIE1 ## 5 1000_at MAPK3

biomaRt练习

  • 获取Entrez基因id 672, 5468和7157的ensemble基因id和HUGO符号

  • 如果你查询GAPDH的'gene_exon',你会得到什么?