美文网首页
rmats2sashimiplot安装及使用

rmats2sashimiplot安装及使用

作者: 就是大饼 | 来源:发表于2024-04-06 17:26 被阅读0次

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


      计算

    相关文章

      网友评论

          本文标题:rmats2sashimiplot安装及使用

          本文链接:https://www.haomeiwen.com/subject/fhnatjtx.html