修改IGV基因組瀏覽器源碼,做一個(gè)自己需要的瀏覽器

寫在前面

數(shù)日前,在生信札記微信群中,有一人問如何畫一個(gè)略丑的圖片

從圖片來看,即小RNA的reads展示在染色體上,并用長度做可視化。這個(gè)需求,其實(shí)拿起任何一門語言,手寫一個(gè).svg就可以搞定了。只是讀取read alignment數(shù)據(jù)想想比較辛苦。有比較便捷的方式,那么就是直接使用JBrowser。
我們課題組前面的New Phytologist發(fā)表的那個(gè)文章,在某次審稿過程中,審稿人要求看數(shù)據(jù)(正常要求之一,即使我們已經(jīng)給了accession num)。最終就是直接用JBrowser快快安了一個(gè)插件,并返修(然而....,所以后面走到NewP...當(dāng)然這個(gè)跟JBrowser其實(shí)沒有聯(lián)系)。

年代久遠(yuǎn),早已找不回來那個(gè)圖了(畢竟感覺一般)。
不過,在這個(gè)更早的事情,那會(huì)才與現(xiàn)在導(dǎo)師認(rèn)識,我們便做了一個(gè)事情,即直接改IGV的源碼,以實(shí)現(xiàn)某些功能,其中一個(gè)并沒有什么意義的功能,事實(shí)就是這個(gè)。
圖中,紅色,藍(lán)色,綠色,橙色,灰色 分別對應(yīng) 20-24 nt 的reads


這個(gè)區(qū)間,怎么說,h是一個(gè)21 nt的phasiRNAs 產(chǎn)生區(qū)間。

今天推這個(gè)帖子,就是想說,其實(shí)這個(gè)很簡單。有基本的編程功底,一下子就實(shí)現(xiàn)了。

下載IGV的源碼

直接到github下載.zip文件,隨后解壓
https://github.com/igvteam/igv/
下載IGV源碼的主要原因在于...確實(shí)方便....

安裝IntelliJ IDEA

下載并安裝社區(qū)版本即可
https://www.jetbrains.com/idea/
安裝IntelliJ的主要原因是,從github上來看,IGV開發(fā)群體,似乎就是用的IntelliJ(雖然我還是用Netbeans...業(yè)余無解)
事實(shí)上,寫Java多數(shù)人都知道,IntelliJ其實(shí)是最好的Java開發(fā)IDE。

導(dǎo)入IGV項(xiàng)目

解壓IGV的源碼項(xiàng)目安裝包之后,直接從IntelliJ導(dǎo)入Project即可

找到并修改源碼

隨后稍微看下源碼,很快可以找到....


image.png

或許是因?yàn)槲抑耙呀?jīng)嘗試自己設(shè)計(jì),從零寫起兩個(gè)基因組瀏覽器,基本是拿不出手,最后先放下。但是失敗的經(jīng)驗(yàn)也是經(jīng)驗(yàn),我發(fā)現(xiàn),我的思路和實(shí)現(xiàn)邏輯總是跟其他一些軟件的實(shí)現(xiàn)邏輯是類似的,說明我的設(shè)計(jì)是沒問題的。Anyway,反正很容易就找到了AlignmentReader這個(gè)類,加了幾行代碼。

構(gòu)建并打包

修改好之后,直接Build(Build的這一步...如果是直接用Netbeans,那么需要解決一些Test類的路徑問題,直接用IntelliJ則不會(huì)有問題)
<用JDK8的話,exclude java9 相關(guān)的碼,或者是...刪除即可>

基于官網(wǎng)的說明,直接使用gradle在源碼主目錄,命令行環(huán)境打包即可


隨后,即可直接得到改造過的IGV

寫在后面

總的來說....確實(shí)只要一點(diǎn)點(diǎn)編程基礎(chǔ),就可以自己改造出一個(gè)自己需要的IGV....
當(dāng)然,這個(gè)或許跟編程學(xué)習(xí)一樣,稍微寫寫是很簡單的,寫好了太難。也跟生信分析是一樣的,稍微做做,人人都會(huì)(做或者教)。但是深入的分析,則完全不同。
接觸這個(gè)困境,或許對于做生物學(xué)問題的人來說,

  1. 合作
  2. 跑跑流程,從生物學(xué)的視角審視結(jié)果,解讀結(jié)果。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容