写在前面
数日前,在生信札记微信群中,有一人问如何画一个略丑的图片
从图片来看,即小RNA的reads展示在染色体上,并用长度做可视化。这个需求,其实拿起任何一门语言,手写一个.svg就可以搞定了。只是读取read alignment数据想想比较辛苦。有比较便捷的方式,那么就是直接使用JBrowser。
我们课题组前面的New Phytologist发表的那个文章,在某次审稿过程中,审稿人要求看数据(正常要求之一,即使我们已经给了accession num)。最终就是直接用JBrowser快快安了一个插件,并返修(然而....,所以后面走到NewP...当然这个跟JBrowser其实没有联系)。
年代久远,早已找不回来那个图了(毕竟感觉一般)。
不过,在这个更早的事情,那会才与现在导师认识,我们便做了一个事情,即直接改IGV的源码,以实现某些功能,其中一个并没有什么意义的功能,事实就是这个。
图中,红色,蓝色,绿色,橙色,灰色 分别对应 20-24 nt 的reads
这个区间,怎么说,h是一个21 nt的phasiRNAs 产生区间。
今天推这个帖子,就是想说,其实这个很简单。有基本的编程功底,一下子就实现了。
下载IGV的源码
直接到github下载.zip文件,随后解压
https://github.com/igvteam/igv/
下载IGV源码的主要原因在于...确实方便....
安装IntelliJ IDEA
下载并安装社区版本即可
https://www.jetbrains.com/idea/
安装IntelliJ的主要原因是,从github上来看,IGV开发群体,似乎就是用的IntelliJ(虽然我还是用Netbeans...业余无解)
事实上,写Java多数人都知道,IntelliJ其实是最好的Java开发IDE。
导入IGV项目
解压IGV的源码项目安装包之后,直接从IntelliJ导入Project即可
找到并修改源码
随后稍微看下源码,很快可以找到....
image.png
或许是因为我之前已经尝试自己设计,从零写起两个基因组浏览器,基本是拿不出手,最后先放下。但是失败的经验也是经验,我发现,我的思路和实现逻辑总是跟其他一些软件的实现逻辑是类似的,说明我的设计是没问题的。Anyway,反正很容易就找到了AlignmentReader这个类,加了几行代码。
构建并打包
修改好之后,直接Build(Build的这一步...如果是直接用Netbeans,那么需要解决一些Test类的路径问题,直接用IntelliJ则不会有问题)
<用JDK8的话,exclude java9 相关的码,或者是...删除即可>
基于官网的说明,直接使用gradle在源码主目录,命令行环境打包即可
随后,即可直接得到改造过的IGV
写在后面
总的来说....确实只要一点点编程基础,就可以自己改造出一个自己需要的IGV....
当然,这个或许跟编程学习一样,稍微写写是很简单的,写好了太难。也跟生信分析是一样的,稍微做做,人人都会(做或者教)。但是深入的分析,则完全不同。
接触这个困境,或许对于做生物学问题的人来说,
- 合作
- 跑跑流程,从生物学的视角审视结果,解读结果。
网友评论