今天给大家介绍一个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函数,我们直接看下实例:
至此TxDb数据就通过sqlite数据库文件构建好了。同时包还带了对一些数据库的直接构建TxDb数据对象的函数:makeTxDbFromUCSC,makeTxDbFromBiomart, makeTxDbFromGFF。那么构建好的数据集我们怎么用呢,接下来,我们看一个实例:TxDb.Hsapiens.UCSC.hg19.knownGene。 接下来我们就直接通过实际操作,数据筛选给大家看下如何去通过操作这个数据包找到我们想要的东西。 #载入数据 library(TxDb.Hsapiens.UCSC.hg19.knownGene) txdb <-TxDb.Hsapiens.UCSC.hg19.knownGene
seqlevels(txdb)
keytypes(txdb)
strand( transcripts(txdb))
exons(txdb)#外显子区
#抽取一个序列信息 seqlevels(txdb) <- 'chr15'
#检索结果展示多列的数据 cols <- c('TXNAME','TXSTRAND', 'TXCHROM') select(txdb, keys=keys, columns=cols,keytype='GENEID')
#基于基因的转录本分组 GRList <- transcriptsBy(txdb, by ='gene')#另外还有exonsBy, and cdsBy, tx代表转录本transcript 。
当然也可以进行操作序列数据,那就需要导入序列的数据集BSgenome.Hsapiens.UCSC.hg19: library(BSgenome.Hsapiens.UCSC.hg19) #获取所有转录本区域的DNA序列 tx_seqs1 <-extractTranscriptSeqs(Hsapiens, TxDb.Hsapiens.UCSC.hg19.knownGene, use.names=TRUE)
那这样两个包基本就整合到了基因的基本信息,那如何联合使用呢,我们看下面这个实例: cds_seqs <-extractTranscriptSeqs(Hsapiens,cdsBy(txdb, by='tx', use.names=TRUE)) translate(cds_seqs) 两个包的完美组合指定能获得你想要的信息。 欢迎互相学习交流!
|
|
来自: terminator_523 > 《生物信息学技能》