DNA序列差异作图
这是高老师文章里的图,每一个小图都是通过比较两条比对序列差异而做出来的,从图A和B中可以看出,CF_YL21有可能是Mont和Oz两条序列重组而来。高老师自己做出这图后,深知手工统计序列差异、画图、拼图之困难。问我有没有办法读两条序列,生成一个图。
很多东西都没有现成的,需要自己造轮子,于是我写了个R包来做这个事情:
library(seqcombo)
fas = list.files(system.file("examples","GVariation", package="seqcombo"),
pattern="fas", full.names=TRUE)
x = seqdiff(fas[1])
plot(x)
一行代码读文件,然后plot画出来,就是这么简单。
这里有三个文件,我们可以三个文件一起读,三个图一起画。
x = lapply(fas, seqdiff)
plts = lapply(x, plot)
然后可以很容易把三张图拼在一起
plot_grid(plotlist=plts, ncol=1, labels=LETTERS[1:3])
简直完美,跟文章中的图一毛一样。
这个包我取名seqcombo,90后大概不知道何为combo,如果你知道,没错,说的就是你,你已经暴露年龄了!因为这个图是可以辅助看序列重组的,所以取这个名字,以后有可能的话,再实现一些其它的可视化方法,起码得有三把刷子,才对得起combo这名字。