rmats2sashimiplot安装及使用

作用:二代数据用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

  1. 可以提前对bam文件建index,节省时间
samtools index *.bam
  1. 有些朋友反映bam文件和rmats输出文件里的“chr11”不匹配,可以尝试将rmats输出文件中的“chr”删去,只剩“11”,但我没遇到这样的,反而删了“chr”会报错
  2. 尽量不要把所有SE.MATS.JC.txt的内容都画完,选择你想画的gene、有显著性p值的基因,另做一个文件,表头和SE.MATS.JC.txt一样。要不然速度会很慢。
  3. 默认输出.pdf文件


    可视化例子

    纵轴为RPKM表达值,连线为splice junction,连线上为支持此SJ的reads数,IncLevel是指psi值,横轴为exon的位置


    计算
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容