用户!2014
作者:马丁摩根(mtmorgan@fhcrc.org), Sonali Arora
日期:2014年6月30日
组织级(“org”)包包含中心标识符(如Entrez基因id)和其他标识符(如GenBank或Uniprot登录号、RefSeq id等)之间的映射。org包的名称总是这种形式org。
(如。org.sc.sgd.db.),
是生物体的两个字母的缩写。Sc
为酿酒酵母),<标识>
是一个缩写(小写),描述中心标识符的类型(例如。sgd
为基因标识符分配酿酒酵母基因组数据库,或者如
为Entrez基因ids)。[AnnotationDbi][]包(org包只是" .db "注释包的一种)中的“如何使用'.db'注释包”小插图是一个关键参考。'.db'和大多数其他Bioconductor注释包每6个月更新一次。
注释包通常包含一个以包本身命名的对象。这些对象统称为AnnotationDb
对象,具有更多特定的类命名OrgDb
,ChipDb
或者resscriptdb.
对象。可以应用于这些对象的方法包括关口()
,键()
,keytypes()
和选择()
。检索注释的常用操作汇总在表中。
类别 | 功能 | 描述 |
---|---|---|
发现 | 列() |
列出可以返回的列类型 |
keytypes() |
列出可以用作键的列 | |
键() |
列出可以预期给定键盘的值 | |
选择() |
检索注释匹配钥匙 ,keytype. 和列 |
|
操纵 | setdiff () ,联盟() ,相交() |
上的操作集 |
复制() ,独特的() |
标记或删除重复 | |
\ rfunction {\%在\%},比赛() |
找到匹配 | |
任何() ,全部() |
任何真的 吗?都是吗? |
|
合并() |
基于共享密钥组合两个不同的\对象{data.frames} | |
农庄* |
成绩单() ,外显子() ,cd () |
特征(转录本、外显子、编码序列)为农庄 。 |
transcriptsBy () ,exonsBy () |
通过基因,成绩单等特征组。GRangesList 。 |
|
cdsBy () |
锻炼:此练习说明“选择”接口到注释包的基本使用。
OrgDb
对象的org.Hs.eg.db包裹。使用列()
发现可以从中提取哪种注释的方法。键()
方法提取ENSEMBL标识符,然后将这些键传递给选择()
方法以这样的方式为每个方式提取符号(基因符号)和每个的Genename信息。使用以下EnsemBl ID。EXSIDS < - C(“ENSG00000130720”,“ENSG00000103257”,“ENSG00000156414”,“ENSG00000144644”,“ENSG00000159307”,“ENSG00000144485”)
解决方案的OrgDb
对象被命名为org.Hs.eg.db
。
库(org.Hs.eg.db) keytypes (org.Hs.eg.db)
## [1] " entrezid " " pfam " " ipi " " prosite " ## [5] " accnum " " alias " " chr " " chrloc " ## [9] " chrlocend " " enzyme " " map " " path " ## [13] " mid " " refseq " " symbol " " unigene " ## [17] " ensemble " " ensemble prot " " ensemble trans " " genename " ## [21] " uniprot " " go " " evidence " " ontology " ## [25] " goall " " evidence all " " omim " # [29] " ucsckg "
列(org.hs.eg.db)
## [1] " entrezid " " pfam " " ipi " " prosite " ## [5] " accnum " " alias " " chr " " chrloc " ## [9] " chrlocend " " enzyme " " map " " path " ## [13] " mid " " refseq " " symbol " " unigene " ## [17] " ensemble " " ensemble prot " " ensemble trans " " genename " ## [21] " uniprot " " go " " evidence " " ontology " ## [25] " goall " " evidence all " " omim " # [29] " ucsckg "
COLS < - C(“符号”,“genename”)选择(org.hs.eg.db,keys = sensids,columns = cols,keytype =“ensembl”)
# # # # 1 ENSG00000130720运用象征FIBCD1 # # 2 ENSG00000103257 SLC7A5 # # 3 ENSG00000156414 TDRD9 # # 4 ENSG00000144644 GADL1 # # 5 ENSG00000159307 SCUBE1 # # 6 ENSG00000144485 HES6 # # 1 # # GENENAME纤维蛋白原C域包含1 # # 2溶质载体家庭7(氨基酸转运蛋白轻链,L系统),成员5 ## 3都铎结构域包含9 ## 4谷氨酸脱羧基酶样1 ## 5信号肽,CUB结构域,egf样1 ## 6 hes家族bHLH转录因子6
下面是对启用基于web的查询的选择Bioconductor包的简短总结。
包 | 描述 |
---|---|
annotationhub. | Ensembl,编码,dbsnp,ucsc数据对象 |
biomaRt | Ensembl和其他注释 |
Psicquic. | 蛋白质相互作用 |
uniprot.ws | 蛋白质注释 |
KEGGREST | Kegg途径 |
SraDB. | 测序实验。 |
rtracklayer. | 基因组的痕迹。 |
GEOquery | 数组和其他数据 |
ArrayExpress.] | 数组和其他数据 |
使用biomaRt
的biomaRt包裹提供访问在线biomart资源。这包括几个数据库资源,称为“集市”。每个集市允许访问多个数据集;的biomaRt包提供了mart和数据集发现的方法,以及一个标准方法GetBM()
检索数据。
锻炼
GetBM()
。除了要访问的集市之外,这个函数还接受过滤器和属性作为参数。使用filterOptions ()
和listAttributes()
发现这些论点的价值。调用GetBM()
使用选择的过滤器和属性。解决方案
##需要上网!!库(biomaRt)头(listMarts(), 3) # #列表集市头(listDatasets (useMart(“运用”)),3)运用< - # # # #集市数据集完全指定的集市useMart(“运用”,数据集=“hsapiens_gene_ensembl”)负责人(listFilters(运用),3)# #过滤器myFilter < -“chromosome_name substr (filterOptions (myFilter运用),1,##集合和查询mart res <- getBM(attributes = myAttributes, filters = myFilter, values = myValues, mart = ensembl)
锻炼
作为一个可选的练习,注释在DESeq2实验室中差异表达的基因,例如,找到与5个差异表达最多的基因相关的\text {GENENAME}。这些有生物学意义吗?你能合并()
注释结果与顶部表格的结果提供统计上和生物信息的摘要?
有多样性的包装和课程可用于代表大型基因组。几个包括:
可用.packages()
对于预包装的基因组,以及小插图如何伪造BSGENOME数据包装FaFile ()
(Rsamtools)来访问已索引的FASTA文件。以基因组为中心的包对于涉及基因组坐标的注释非常有用。它是直接的,例如,发现编码序列的坐标在感兴趣的区域,并从这些检索相应的DNA或蛋白质编码序列。其他易于使用基因组中心注释的操作类型的例子包括:定义RNA-seq实验中计数对齐读的感兴趣区域,检索ChIP-seq分析中感兴趣区域的DNA序列,例如,用于基序表征。
锻炼
该练习使用注释资源从基因符号“BRCA1”到与该基因相关的每个转录本的基因组坐标,最后到转录本的DNA序列。
选择
命令。txname.
)对应于BRCA1 Entrez标识符。(“org*”包基于NCBI的信息,其中Entrez标识符被标记为ENTREZID;我们使用的“TxDb*”包来自UCSC,在那里Entrez标识符被标记为GENEID)。使用cdsBy ()
功能检索所有编码序列按转录分组的基因组坐标,并选择与我们感兴趣的标识符相对应的转录本。编码序列被返回为GRangesList
,其中列表中的每个元素都是a农庄
代表编码序列中外显子的对象。作为完整性检查,确保每个编码序列的外显子宽度之和能被3整除(R '模'算子)% %
返回一个数除以另一个数的余数,在这种情况下可能有用)。
可视化转录本在基因组坐标使用[Gviz][]包构建一个annotationtrack.
,然后用plotTracks ()
。
使用Bsgenome.Hsapiens.UCSC.hg19包和extractTranscriptSeqs ()
功能提取每个转录本的DNA序列。
解决方案
检索与BRCA1基因符号对应的Entrez标识符
select(org.Hs.eg.db, "BRCA1", "ENTREZID", "SYMBOL")[["ENTREZID"]]
从Entrez Gene标识符到转录名称的地图
库(TXDB.HSAPIENS.CucSC.HG19.knowngene)TXDB < - TXDB.HSAPIENS.CUCSC.HG19.KCNOKGENE TXID < - 选择(TXDB,EID,“TXNAME”,“GeneID”)[[TxName“]
##警告:'select'导致1:键和返回行之间有很多映射
检索按抄本分组的所有编码序列,并选择与感兴趣的抄本id匹配的编码序列,验证每个编码序列宽度是3的倍数
brca1cds <- cds[names(cds) %in% txid] class(brca1cds)
## [1]“GrangeSlist”## attr(,包装“)## [1]”GenomicRanges“
长度(BRCA1CDS)
# # 20 [1]
CDS中的外显子
##带有22种范围和3个元数据列的嘉宾:## SEQNAMES范围股票|CDS_ID CDS_NAME ## |<整数> <字符> ## [1] CHR17 [41276034,41276113] - |186246 ## [2] CHR17 [41267743,41267796] - |186245 ## [3] Chr17 [41258473,41258550] - |186243 ## [4] Chr17 [41256885,41256973] - |186241 ## [5] CHR17 [41256139,41256278] - |186240 ## ... ... ... ... ## [18] CHR17 [41209069,41209152] - |186218 ## [19] Chr17 [41203080,41203134] - |186217 ## [20] Chr17 [41201138,41201211] - | 186215 ## [21] chr17 [41199660, 41199720] - | 186214 ## [22] chr17 [41197695, 41197819] - | 186212 ## exon_rank ## ## [1] 1 ## [2] 2 ## [3] 3 ## [4] 4 ## [5] 5 ## ... ... ## [18] 18 ## [19] 19 ## [20] 20 ## [21] 21 ## [22] 22 ## --- ## seqlengths: ## chr1 chr2 ... chrUn_gl000249 ## 249250621 243199373 ... 38502
cdswidth < - 宽度(brca1cds)#宽度的所有外显子((cdswidth)%% 3)== 0)#CD中的总和,模数3
# # [1]
要求(Gviz) anno <- AnnotationTrack(brca1cds) plotTracks(list(GenomeAxisTrack(), anno))
提取每个转录物的编码序列
BSgenome.Hsapiens.UCSC.hg19 (BSgenome.Hsapiens.UCSC.hg19)hg19 tx_seq <- extractTranscriptSeqs(genome, brca1cds) tx_seq
##长度为20 ##宽度SEQ名称## [1] 2280 ATGGATTTATCTGCTCTTCG ... TCCCCCCAGAGCCACTGA UC010WHL.2 ## [2] 5379 ATGAGCCTACAAGAAAGTAC ... TCCCCCACAGCCACTACTGA UC002ICP.4 ## [3] 522 ATGGATGCTGAGTTGTGTG.tcccccacagccactactga uc010whm.2 ## [4] 2100 AtggattTATCTGCTTTCG ... GCAATTGGGCAGATGTGTGA UC002ICU.3 ## [5] 5451 ATGCTGAAACTTCTCAACCA ... TCCCCCAGAGCCACTGA UC010CYX.3 ## ... ... ## [16] 4095ATGGATTTATCTGCTCTTCG ... AAAGCATGGATTCAAACTTA uc010cyy.1 ## [17] 4095 ATGGATTTATCTGCTCTTCG ... AAAGCATGGATTCAAACTTA uc010whs.1 ## [18] 3954 ATGCTGAAACTTCTCAACCA ... AAAGCATGGATTCAAACTTA uc010cyz.2 ## [19] 4017 ATGGATTTATCTGCTCTTCG ... AAAGCATGGATTCAAACTTA uc010cza.2## [20] 3207 atgaatgtagaaaaggctga ... aaagcatggattcaacta uc010wht.1
首先计算每个转录本所覆盖的基因组(从第一个外显子开始到最后一个外显子结束)的范围,然后取该范围与每个外显子覆盖的基因组坐标之间的(代数)差值,即可确定内含子的坐标
内含子< - PSetDiff(范围(BRCA1CD),BRCA1CD)
检索内含子序列getSeq ()
(这些都是不组装的方式extractTranscriptSeqs ()
将外显子序列组装成成熟的转录本);请注意,内含子以适当的受体和供体位点序列开始和结束。
SEQ < - Getseq(基因组,内含子)名称(SEQ)
# # uc010whl[1]”。2”“uc002icp。4“uc010whm。2”“uc002icu。3“uc010cyx。3" ## [6] "uc002icq。3“uc002ict。3“uc010whn。2”“uc010who。3“uc010whp。2" ## [11] "uc010whq。1”“uc002idc。1”“uc010whr。1”“uc002idd。3“uc002ide。1" ## [16] "uc010cyy。1”“uc010whs。1”“uc010cyz。2”“uc010cza。2”“uc010wht.1”
seq[[”uc010whl。2"]] # 21内含子
##长度21 ##宽度SEQ ##的DNAStringSet实例[1] 1840 GTAAGGTGCCTGCATGTACCTGTGCTATATG ... CTAATCTCTGCTTGTGTTCTCTGTCTCCAG ## [2] 1417 GTAAGTATTGGGTGCCCTGTCAGAGAGGGAG ... TTGAATGCTCTTTCCTTCCTGGGGATCCAG ## [3] 1868 GTAAGAGCCTGGGAGAACCCCAGAGTTCCAG ... AGTGATTTTACATCTAAATGTCCATTTTAG ## [4]5934 GTAAAGCTCCCTCCCTCAAGTTGACAAAAAT ... CTGTCCCTCTCTCTTCCTCTCTTCTTCCAG ## [5] 6197 GTAAGTACTTGATGTTACAAACTAACCAGAG ... TCCTGATGGGTTGTGTTTGGTTTCTTTCAG ## ... ... ... ## [17] 4241 GTAAAACCATTTGTTTTCTTCTTCTTCTTCT ... TGCTTGACTGTTCTTTACCATACTGTTTAG ## [18] 606 ... GTAAGTGTTGAATATCCCAAGAATGACACTC AAACATAATGTTTTCCCTTGTATTTTACAG## [19] 1499 GTATATAATTTGGTAATGATGCTAGGTTGGA ... GAGTGTGTTTCTCAAACAATTTAATTTCAG ## [20] 9192 GTAAGTTTGAATGTGTTATGTGGCTCCATTA ... AATTGTTCTTTCTTTCTTTATAATTTATAG ## [21] 8237 GTAAGTCAGCACAAGAGTGTATTAATTTGGG ... TTTTCTTTTTCTCCCCCCCTACCCTGCTAG
的rtracklayer.包允许我们查询UCSC基因组浏览器,以及提供进口()
和export ()
用于通用注释文件格式(如GFF、GTF和BED)的函数。
锻炼
在这里,我们使用rtracklayer.检索ENCODE项目中跨细胞系识别的雌激素受体结合位点。我们的重点是结合位点附近的一个特别有趣的兴趣区域。
农庄
实例与适当的基因组坐标。我们的区域对应于一个特定基因的10Mb的上游和下游。解决方案
定义感兴趣的区域
图书馆(基因组)ROI < - GRANGES(“CHR10”,绞喉(92106877,112106876,名称=“ENSG00000099194”))
创建一个会话
library(rtracklayer) session <- browserSession()
查询UCSC的特定轨道,表,转录因子,在我们感兴趣的地区
trackname < - “wgencoderegtfbsclusteredv2”tablename < - “wgencoderegtfbsclusteredv2”trfactor < - “eralpha_a”ucsctable < - gettable(ucsctablequery(会话,track = trackname,范围= roi,table = tablename,name = tractor)))
可视化的结果
abline(v=start(roi) + end(roi) - start(roi) + 1) / 2, col="blue")