rmats2sashimiplot:可视化rmats的可变剪切结果

欢迎关注”生信修炼手册”!

在miso这款可变剪切分析软件中,提出了一种可变剪切事件的可视化方式, sashimiplot, 示意如下

rmats2sashimiplot:可视化rmats的可变剪切结果_第1张图片

上述示意图表示的是一个外面子跳跃的可变剪切事件,最下方是可变剪切isofrom的示意图,分别对应inclusion  isofrom 和 skipping  isofrom; 采用RPKM值量化表示样本中对应的测序深度分布,不同分组样本用不同颜色表示。

图中曲线连接的地方代表剪切位点,对于inclusion  isoform而言,有两处剪切位点,exon1-exon2, exon2-exon3 之间的内含子需要被剪切,对于skipping isoform而言,只有1处剪切位点,即exon1-exon3,曲线旁边的数字代表检测到的比对到该区域的reads数目,这里的reads 示意如下

rmats2sashimiplot:可视化rmats的可变剪切结果_第2张图片

上图中左边为inclusion isofrom, 右边为skipping isoform, 比对上inclusion isoform的reads 有两种,分别为红色和紫色,其中红色reads只比对到了1号和3号exons上,无法区分这部分reads是来自inclusion isofrom还是skipping  reads, 而紫色的reads 比对到了exon2以及exon2与其他exon的连接处,这部分reads可以明确来自inclusion isoform. 所以在统计inclusion isofrom count时,只会计数这部分reads, 同理,统计skipping isoform的reads数时,只会统计绿色部分的reads。

右侧的柱状图表示miso计算出的每个可变剪切事件在样本中的表达量,在这种图片中,归一化之后的reads深度分布可以用于直观的比较不同样本中的分布,而右侧的inclusion level值则可以直接看出不同样本中可变剪切事件的差异。
这种可视化形式能够直观的展示可变剪切分析的结果,所以其他的可变剪切软件也争相效仿,rmats也提供了类似的功能,将rmats的输出结果用这种方式展示,对应的软件链接如下

https://github.com/Xinglab/rmats2sashimiplot

用法如下

rmats2sashimiplot \
--b1 control.bam \
--b2 case.bam \
--l1 control \
--l2 case \
--exon_s 1 \
--intron_s 5 \
--min-counts 0 \
-t SE \
-e SE.MATS.JC.txt \
-o sashimiplot_dir

b1b2参数指定样本对应的bam文件,该文件必须是排序之后的,而且建立了bai的索引,l1l2参数指定样本的名字,exon_sintron_s参数指定图片中exon和intron的比例,min-counts用于指定展示的最小count数,如果实际的counts数小于该阈值,则不会在图中显示,-t参数指定可变剪切的类型,-e参数指定rmats产生的可变剪切结果文件。

该软件本质上将rmats的输出结果整理成miso的输入结果,然后调用miso绘制sashimiplot, 在输出目录中,对于每个可变剪切事件,首先会整理出符合miso格式的GFF3文件,文件名称为tmp.gff3, 示例如下

chr16    SE    gene    20911620    20922586    .    +    .    ID=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+;Name=LYRM1_chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+
chr16    SE    mRNA    20911620    20922586    .    +    .    ID=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.A;Parent=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+
chr16    SE    mRNA    20911620    20922586    .    +    .    ID=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.B;Parent=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+
chr16    SE    exon    20911620    20911857    .    +    .    ID=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.A.up;Parent=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.A
chr16    SE    exon    20913808    20914039    .    +    .    ID=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.A.se;Parent=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.A
chr16    SE    exon    20922505    20922586    .    +    .    ID=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.A.dn;Parent=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.A
chr16    SE    exon    20911620    20911857    .    +    .    ID=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.B.up;Parent=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.B
chr16    SE    exon    20922505    20922586    .    +    .    ID=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.B.dn;Parent=chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586:+.B

对于rmats鉴定到的外显子跳跃事件,对应的gff文件中包含两个转录本,inclusion  isoform包含3个exon, skipping isoform包含两个转录本。而且可以看到,可变剪切事件的ID也调整成了miso的格式

chr16:20911620:20911857:+@chr16:20913808:20914039:+@chr16:20922505:20922586

调用miso中的sashimi_plot脚本,除了对上述整理好的GFF3文件建立index之外,还需要一个画图的配置文件,在输出目录下也可以找到,示例如下

[data]
bam_prefix =
miso_prefix =
bam_files = ["control.bam","case.bam"]
miso_files = ["control.bam","control.bam"]
[plotting]
group_info = False
font_size = 8
reverse_minus = True
show_xlabel = True
nyticks = 4
min_counts = 0
text_background = True
logged = False
plot_label = plot_label
show_ylabel = True
fig_height = 7
nxticks = 6
plot_title = "gene symbol"
exon_scale = 1
fig_width = 8
intron_scale = 5
resolution = .5
bar_posteriors = False
number_junctions = True
show_posteriors = False
colors = ["#CC0011","#FF8800"]
sample_labels = ["LYRM1 control IncLevel: 0.64","LYRM1 case IncLevel: 1.00"]

从该配置文件可以看出,sample_labels中包含了rmats分析出的每个可变剪切事件的inclusion level 值。最终的效果图示意如下

rmats2sashimiplot:可视化rmats的可变剪切结果_第3张图片

由于rmats中只会计算可变剪切事件的inclusion level值,并没有提供95%执行区间的值,所以没有右侧的柱状图。图中的IncLevel值是直接从rmats的输出结果中读取的,所以二者是一致的。

对于曲线上方标记的reads数目,和rmats输出结果中的IJCSJC是不同的,因为是两个软件统计的结果,从配置文件可以看出,只提供了bam文件给miso,所以图上的reads数是由miso这个软件计算得到的,自然和rmats计算的reads数目有所出入,但是只是微小差异,总体的趋势还是一致的。

对于rmats2sashimiplot产生的图片,我们不需要太过于纠结reads数目和rmats对应不上,只需要看reads分布的大体趋势即可,重点是关注不同样本中IncLevel的差异。

·end·

—如果喜欢,快分享给你的朋友们吧—


扫描关注微信号,更多精彩内容等着你!

rmats2sashimiplot:可视化rmats的可变剪切结果_第4张图片

你可能感兴趣的:(rmats2sashimiplot:可视化rmats的可变剪切结果)