欢迎关注”生信修炼手册”!
在miso这款可变剪切分析软件中,提出了一种可变剪切事件的可视化方式, sashimiplot, 示意如下
上述示意图表示的是一个外面子跳跃的可变剪切事件,最下方是可变剪切isofrom的示意图,分别对应inclusion isofrom 和 skipping isofrom; 采用RPKM值量化表示样本中对应的测序深度分布,不同分组样本用不同颜色表示。
图中曲线连接的地方代表剪切位点,对于inclusion isoform而言,有两处剪切位点,exon1-exon2, exon2-exon3 之间的内含子需要被剪切,对于skipping isoform而言,只有1处剪切位点,即exon1-exon3,曲线旁边的数字代表检测到的比对到该区域的reads数目,这里的reads 示意如下
上图中左边为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
b1
和b2
参数指定样本对应的bam文件,该文件必须是排序之后的,而且建立了bai
的索引,l1
和l2
参数指定样本的名字,exon_s
和intron_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 值。最终的效果图示意如下
由于rmats中只会计算可变剪切事件的inclusion level值,并没有提供95%执行区间的值,所以没有右侧的柱状图。图中的IncLevel值是直接从rmats的输出结果中读取的,所以二者是一致的。
对于曲线上方标记的reads数目,和rmats输出结果中的IJC
和SJC
是不同的,因为是两个软件统计的结果,从配置文件可以看出,只提供了bam文件给miso,所以图上的reads数是由miso
这个软件计算得到的,自然和rmats
计算的reads数目有所出入,但是只是微小差异,总体的趋势还是一致的。
对于rmats2sashimiplot产生的图片,我们不需要太过于纠结reads数目和rmats对应不上,只需要看reads分布的大体趋势即可,重点是关注不同样本中IncLevel的差异。
·end·
—如果喜欢,快分享给你的朋友们吧—
扫描关注微信号,更多精彩内容等着你!