介绍

TxDb (Transcript Database) 是 Bioconductor 提供的一种 用于存储转录组注释信息 的 R 对象,主要用于 基因结构解析、基因注释提取、外显子/CDS/UTR 分析等。它通常存储来自 GTF/GFF3 文件的转录本信息,包括:
-
基因(Gene)
-
转录本(Transcript)
-
外显子(Exon)
-
CDS(Coding Sequence,编码区)
-
5'UTR 和 3'UTR
-
内含子(Intron)
-
转录起始位点(TSS, Transcription Start Site)
-
转录终止位点(TES, Transcription End Site)
📌 TxDb 文件的构建
🔹 1. 通过 makeTxDbFromGFF() 从 GTF/GFF3 创建 TxDb
如果你有一个 GTF/GFF3 文件(例如 hg38.annotation.gtf),可以用 makeTxDbFromGFF() 创建 TxDb:
library(GenomicFeatures)txdb <- makeTxDbFromGFF(file = "hg38.annotation.gtf", format = "gtf", organism = "Homo sapiens")# 保存 TxDb 对象saveDb(txdb, file = "hg38.sqlite")
-
makeTxDbFromGFF()读取 GTF/GFF3 文件,并解析基因结构信息。 -
saveDb(txdb, file = "hg38.sqlite")将TxDb保存为 SQLite 格式,便于后续加载。
🔹 2. 直接加载 Bioconductor 提供的 TxDb
Bioconductor 提供了一些 预计算好的 TxDb 数据库,可以直接使用:
# 安装并加载 TxDbBiocManager::install("TxDb.Hsapiens.UCSC.hg38.knownGene")# 载入 TxDblibrary(TxDb.Hsapiens.UCSC.hg38.knownGene)txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene
-
这种方式适合人类(hg38, hg19)或小鼠(mm10)等常见物种。
-
如果需要自定义注释,建议使用
makeTxDbFromGFF()。
📌 TxDb 文件结构
🔹 1. TxDb 的基本信息
可以用 txdb 查询 TxDb 结构:
R语言:
txdb
输出示例:
shell语言:
TxDb object:# Db type: TranscriptDb# Supporting package: GenomicFeatures# Data source: hg38.annotation.gtf# Genome: hg38# Organism: Homo sapiens# Transcript count: 182,481# Exon count: 1,021,375# CDS count: 410,852
-
数据来源:
hg38.annotation.gtf -
物种:
Homo sapiens -
转录本数:
182,481 -
外显子数:
1,021,375 -
CDS 数:
410,852
🔹 2. TxDb 存储的主要数据
可以使用 columns(txdb) 查看 TxDb 数据库的可用列:
columns(txdb)
常见输出:
csharp[1] "GENEID" "TXID" "TXNAME" "EXONID" "EXONRANK"[6] "CDSID" "CDSSTART" "CDSEND" "EXONSTART" "EXONEND"[11] "TXSTART" "TXEND" "TXSTRAND" "TXCHROM"
| 字段 | 含义 |
|---|---|
GENEID |
基因 ID(Ensembl/NCBI/RefSeq ID) |
TXID |
转录本 ID |
TXNAME |
转录本名称 |
EXONID |
外显子 ID |
EXONRANK |
外显子在转录本中的顺序 |
CDSID |
CDS ID |
CDSSTART |
CDS 起始位置 |
CDSEND |
CDS 终止位置 |
EXONSTART |
外显子起始位置 |
EXONEND |
外显子终止位置 |
TXSTART |
转录本起始位置 |
TXEND |
转录本终止位置 |
TXSTRAND |
转录本所在 DNA 链( |
TXCHROM |
染色体号 |
📌 TxDb 常见操作
🔹 1. 获取基因、转录本、外显子、CDS 信息
# 获取基因信息genes(txdb)# 获取转录本信息transcripts(txdb)# 获取外显子信息exons(txdb)# 获取 CDS(编码区)信息cds(txdb)# 获取 5' UTR 和 3' UTR 信息fiveUTRsByTranscript(txdb)threeUTRsByTranscript(txdb)
🔹 2. 获取特定基因的转录本
# 查找基因 ID 为 "ENSG00000141510"(TP53)的所有转录本tx_by_gene <- transcriptsBy(txdb, by = "gene")tx_by_gene["ENSG00000141510"]
🔹 3. 获取特定染色体上的所有转录本
# 获取 chr1 染色体上的所有转录本tx_chr1 <- transcripts(txdb, columns = c("TXID", "TXNAME", "TXSTART", "TXEND"), filter = list(tx_chrom = "chr1"))head(tx_chr1)
🔹 4. 计算基因长度
library(GenomicFeatures)gene_length <- sum(width(reduce(genes(txdb))))
🔹 5. 转换 TxDb 为 GRanges
library(GenomicRanges)# 转录本转换为 GRangesgr_transcripts <- transcripts(txdb)# 外显子转换为 GRangesgr_exons <- exons(txdb)
📌 TxDb 在 Ribo-seq / RNA-seq 分析中的作用
在 Ribo-seq / RNA-seq 分析中,TxDb 通常用于:
-
提取 CDS 位置,用于计算翻译效率(TE, Translation Efficiency)。
-
定义 UTR 区域,用于研究
5' UTR和3' UTR的翻译调控。 -
筛选特定基因的转录本,用于可变剪切(alternative splicing)分析。
-
生成元基因(metagene)分析所需的坐标,帮助 P-site 计算。
📌 结论
✅ TxDb 是存储基因注释的 R 格式文件,可以从 GTF/GFF3 文件创建。
✅ TxDb 主要包含基因、转录本、CDS、UTR、外显子等结构信息。
✅ 它广泛应用于 RNA-seq、Ribo-seq 和基因功能注释。
✅ 可以通过 GenomicFeatures 包进行解析和可视化。
生信大白记第59记,就到这里,关注我!
下一记,持续更新学习生物信息学的内容!
1456

被折叠的 条评论
为什么被折叠?



