如何快速掌握rmats2sashimiplot:RNA-seq可变剪接可视化的完整指南 🧬
rmats2sashimiplot是一款强大的RNA-seq数据可视化工具,专为展示可变剪接事件设计。它基于Sashimi plot概念,通过计算平均读深度和跨接合点读数,帮助研究人员直观理解基因表达和剪接变异。作为rMATS工具的配套可视化模块,它能无缝衔接上游分析结果,提供 publication 级别的高质量图表。
📋 核心功能与依赖准备
✨ 为什么选择rmats2sashimiplot?
- 一站式可视化:直接读取rMATS输出文件或BAM/SAM格式的测序数据
- 灵活分组比较:支持多组样本同时展示,轻松比较不同实验条件
- ** publication 级图表**:可定制的图形参数满足科研论文发表需求
- 两种输入模式:既支持rMATS事件文件,也支持自定义基因组区域
🛠️ 环境依赖清单
- Python 2.7(Python 3用户需先运行2to3.sh转换脚本)
- 核心依赖库:numpy、scipy、matplotlib、pysam
- 第三方工具:Samtools、bedtools
- 兼容系统:所有Unix-based环境(Linux/macOS)
🚀 快速安装指南
🌟 方法一:直接运行(免安装)
python ./src/rmats2sashimiplot/rmats2sashimiplot.py
🌟 方法二:系统安装(推荐)
# 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/rm/rmats2sashimiplot
cd rmats2sashimiplot
# 安装到系统环境
python ./setup.py install
# 验证安装
rmats2sashimiplot --help
🔄 更新方法
pip uninstall rmats2sashimiplot
python ./setup.py install
📊 三种核心使用场景详解
场景1️⃣:使用rMATS事件文件可视化
当您已经通过rMATS完成可变剪接事件分析后,可直接使用其输出文件进行可视化:
rmats2sashimiplot \
--s1 sample1_reps.txt \
--s2 sample2_reps.txt \
--event-type SE \
-e SE.MATS.JC.txt \
--l1 Control --l2 Treatment \
--exon_s 1 --intron_s 5 \
-o se_sashimi_output
其中sample1_reps.txt文件格式:
./rep1.sam,./rep2.sam,./rep3.sam
运行后将生成包含剪接事件的可视化结果:
图1:使用rMATS事件文件生成的Sashimi图,展示了不同样本间的剪接差异
场景2️⃣:指定基因组区域可视化
直接通过基因组坐标和GFF3注释文件绘制特定区域的剪接模式:
rmats2sashimiplot \
--b1 sample1_bams.txt \
--b2 sample2_bams.txt \
-c chr16:+:9000:25000:annotation.gff3 \
--l1 Control --l2 Treatment \
--exon_s 1 --intron_s 5 \
-o coordinate_sashimi_output
生成基于坐标的可视化结果:
场景3️⃣:多组样本比较(高级功能)
通过分组文件实现更复杂的样本比较,例如将生物学重复合并展示:
rmats2sashimiplot \
--b1 all_samples.bam \
--event-type SE \
-e SE.MATS.JC.txt \
--l1 Control --l2 Treatment \
--exon_s 1 --intron_s 5 \
-o grouped_sashimi_output \
--group-info grouping.gf
分组文件grouping.gf格式:
Young: 1-3
Old: 4-6
多组比较可视化结果:
🧮 结果解读与参数优化
📈 Y轴数值含义
Sashimi图的Y轴表示经过修正的RPKM值,计算方式如下:
每个测序 reads 的计数会均匀分配到其覆盖的基因组位置,然后通过总 reads 数和两个常数(1,000和1,000,000)进行标准化。
⚙️ 常用参数调整
- 图形尺寸:
--fig-height 10 --fig-width 12(默认高度7英寸,宽度8英寸) - 颜色定制:
--color "#3498db,#e74c3c"(指定样本颜色) - 字体大小:
--font-size 10(默认8) - 剪接强度阈值:
--min-counts 5(过滤低表达的剪接事件) - 显示优化:
--hide-number(隐藏连接线上的读数)
📂 输出文件结构
所有结果保存在-o参数指定的目录中:
Sashimi_index/:中间索引文件Sashimi_plot/:最终生成的PDF格式图表Sashimi_index_{Gene}_{event_id}/:每个事件的独立索引目录
💡 实用技巧与常见问题
🔍 加速运行的小窍门
- 过滤事件文件:仅保留感兴趣的事件,减少处理量
- 并行处理:对不同事件文件同时运行多个rmats2sashimiplot实例
- 预索引BAM:确保BAM文件已建立索引(.bai文件)
❓ 常见问题解答
Q: 为什么我的图表中没有显示某些连接线?
A: 可能是由于读数低于阈值,可尝试降低--min-counts参数值(默认0)
Q: 如何解决染色体名称不匹配的问题?
A: 使用--remove-event-chr-prefix参数移除事件文件中的"chr"前缀,或--keep-event-chr-prefix强制保留
Q: 可以使用GTF格式的注释文件吗?
A: 不可以,需要先转换为GFF3格式,推荐使用gffread工具:
gffread --keep-genes input.gtf -o output.gff3
📚 完整参数列表
rmats2sashimiplot --help
核心参数速查:
| 参数类别 | 关键参数 | 说明 |
|---|---|---|
| 输入控制 | -e/--event-type |
rMATS事件文件及类型 |
-c |
基因组坐标和GFF3文件 | |
| 数据来源 | --b1/--b2 |
BAM文件列表 |
--s1/--s2 |
SAM文件列表 | |
| 输出设置 | -o |
输出目录(必填) |
--l1/--l2 |
样本组标签 | |
| 图形定制 | --exon_s/--intron_s |
外显子/内含子缩放比例 |
--color |
自定义颜色方案 | |
| 高级功能 | --group-info |
样本分组文件 |
--min-counts |
最小连接读数阈值 |
🎯 最佳实践案例
案例:差异剪接事件验证
当通过rMATS检测到显著差异的剪接事件后,使用以下命令生成高质量可视化图表:
rmats2sashimiplot \
--b1 control_rep1.bam,control_rep2.bam \
--b2 treated_rep1.bam,treated_rep2.bam \
--event-type SE \
-e SE.MATS.JC.txt \
--l1 Control --l2 Treated \
--exon_s 1 --intron_s 5 \
--color "#2ecc71,#e74c3c" \
--fig-height 8 --fig-width 10 \
-o se_validation_plots
此命令将为SE事件文件中的每个剪接事件生成独立的PDF图表,可直接用于论文发表。
📄 版权与许可证信息
rmats2sashimiplot基于GNU General Public License v3.0授权,详细信息见项目根目录下的LICENSE文件。
🤝 技术支持与贡献
项目核心代码位于src/rmats2sashimiplot/目录,主要作者为Yi Xing和Zhijie Xie。如遇问题,请联系:
- Yi Xing: yxing@ucla.edu
- Zhijie Xie: shiehshiehzhijie@gmail.com
欢迎通过项目仓库提交Issue或Pull Request贡献代码!
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0198
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0129
MiMo-V2.5-Pro-FP4-DFlashMiMo-V2.5-Pro-FP4-DFlash 是驱动 MiMo-V2.5-Pro-UltraSpeed 的底层模型: FP4 量化骨干网络:对 MoE 专家采用 MXFP4 量化,同时保持模型其他部分的更高精度,在几乎无损质量的前提下,显著减小模型体积并降低内存带宽压力。 BF16 DFlash 草稿生成器:用于块扩散推测解码,每次前向传播可生成一整个块的 tokens,并让骨干网络一步完成验证。 两者协同作用,既降低了每参数的位宽,又减少了骨干网络前向传播的次数,而这两者正是万亿参数模型解码过程中的两大主要成本来源。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
AstrBot✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨ 平台支持 QQ、QQ频道、Telegram、微信、企微、飞书 | OpenAI、DeepSeek、Gemini、硅基流动、月之暗面、Ollama、OneAPI、Dify 等。附带 WebUI。Python08
handy-ollama动手学Ollama,CPU玩转大模型部署,在线阅读地址:https://datawhalechina.github.io/handy-ollama/Jupyter Notebook07


