首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言实现基因组信息的筛选

R语言实现基因组信息的筛选

作者头像
一粒沙
发布2019-12-04 12:46:57
2K0
发布2019-12-04 12:46:57
举报
文章被收录于专栏:R语言交流中心R语言交流中心

今天给大家介绍一个R语言中的数据对象TxDb,此对象可以完美支持sqlite数据库导入,并且减少了检索的耗时,主要用来存储大量的基因信息数据。目前在R中存在大量数据存储的包,具体的框架及数据包如图:

首先我们看下这种数据的类型的构建,其需要用到一个包GenomicFeatures。此包可以操作sqlite数据库,并将其转化为TxDb数据对象。

此包的安装需要用到Biconductor库,我们就不细讲了,直接上安装代码:

BiocManager::install("GenomicFeatures")BiocManager::install("TxDb.Hsapiens.UCSC.hg19.knownGene")BiocManager::install("BSgenome.Hsapiens.UCSC.hg19")

首先我们看数据的载入,如果是sqlite数据集可以直接用loadDb函数,我们直接看下实例:

samplefile <-system.file("extdata", "hg19_knownGene_sample.sqlite",package="GenomicFeatures")txdb <- loadDb(samplefile)

至此TxDb数据就通过sqlite数据库文件构建好了。同时包还带了对一些数据库的直接构建TxDb数据对象的函数:makeTxDbFromUCSC,makeTxDbFromBiomart, makeTxDbFromGFF。那么构建好的数据集我们怎么用呢,接下来,我们看一个实例:TxDb.Hsapiens.UCSC.hg19.knownGene。

接下来我们就直接通过实际操作,数据筛选给大家看下如何去通过操作这个数据包找到我们想要的东西。

#载入数据

library(TxDb.Hsapiens.UCSC.hg19.knownGene)txdb <-TxDb.Hsapiens.UCSC.hg19.knownGene 
#数据信息描述seqinfo(txdb)
 seqlevels(txdb)
columns(txdb)
keytypes(txdb)
transcripts(txdb)#转录本信息 
strand( transcripts(txdb))
PR <- promoters(txdb, upstream=2000,downstream=400)#  启动子区
exons(txdb)#外显子区
cds(txdb)#编码区
#抽取一个序列信息seqlevels(txdb) <- "chr15"
#基于keys检索数据keys <- c("100033416","100033417", "100033420")select(txdb, keys = keys,columns="TXNAME", keytype="GENEID")
#检索结果展示多列的数据cols <- c("TXNAME","TXSTRAND", "TXCHROM")select(txdb, keys=keys, columns=cols,keytype="GENEID")
#检索符合要求的转录本信息GR <- transcripts(txdb,filter=list(tx_chrom = "chr15", tx_strand = "+"))
#基于基因的转录本分组GRList <- transcriptsBy(txdb, by ="gene")#另外还有exonsBy, and cdsBy, tx代表转录本transcript 。
#获取所有的分组names(GRList)

当然也可以进行操作序列数据,那就需要导入序列的数据集BSgenome.Hsapiens.UCSC.hg19:

library(BSgenome.Hsapiens.UCSC.hg19) #获取所有转录本区域的DNA序列tx_seqs1 <-extractTranscriptSeqs(Hsapiens, TxDb.Hsapiens.UCSC.hg19.knownGene,use.names=TRUE)
#获取所有转录本区域的DNA蛋白质序列translate(tx_seqs1)

那这样两个包基本就整合到了基因的基本信息,那如何联合使用呢,我们看下面这个实例:

cds_seqs <-extractTranscriptSeqs(Hsapiens,cdsBy(txdb, by="tx", use.names=TRUE))translate(cds_seqs)

两个包的完美组合指定能获得你想要的信息。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言交流中心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档