RSEM 完整使用文档
目录
- 软件简介
- 编译与安装
- 使用教程
- 多数据库参考基因组构建(RefSeq / Ensembl / GENCODE)
- 非常规物种参考库构建
- 表达定量计算
- 结果可视化
- 实操案例
- 测序数据模拟
- Trinity 转录本--基因映射文件生成
- 差异表达分析
- pRSEM 先验增强版 RSEM
- 作者、致谢与开源协议
1. 软件简介
RSEM 是一款基于 RNA-Seq 数据,精准定量 ** 基因与可变剪接异构体(isoform)** 表达量的工具包。
核心特性
- 友好命令行交互,支持多线程 EM 算法并行计算
- 兼容单端 / 双端测序、质量值、可变长度读段、RSPD 分布估算
- 输出表达量后验均值与 95% 置信区间
- 支持生成转录本坐标 / 基因组坐标的 BAM、Wiggle 文件
- 结果可直接导入 UCSC Genome Browser、IGV 可视化
- 专属脚本输出 PDF 格式转录本覆盖度图谱,支持唯一读段(黑色)/ 多重比对读段(红色)分层展示
- 支持测序模型训练与可视化、内置 RNA-Seq 数据模拟器
2. 编译与安装
基础编译
make
Cygwin 环境编译
make cygwin=true
编译内置差异分析工具 EBSeq
make ebseq
简易安装
方式 1:直接将 RSEM 目录写入环境变量 PATH方式 2:一键安装至系统目录
make install
-
默认安装路径:
/usr/local/bin -
自定义安装目录:通过
DESTDIR与prefix指定make install DESTDIR=/home/my_name prefix=/software
本例安装路径:
/home/my_name/software/bin
⚠️ 注意make install 不会安装 EBSeq 配套脚本 (rsem-generate-ngvector / rsem-run-ebseq / rsem-control-fdr),但差异分析矩阵工具 rsem-generate-data-matrix 会正常安装。
依赖环境
- 必须:C++、Perl、R
- GFF3 注释解析:额外需要 Python
- 序列比对:提前安装 Bowtie / Bowtie2 / STAR / HISAT2
3. 使用教程
RSEM 分析分为两大核心步骤:
rsem-prepare-reference:构建转录本参考库rsem-calculate-expression:比对 + 表达定量
3.1 参考序列准备
- 输入 1:基因组序列 + GTF/GFF3 注释文件(推荐)
- 输入 2:直接提供转录本序列
补充说明:UCSC Table Browser 导出的 GTF 缺少转录本 - 基因对应关系 ;若使用 UCSC Genes 注释,需额外下载
knownIsoforms.txt补全关联信息。
查看帮助文档:
rsem-prepare-reference --help
4. 主流数据库参考库构建
4.1 RefSeq 注释(人 / 鼠通用)
-
下载基因组 + GFF3 注释
ftp://ftp.ncbi.nlm.nih.gov/genomes/refseq/vertebrate_mammalian/Homo_sapiens/all_assembly_versions/GCF_000001405.31_GRCh38.p5/GCF_000001405.31_GRCh38.p5_genomic.fna.gz
ftp://ftp.ncbi.nlm.nih.gov/genomes/refseq/vertebrate_mammalian/Homo_sapiens/all_assembly_versions/GCF_000001405.31_GRCh38.p5/GCF_000001405.31_GRCh38.p5_genomic.gff.gz -
提取一级组装序列(去除冗余补丁 / 单倍型)
rsem-refseq-extract-primary-assembly GCF_000001405.31_GRCh38.p5_genomic.fna GCF_000001405.31_GRCh38.p5_genomic.primary_assembly.fna
-
构建 RSEM 参考 + Bowtie 索引
rsem-prepare-reference --gff3 GCF_000001405.31_GRCh38.p5_genomic.gff
--trusted-sources BestRefSeq,Curated\ Genomic
--bowtie
GCF_000001405.31_GRCh38.p5_genomic.primary_assembly.fna
ref/human_refseq
--trusted-sources:仅解析高可信 RefSeq 注释来源--gff3-RNA-patterns:可限定提取 mRNA、rRNA 等 RNA 类型- 建议定量时加
--append-names,优化基因名可读性
4.2 Ensembl 注释
-
下载数据
ftp://ftp.ensembl.org/pub/release-83/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
ftp://ftp.ensembl.org/pub/release-83/gtf/homo_sapiens/Homo_sapiens.GRCh38.83.gtf.gz -
构建参考库
rsem-prepare-reference --gtf Homo_sapiens.GRCh38.83.gtf
--bowtie
Homo_sapiens.GRCh38.dna.primary_assembly.fa
ref/human_ensembl
若强行使用 GFF3 格式,需加参数:
--gff3-RNA-patterns transcript
4.3 GENCODE 注释(人 / 鼠专用)
-
下载数据
ftp://ftp.sanger.ac.uk/pub/gencode/Gencode_human/release_24/GRCh38.primary_assembly.genome.fa.gz
ftp://ftp.sanger.ac.uk/pub/gencode/Gencode_human/release_24/gencode.v24.annotation.gtf.gz -
构建参考库
rsem-prepare-reference --gtf gencode.v24.annotation.gtf
--bowtie
GRCh38.primary_assembly.genome.fa
ref/human_gencode
5. 非常规物种参考库构建
适用于病毒、小众物种:仅有基因注释、无独立转录本注释。添加 --gff3-genes-as-transcripts,将单个基因视作 1 条转录本。
rsem-prepare-reference --gff3 virus.gff \
--gff3-genes-as-transcripts \
--bowtie \
virus.genome.fa \
ref/virus
6. 表达定量计算
查看帮助:
rsem-calculate-expression --help
6.1 单端数据定量
单端数据需手动指定片段长度分布,保证定量准确度:
--fragment-length-mean:片段平均长度--fragment-length-sd:片段长度标准差
6.2 更换比对软件
- Bowtie2:
--bowtie2 - STAR:
--star - HISAT2:
--hisat2-hca
6.3 外部比对 BAM/ SAM 导入
- 先用 RSEM 生成的
reference_name.idx.fa构建索引 - 比对输出 SAM/BAM/CRAM
- 加
--alignments参数直接输入比对文件
6.4 比对文件合法性校验
rsem-sam-validator input.bam
convert-sam-for-rsem --help
⚠️ RSEM 不支持含插入缺失的空位比对。
7. 结果可视化
7.1 BAM 文件输出
- 默认:生成转录本坐标 BAM
--output-genome-bam:额外生成基因组坐标 BAM- 自带 SAMtools,自动排序 + 生成索引
7.2 转录本 BAM 转基因组 BAM
rsem-tbam2gbam reference_name unsorted_transcript_bam_input genome_bam_output
7.3 生成 Wiggle 覆盖度文件
rsem-bam2wig sorted_bam_input wig_output wiggle_name [--no-fractional-weight]
7.4 IGV 加载转录本坐标文件
- 导入自定义基因组:选用
reference_name.idx.fa - 加载 wiggle/BAM 文件
- 大文件需用
igvtools转换为 tdf 格式
7.5 转录本覆盖度 PDF 绘图
rsem-plot-transcript-wiggles --help
7.6 测序模型可视化
输出片段分布、测序错误、比对统计等图表
rsem-plot-model sample_name output_plot_file
8. 完整实操案例
以小鼠单端数据、限定片段长度、输出置信区间 + 基因组 BAM 为例:
# 1. 构建参考
rsem-prepare-reference --gtf mm9.gtf --transcript-to-gene-map knownIsoforms.txt --bowtie --bowtie-path /sw/bowtie /data/mm9 /ref/mouse_0
# 2. 表达定量
rsem-calculate-expression --bowtie-path /sw/bowtie --phred64-quals --fragment-length-mean 150.0 --fragment-length-sd 35.0 -p 8 --output-genome-bam --calc-ci --ci-memory 1024 /data/mmliver.fq /ref/mouse_0 mmliver_single_quals
# 3. 生成wiggle文件
rsem-bam2wig mmliver_single_quals.sorted.bam mmliver_single_quals.sorted.wig mmliver_single_quals
# 4. 批量基因覆盖度绘图
rsem-plot-transcript-wiggles --gene-list --show-unique mmliver_single_quals gene_ids.txt output.pdf
# 5. 模型统计绘图
rsem-plot-model mmliver_single_quals mmliver_single_quals.models.pdf
9. RNA-Seq 数据模拟
基于真实样本训练的模型,模拟测序读段,用于算法测试。
rsem-simulate-reads reference_name estimated_model_file estimated_isoform_results theta0 N output_name [-q]
参数说明
theta0:背景噪音读段比例N:模拟总读段数- 输出:模拟 FASTQ/FASTA + 模拟定量结果
模拟命令示例
rsem-simulate-reads /ref/mouse_0 mmliver_single_quals.stat/mmliver_single_quals.model mmliver_single_quals.isoforms.results 0.2 50000000 simulated_reads
10. Trinity 组装转录本映射文件
无参转录组专用,快速生成 transcript-to-gene-map:
extract-transcript-to-gene-map-from-trinity trinity_fasta_file map_file
11. 差异表达分析
工具优势
edgeR / DESeq 不考虑多比对模糊性 ;RSEM 内置 EBSeq 经验贝叶斯模型,适配可变剪接、无参组装转录组差异分析。
前置编译
make ebseq
核心流程
-
无参转录组先运行:
rsem-generate-ngvector -
批量表达矩阵提取
rsem-generate-data-matrix sampleA.genes.results sampleB.genes.results > output_name.counts.matrix
-
批量差异检验 + FDR 校正
rsem-run-ebseq --help
rsem-control-fdr --help
12. pRSEM 先验增强版 RSEM
简介
pRSEM 整合 ChIP-seq 等表观数据,优化多重比对读段分配,提升定量准确性。
编译
make pRSEM
依赖系统
- Linux 平台
- Perl ≥5.8.8 / Python ≥2.7.3 / R ≥3.3.1
- 依赖 R 包:
data.table、GenomicRanges、ShortRead、SPP、IDR
核心运行命令
rsem-prepare-reference --gtf mm9.gtf \
--star \
--star-path /sw/STAR \
-p 8 \
--prep-pRSEM \
--bowtie-path /sw/bowtie \
--mappability-bigwig-file /data/mm9.bigWig \
/data/mm9 \
/ref/mouse_0
rsem-calculate-expression --star \
--star-path /sw/STAR \
--calc-pme \
--run-pRSEM \
--chipseq-target-read-files /data/mmliver_PolIIRep1.fq.gz,/data/mmliver_PolIIRep2.fq.gz \
--chipseq-control-read-files /data/mmliver_ChIPseqCtrl.fq.gz \
--bowtie-path /sw/bowtie \
-p 8 \
/data/mmliver.fq \
/ref/mouse_0 \
mmliver_single_quals