长读测序全长转录本分析¶
一句话说明¶
短读 RNA-seq 只能测到 mRNA 的"碎片"再拼回去(容易拼错),长读测序能直接从头到尾读完一条完整的 mRNA——哪些外显子怎么拼接、用了哪个起始位点和终止位点,一目了然。
核心知识点¶
要点1:为什么需要全长转录本¶
- 短读 RNA-seq 的局限:
- 只能读 150-300bp,需要计算拼接重建转录本
- 拼接组装(如 StringTie)对低丰度和复杂可变剪接容易出错
- 无法区分高度相似的转录本亚型
- 长读全长转录本的优势:
- 直接获得完整转录本序列(5'端 → 3'端)
- 精确鉴定新的可变剪接事件
- 发现新的基因融合
- 白话类比:短读 RNA-seq 像把一本书撕成碎片再猜原文,全长测序是直接读完整本书
要点2:两大平台的全长转录本技术¶
| 特征 | PacBio Iso-Seq | ONT cDNA/dRNA |
|---|---|---|
| 准确率 | HiFi: >99.9% | R10.4+: ~99% |
| 是否需要 PCR | 是(cDNA 扩增) | cDNA 模式需要,dRNA 不需要 |
| 直接测 RNA | 否(测 cDNA) | dRNA 模式可以 |
| 检测 RNA 修饰 | 否 | dRNA 模式可以(m6A 等) |
| 通量 | ~2-4M reads/cell | ~10-50M reads/cell |
| 5'端完整性 | 高(使用 5' cap 捕获) | 中等 |
要点3:分析流程概览¶
- CCS/纠错:生成高质量全长读 reads
- 分类:区分全长(FL)和非全长读
- 聚类:相似的全长读聚成一个转录本
- 比对:比对到参考基因组
- 塌陷/去冗余:合并冗余的转录本模型
- 质控:SQANTI3 分类和质量评估
- 定量:与短读 RNA-seq 结合做定量
要点4:SQANTI3 分类系统¶
| 类别 | 含义 |
|---|---|
| FSM | Full Splice Match,完全匹配已知转录本 |
| ISM | Incomplete Splice Match,匹配但不完整 |
| NIC | Novel In Catalog,新剪接组合但都是已知位点 |
| NNC | Novel Not in Catalog,包含新剪接位点 |
| Genic | 基因内但不匹配任何已知转录本 |
| Antisense | 反义链转录 |
| Intergenic | 基因间区(可能是新基因) |
实战代码¶
# ===== PacBio Iso-Seq 全长转录本分析流程 =====
# 1. 生成 CCS 读(如果从 subreads 开始)
ccs input.subreads.bam ccs.bam \
--min-rq 0.9 --min-passes 1 --num-threads 16
# 2. 引物去除和全长分类(isoseq3)
# 识别 5' 和 3' 引物,分类为全长(FL)或非全长
isoseq3 tag ccs.bam tagged.bam --design T-12U-16B
isoseq3 refine tagged.bam primers.fasta flnc.bam \
--require-polya # 要求 polyA 尾巴
# flnc = Full-Length Non-Chimeric reads(全长非嵌合读)
# 这些是高质量的全长 cDNA 序列
# 3. 聚类:将相似的全长读聚成转录本
isoseq3 cluster flnc.bam clustered.bam \
--verbose --use-qvs
# 4. 比对到参考基因组
# 使用 minimap2 的 splice 模式(专门处理 RNA 比对)
minimap2 -a -x splice:hq \
-uf \ # 强制正义链比对
--secondary=no \ # 不输出次优比对
-t 16 \
hg38.fa clustered.hq.fasta.gz | \
samtools sort -@ 8 -o aligned.sorted.bam
samtools index aligned.sorted.bam
# 5. 转录本塌陷/去冗余(cDNA_Cupcake 或 IsoQuant)
# 方法A:使用 IsoQuant(推荐,更现代)
isoquant.py \
--reference hg38.fa \
--genedb gencode.v44.annotation.gtf \
--bam aligned.sorted.bam \
--data_type pacbio_ccs \
--output isoquant_output \
--threads 16
# 方法B:cDNA_Cupcake(经典方法)
python collapse_isoforms_by_sam.py \
--input clustered.hq.fasta.gz \
--sam aligned.sorted.sam \
--prefix collapsed \
--min-coverage 0.85 \ # 至少 85% 的读比对上
--min-identity 0.95 # 至少 95% 序列一致性
# 6. SQANTI3 质量评估和分类
python sqanti3_qc.py \
collapsed.gff \
gencode.v44.annotation.gtf \
hg38.fa \
-o sqanti_output \
--report pdf \
-t 16 \
--SR_bam short_read.sorted.bam # 可选:用短读验证剪接位点
# 7. SQANTI3 过滤(去除低质量转录本)
python sqanti3_filter.py rules \
sqanti_output_classification.txt \
sqanti_output_corrected.fasta \
sqanti_output_corrected.gtf \
-o filtered
# ===== R: 全长转录本下游分析 =====
library(ggplot2)
library(dplyr)
# 读取 SQANTI3 分类结果
sqanti <- read.delim("sqanti_output_classification.txt")
# 统计各类转录本的比例
category_counts <- sqanti %>%
count(structural_category) %>%
mutate(pct = n / sum(n) * 100) %>%
arrange(desc(n))
# 可视化转录本分类
ggplot(category_counts,
aes(x = reorder(structural_category, -n), y = n, fill = structural_category)) +
geom_bar(stat = "identity") +
geom_text(aes(label = paste0(round(pct, 1), "%")), vjust = -0.5) +
labs(x = "转录本类别", y = "数量",
title = "SQANTI3 转录本分类") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
# 统计新发现的可变剪接事件
novel <- sqanti %>%
filter(structural_category %in% c("NIC", "NNC"))
cat("新剪接组合(NIC):", sum(novel$structural_category == "NIC"), "\n")
cat("全新剪接位点(NNC):", sum(novel$structural_category == "NNC"), "\n")
# 每个基因的转录本亚型数量
isoform_per_gene <- sqanti %>%
group_by(associated_gene) %>%
summarise(n_isoforms = n()) %>%
arrange(desc(n_isoforms))
cat("平均每个基因的转录本数:", mean(isoform_per_gene$n_isoforms), "\n")
cat("转录本最多的基因:", isoform_per_gene$associated_gene[1],
"(", isoform_per_gene$n_isoforms[1], "个)\n")
面试常问点¶
★ 全长转录本测序能完全替代短读 RNA-seq 吗?¶
参考答案:目前不能完全替代。全长测序在发现和注释转录本方面远优于短读,但在定量方面有局限——长读通量较低(几百万 reads vs 短读几千万),定量精度不够。最佳实践是"长短结合":用长读定义转录本目录(发现新亚型、新剪接),用短读做高精度定量。SQANTI3 也支持用短读数据验证长读发现的剪接位点。
★ ONT 直接 RNA 测序(dRNA-seq)有什么独特优势?¶
参考答案:dRNA-seq 不经过逆转录和 PCR,直接测原生 RNA 分子。独特优势有三:第一,可以检测 RNA 修饰(如 m6A、pseudouridine),因为修饰碱基通过纳米孔时产生特殊的电流信号;第二,避免了逆转录和 PCR 引入的偏差;第三,可以检测 polyA 尾巴长度。缺点是通量更低、错误率更高,目前主要用于 RNA 修饰研究。
速查卡片¶
| 问题 | 一句话答案 |
|---|---|
| PacBio 全长方案 | Iso-Seq(isoseq3 pipeline) |
| ONT 全长方案 | cDNA-seq / dRNA-seq |
| 比对工具 | minimap2 -x splice:hq |
| 转录本分类工具 | SQANTI3 |
| FSM 含义 | 完全匹配已知转录本 |
| NIC 含义 | 新剪接组合但剪接位点已知 |
| 最佳实践 | 长读发现 + 短读定量 |
| 转录本聚类工具 | isoseq3 cluster / IsoQuant |