分享

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

 terminator_523 2019-12-02

今天给大家介绍一个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(txdbupstream=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)

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

 欢迎互相学习交流!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多