介绍
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
数据库,可以直接使用:
# 安装并加载 TxDb
BiocManager::install("TxDb.Hsapiens.UCSC.hg38.knownGene")
# 载入 TxDb
library(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)
# 转录本转换为 GRanges
gr_transcripts <- transcripts(txdb)
# 外显子转换为 GRangesg
r_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记,就到这里,关注我!
下一记,持续更新学习生物信息学的内容!