跳转至

长读测序全长转录本分析


一句话说明

短读 RNA-seq 只能测到 mRNA 的"碎片"再拼回去(容易拼错),长读测序能直接从头到尾读完一条完整的 mRNA——哪些外显子怎么拼接、用了哪个起始位点和终止位点,一目了然。


核心知识点

要点1:为什么需要全长转录本

  • 短读 RNA-seq 的局限:
  • 只能读 150-300bp,需要计算拼接重建转录本
  • 拼接组装(如 StringTie)对低丰度和复杂可变剪接容易出错
  • 无法区分高度相似的转录本亚型
  • 长读全长转录本的优势:
  • 直接获得完整转录本序列(5'端 → 3'端)
  • 精确鉴定新的可变剪接事件
  • 发现新的基因融合
  • 白话类比:短读 RNA-seq 像把一本书撕成碎片再猜原文,全长测序是直接读完整本书

要点2:两大平台的全长转录本技术

特征PacBio Iso-SeqONT 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:分析流程概览

  1. CCS/纠错:生成高质量全长读 reads
  2. 分类:区分全长(FL)和非全长读
  3. 聚类:相似的全长读聚成一个转录本
  4. 比对:比对到参考基因组
  5. 塌陷/去冗余:合并冗余的转录本模型
  6. 质控:SQANTI3 分类和质量评估
  7. 定量:与短读 RNA-seq 结合做定量

要点4:SQANTI3 分类系统

类别含义
FSMFull Splice Match,完全匹配已知转录本
ISMIncomplete Splice Match,匹配但不完整
NICNovel In Catalog,新剪接组合但都是已知位点
NNCNovel 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