做生物信息学的同仁应该对基因的名称或者ID 的统一化对处理数据起到了很关键的作用。今天我们就给大家介绍一个R包TxDb.Hsapiens.UCSC.hg19.knownGene。此包集合了UCSC数据库发布的经典的hg19版本基因组所有的基因信息,共有237533个CDS,共有289969个外显子。首先我们看下包的安装,需要通过bioconductoer来安装,有以下两种方式:
代码语言:javascript复制
###R<3.6
source("http://bioconductor.org/biocLite.R")
biocLite("TxDb.Hsapiens.UCSC.hg19.knownGene")
###R>=3.6
if(!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("TxDb.Hsapiens.UCSC.hg19.knownGene")
接下来看下信息的提取:
代码语言:javascript复制###包的载入
library(TxDb.Hsapiens.UCSC.hg19.knownGene)
txdb <-TxDb.Hsapiens.UCSC.hg19.knownGene
###整体的数据提取
gene=genes(txdb)#提取23056个基因信息,数据以Grangs格式显示.
exon=exons(txdb) #提取exons信息,共289969个exon。
代码语言:javascript复制trans=transcripts(txdb) #提取转录本信息,共82960个转录本。
cds=cds(txdb)#获取cds区域信息,提取到237533个cds信息。
以上函数默认情况下都是提取简单的列信息,我们如果需要更多的列信息那就需要设置参数columns。可以设置:"gene_id", "tx_id", "tx_name","tx_chrom", "tx_strand", "exon_id","exon_name", "exon_chrom", "exon_strand","cds_id", "cds_name", "cds_chrom","cds_strand" and "exon_rank"。当然有一些局限:
代码语言:javascript复制###数据的组合函数
Tran_gene=transcriptsBy(txdb,by="gene")#通过基因分组获取每个基因的转录本信息。分成了23459个元素的list。
Exon_gene=exonsBy(txdb,by="gene")#基于基因进行外显子区域信息获取。
Cds_gene=cdsBy(txdb,by="gene") #基于基因的CDS区域信息获取。
###数据的写出
gene=mcols(gene, use.names=FALSE)#数据转化为data.frame。
write.csv(gene,”gene.csv”)#写出数据
通过以上的整理就会得到我们需要的转录本或者外显子位点信息。
欢迎大家互相学习交流!