作用:二代数据用rmats-turbo跑完之后得到各exon的五种可变剪切事件和count数,用ramts2sashimiplot可视化。
github网址:https://github.com/Xinglab/rmats2sashimiplot
参考:https://cloud.tencent.com/developer/article/1366294
安装
方法一:conda
# 建议创个新环境使用,因为conda安装的该软件适配python解释器是2.7的,可能会和其他软件冲突
conda create -n rmats2plot
conda activate rmats2plot
conda install -c bioconda rmats2sashimiplot
conda 安装完的包使用起来可能会报缩进的错误“SyntaxError: invalid syntax”,这是因为有5个.py文件的缩进格式不对,1个tab和4个空格混用了。解决办法是用pycharm打开该文件,用ctrl+alt+L格式化修正缩进。然后再用改好的文件替换掉原始文件,名字要一样哈。
conda安装的包
方法二:下载包后解压安装
tar zxvf rmats2sashimiplot-3.0.0.tar.gz
cd rmats2sashimiplot-3.0.0
# 注意你要用python2来安装
python ./setup.py install
rmats2sashimiplot can be updated with:
pip uninstall rmats2sashimiplot
python ./setup.py install
# 安装完之后可以直接使用
rmats2sashimiplot
方法三:不安装,直接使用
在github下载完包后解压,直接使用
# 注意,python2版本使用
python ./src/rmats2sashimiplot/rmats2sashimiplot.py
注意:后两种方法需要自行配置dependencies
pip install numpy scipy matplotlib pysam
conda install -c bioconda samtools bedtools
大家觉得python2不好用,想用python3跑,也可以。
2to3
跑以下命令会自动将python2的格式转为python3可执行的格式。
bash 2to3.sh # 软件目录下自带的
# 如果你实在找不到这个文件,你可以尝试
2to3 -w -n /path/to/src
如果你是conda/解压安装的途径使用的,我感觉没必要换python3了。因为conda是配置好python2,你解压安装时也配置好python2。只有你直接使用.py脚本不安装时,用的可能是python3,这样不动python版本,动软件文件格式是优选。但是你都配置好了python2,就没必要了。
使用
方法一:使用sam文件
rmats2sashimiplot --s1 ./rmats2sashimiplot_test_data/sample_1_replicate_1.sam,./rmats2sashimiplot_test_data/sample_1_replicate_2.sam,./rmats2sashimiplot_test_data/sample_1_replicate_3.sam --s2 ./rmats2sashimiplot_test_data/sample_2_replicate_1.sam,./rmats2sashimiplot_test_data/sample_2_replicate_2.sam,./rmats2sashimiplot_test_data/sample_2_replicate_3.sam --event-type SE -e ./rmats2sashimiplot_test_data/SE.MATS.JC.txt --l1 SampleOne --l2 SampleTwo --exon_s 1 --intron_s 5 -o test_events_output
# 你感觉太长了,好难检查哪里错了,那就将sample1和2的样本放在2个文件里
# s1.txt内容:样本1路径/重复样本1名,样本1路径/重复样本2名
./rmats2sashimiplot_test_data/sample_1_replicate_1.sam,./rmats2sashimiplot_test_data/sample_1_replicate_2.sam,./rmats2sashimiplot_test_data/sample_1_replicate_3.sam
# s2.txt内容:样本2路径/重复样本1名,样本2路径/重复样本2名
./rmats2sashimiplot_test_data/sample_2_replicate_1.sam,./rmats2sashimiplot_test_data/sample_2_replicate_2.sam,./rmats2sashimiplot_test_data/sample_2_replicate_3.sam
# 改后
rmats2sashimiplot --s1 s1.txt--s2 s2.txt --event-type SE -e ./rmats2sashimiplot_test_data/SE.MATS.JC.txt --l1 SampleOne --l2 SampleTwo --exon_s 1 --intron_s 5 -o test_events_output
方法二:使用bam文件
rmats2sashimiplot --b1 ./rmats2sashimiplot_test_data/sample_1_replicate_1.bam,./rmats2sashimiplot_test_data/sample_1_replicate_2.bam,./rmats2sashimiplot_test_data/sample_1_replicate_3.bam --b2 ./rmats2sashimiplot_test_data/sample_2_replicate_1.bam,./rmats2sashimiplot_test_data/sample_2_replicate_2.bam,./rmats2sashimiplot_test_data/sample_2_replicate_3.bam -c chr16:+:9000:25000:./rmats2sashimiplot_test_data/annotation.gff3 --l1 SampleOne --l2 SampleTwo --exon_s 1 --intron_s 5 -o test_coordinate_output
# 如果觉得太长了,可以和方法一一样,把样本名放在文件里
方法三:分组画
rmats2sashimiplot --b1 ./rmats2sashimiplot_test_data/sample_1_replicate_1.bam,./rmats2sashimiplot_test_data/sample_1_replicate_2.bam,./rmats2sashimiplot_test_data/sample_1_replicate_3.bam --b2 ./rmats2sashimiplot_test_data/sample_2_replicate_1.bam,./rmats2sashimiplot_test_data/sample_2_replicate_2.bam,./rmats2sashimiplot_test_data/sample_2_replicate_3.bam --event-type SE -e ./rmats2sashimiplot_test_data/SE.MATS.JC.txt --l1 SampleOne --l2 SampleTwo --exon_s 1 --intron_s 5 -o test_grouped_output --group-info grouping.gf
解释各参数含义:
#如果你是用conda安装的
-t {SE,A5SS,A3SS,MXE,RI} 可变剪切类型
-e EVENTS_FILE 输入rMATS输出的可变剪切事件的文件,如SE.MATS.JC.txt
--l1 L1 第一个样本的标签名
--l2 L2 第二个样本的标签名
-o OUT_DIR 输出文件路径
--s1 S1 样本1的sam文件路径
--s2 S2 样本2的sam文件路径
--b1 B1 样本1的bam文件路径
--b2 B2 样本2的bam文件路径
--exon_s EXON_S 画外显子的时候比例要缩小多少
--intron_s INTRON_S 画内含子的时候比例要缩小多少。如果设为5,说明实际长度为100的内含子绘制为100/5 = 20
--group-info GROUP_INFO .gf文件路径
# 方法3中使用。如--b1 a.bam,b.bam,c.bam --b2 d.bam,e.bam,f.bam
# 一共6个case,a和d为一组,a,b,c,e.f为一组,那么.gf文件内容为
## firstGroup: 1,4
## secondGroup: 1-3,5,6
--min-counts MIN_COUNTS 如果junction count小于这个数,那么这个junction count在图中会省去
--color COLOR 设置图的颜色,颜色数量等于不同样本中bam文件的总数
# 如果你是下载包安装的
--event-type {SE,A5SS,A3SS,MXE,RI} 可变剪切类型
tips
- 可以提前对bam文件建index,节省时间
samtools index *.bam
- 有些朋友反映bam文件和rmats输出文件里的“chr11”不匹配,可以尝试将rmats输出文件中的“chr”删去,只剩“11”,但我没遇到这样的,反而删了“chr”会报错
- 尽量不要把所有SE.MATS.JC.txt的内容都画完,选择你想画的gene、有显著性p值的基因,另做一个文件,表头和SE.MATS.JC.txt一样。要不然速度会很慢。
-
默认输出.pdf文件
可视化例子
纵轴为RPKM表达值,连线为splice junction,连线上为支持此SJ的reads数,IncLevel是指psi值,横轴为exon的位置
计算
网友评论