之前偶然的一次机会,感觉修改代码画基因图谱入门比较困难,入MapChart和MapDraw。这两个工具,如果你会修改代码了,使用起来还是非常方便,个性化修改图谱也是非常好用的。
单纯想让画基因图谱变的简单一些,自己就用Perl+SVG的方式开放了一个软件。最初的软件功能非常简单,有基因位置信息和染色体长度,直接就把图谱标注出来也没有刻度尺。
在使用过程中,发现这些功能还不够,需要再增加点,再增加点,最后就形成了MG2C 2.0(http://mg2c.iask.in/mg2c_v2.0/)和2.1(http://mg2c.iask.in/mg2c_v2.1/). 直接使用最新版,网址可使用http://mg2c.iask.in,会自动跳转至最新版。
2.0和2.1的区别就在于,2.1可以对基因进行简单的颜色标注;2.0则无此模块。
下面这张图是MG2C 2.0的效果图
下面这张图是MG2C 2.1的效果图
下面针对2.1版本软件的参数如何调整,碰到哪些情况如何解决。
(1)令我意外的是,大家问的最多的问题是“如何将做好的SVG图保存到本地电脑?”。
(2)如何理解SVG container与single chromosome container ?
答:SVG container的参数预先设定了整个基因图谱的最大尺寸,若基因图谱出现染色体过界的情况,适当增加SVG container的height和width即可解决;而single chromosome container预先定义了单个染色体的最大尺寸,如果染色体显示不完整的情况,可通过增加该部分的height和width来解决。
(3)如何理解gene lines下的type参数?
答:type这里是指基因线标注的位置类型,可设为1或2,其中1代表基因线标注在基因开始与结束位置的正中间;2代表基因的开始位置与结束位置同时显示。
(4)如何理解gene lines下的gene_display_type 参数?
答:该参数预设了五种基因位置信息展示样式:1,基因在染色体两侧等量交错显示,奇数在左边,偶数在右边;2. 所有基因显示在左侧,且不显示基因位置信息;3.所有基因显示在右侧,且不显示基因位置信息;4. 所有基因在左侧,在右侧显示基因位置信息;5.所有基因展示在右侧,基因位置信息展示在左侧。默认值为1,即基因在染色体两侧交错显示。现在回头看一下,这一参数放在gene lines下不是很妥当,应该放在gene id下更为合适。。
(5)如何为不同基因标注颜色?
答:这个功能只在MG2C-2.1中可以用。可以通过基因位置信息文件中的第5列字段添加颜色信息来实现。支持类似“black”“red”“gray”等颜色单词或者网页颜色代码“#00dd00”。
(6)若gene id与染色体之间的空隙感觉有点大了,如何减少?可通过增加或减少 gene id下方的margin参数进行调整。
(7)若基因名称过于密集,黑乎乎一片,出现了重叠,如何解决?软件已设定了一些参数,可以避免gene id之间的重叠。若依然出现了重叠,可以通过增加chromosome下的height参数值。注意:single chromosome container中的height始终要大于chromosome的height值,建议>=100。这里涉及尺寸的单位,均为像素pix。所以调整了chromosome的height,记得同时调整chromosome container中的height值,否则可能 出现部分染色体不显示的情况。
上面说了一些紧要的事情,后面再说一下在线工具的每一项参数的具体意义,如果上面就能解决您所碰到的问题,下面的内容完全可以省略。
首先对高频次的长单词进行简化:染色体=Chr=chromosome;
连线= connection between gene id and gene line,这是基因名称与基因位置线之间的连线。
到这里,软件的相关介绍就结束了。
题外话:MG2C的工具功能很简单,就是在线画图,没想到这么受大家的欢迎。目前软件已稳定运行超过3年了,有效使用记录近4万,独立IP已有2万多,以国内为主,还有不少国外的朋友。谢谢大家的捧场。
写软件纯粹是个爱好,把工作碰到的问题记录下来,闲下来就在想看能不能用程序的方式解决,是否值得与大家共享。零零散散写了几十个工具,多数都是自己能用,没空单独整理。
下一步计划,工作中碰到基因在不同时间段有基因表达变化,如何将每个基因的变化趋势用一张小图表示出来,且能批量展示。EXCEL可以放在一张图里展示所有基因的变化趋势,不是自己想要的。用Perl+SVG也做了一个工具,可以实现,看后期是整理成在线工具,还是单机工具。先看下效果图吧,目前只是第一版,还在完善中,后续会整理出来进行分享。