乐于分享
好东西不私藏

软件知识分享 | RSeQC:RNA-seq 数据质量评估软件

软件知识分享 | RSeQC:RNA-seq 数据质量评估软件

一、RSeQC 的开发背景

开发者:王立国(Liguo Wang),现就职于 MD Anderson 癌症中心,生物信息学与计算生物学系。

发表:2012 年发表于 Oxford 旗下《Bioinformatics》,是 RNA-seq 质控领域使用最广泛的工具套件之一。

定位:专为 RNA-seq 设计的基因组水平质控(QC)工具集,全面完成比对后 BAM/SAM 文件深度质量评估。

开发初衷:RNA-seq 与 DNA-seq 测序原理存在明显差异,存在可变剪接、外显子覆盖不均、转录本结构复杂等特有问题,一些通用质控软件仅能完成原始测序数据质控,无法满足 RNA-seq 比对后的专属质控需求。RSeQC 针对性开发多款分析模块,完美填补了比对层级的 RNA-seq 质控空白。

支持:单端(SE)/ 双端(PE)RNA-seq 测序数据

输入文件:已完成基因组比对的 BAM / SAM 文件

适用场景:RNA-seq 比对后全面质控、转录本完整性评估、基因体覆盖度分析、剪接位点分析等。

二、核心模块

比对统计(bam_stat.py)

统计 BAM 文件整体比对结果:总 Reads 数、唯一比对 Reads、多重比对 Reads、未比对 Reads,双端数据可统计配对比对详情。

作用:快速判定样本整体比对质量,初步判断是否需要进行去重处理

使用命令:bam_stat.py -i sample.bam

读取分布(read_distribution.py)

统计测序 Reads 在基因组不同功能区域的分布占比,包含 CDS 编码区、5’UTR、3’UTR、内含子、基因间区。

质控标准:合格 mRNA 测序数据,落在 CDS+UTR 区域的 Reads 占比 ≥70%;内含子、基因间区 Reads 占比过高,提示样本存在 DNA 污染或文库构建不合格。

使用命令:read_distribution.py -i sample.bam -r ref_gene.bed

剪接点饱和度分析(junction_saturation.py)

评估转录组剪接位点检测饱和度,软件默认按10% 梯度逐步抽取测序数据,统计新增剪接位点数量。

结果判定:测序量递增过程中仍大量发现全新剪接点,代表当前测序深度不足;曲线趋于平缓则说明测序深度充足。

使用命令:junction_saturation.py -i sample.bam -r ref_gene.bed -o output_prefix

剪接点注释分析(junction_annotation.py)

将检测到的剪接位点划分为三类:已知注释剪接点、部分新型剪接点、全新未知剪接点。

结果判定:全新剪接点占比异常偏高,大概率为数据噪音、测序错误,也可用于探究组织特异性可变剪接事件。

使用命令:junction_annotation.py -i sample.bam -r ref_gene.bed -o output_prefix

基因体覆盖度分析(gene_body_coverage.py)

分析 Reads 在基因体 5′ 端至 3′ 端的覆盖均匀程度,是判断 RNA 降解的核心指标。

结果解读:

5′ 端覆盖度显著偏低:提示样本发生整体 RNA 降解

3′ 端覆盖度偏高:为 Oligo (dT) 富集建库带来的正常偏好偏差

软件可直接输出可视化覆盖度曲线图

使用命令:gene_body_coverage.py -i sample.bam -r ref_gene.bed -o output_prefix

转录本完整性指数(tin.py)

计算 TIN(Transcript Integrity Number)转录本完整性数值,精准量化单个转录本完整程度,精度高于基因体覆盖度分析。

适用场景:多用于 FFPE 石蜡包埋样本、老旧低质量 RNA 样本质控

质控标准:中位 TIN>70 样本质量优秀;60~70 样本可用;<60 代表 RNA 严重降解

输出结果:单个基因 TIN 数值与整体 TIN 分布直方图

使用命令:tin.py -i sample.bam -r ref_gene.bed -o output_prefix

重复率分析(read_duplication.py)

统计测序 Reads 重复水平,区分 PCR 扩增重复与生物学天然重复。

结果解读:重复曲线前期快速上升代表 PCR 重复过高,平缓上升为正常生物学重复,可据此判断样本是否需要去重。

使用命令:read_duplication.py -i sample.bam -o output_prefix

插入片段分布(inner_distance.py)

仅适用于双端测序数据,统计文库插入片段长度分布情况。

作用:验证样本片段化实验是否合格,判断文库片段大小是否符合实验预期

使用命令:inner_distance.py -i sample.bam -r ref_gene.bed -o output_prefix

GC 含量偏好分析(read_gc.py)

统计测序 Reads GC 含量分布,对比理论正态分布曲线,偏差过大代表存在严重 PCR 扩增偏好,影响后续定量结果。

使用命令:read_gc.py -i sample.bam -o output_prefix

三、使用示例

适用场景:常规 RNA-seq 数据完成基因组比对后,全套质控流程

# 前提必备:BAM文件必须排序并构建索引samtools sort sample.bam -o sample_sorted.bamsamtools index sample_sorted.bam1. 基础比对结果统计bam_stat.py -i sample_sorted.bam2. Reads基因组区域分布统计read_distribution.py -i sample_sorted.bam -r ref_gene.bed3. 剪接位点饱和度分析junction_saturation.py -i sample_sorted.bam -r ref_gene.bed -o sample_saturation4. 基因体覆盖度可视化分析gene_body_coverage.py -i sample_sorted.bam -r ref_gene.bed -o sample_body5. 低质量/FFPE样本转录本完整性评估tin.py -i sample_sorted.bam -r ref_gene.bed -o sample_tin6. 测序数据重复率检测read_duplication.py -i sample_sorted.bam -o sample_dup
核心参数说明-i:输入已排序建索引的 BAM 文件-r:参考基因注释 BED 文件,用于划分基因组功能区间-o:输出文件统一前缀-t:部分模块支持设置多线程,加速运行

四、输出结果汇总

RSeQC 所有模块以文本统计表格为核心输出,同步生成 PDF/PNG 可视化图表,结果清晰直观:

比对统计:汇总总测序量、比对率、唯一比对率等核心指标,快速筛除不合格样本

Reads 区域分布:直观查看外源 DNA 污染程度

剪接位点分析:判定测序深度是否充足,挖掘新型可变剪接

基因体覆盖 + TIN 值:双重验证 RNA 完整度,是降解样本判定金标准

重复率、GC 含量、插入片段:全方位排查文库构建、PCR 扩增带来的实验偏差

所有 RSeQC 输出结果均可导入MultiQC一键整合汇总,批量完成多样本质控结果整理。

使用经验分享:目前测试过RSeQC 部署在 Python3.8 环境,其他软件使用 Python3.9 环境,借助脚本即可在 3.9 环境下直接调用 3.8 环境中的 RSeQC 运行。

官方主页:

https://rseqc.sourceforge.net/

参考文献:

Wang, L., Wang, S., & Li, W. (2012). RSeQC: quality control of RNA-seq experiments. Bioinformatics (Oxford, England), 28(16), 2184–2185. http://doi.org/10.1093/bioinformatics/bts356

Wang, L., Nie, J., Sicotte, H., Li, Y., Eckel-Passow, J. E., Dasari, S., et al. (2016). Measure transcript integrity using RNA-seq data. BMC Bioinformatics, 17(1), 1–16. http://doi.org/10.1186/s12859-016-0922-z

本文部分内容由AI辅助整理编辑,仅供参考。如存在疏漏、错误或侵权内容,欢迎联系我们及时更正处理。