IGV-基因組瀏覽器-改造記錄(七)

寫(xiě)在前面

活著的軟件尚镰,不會(huì)停止更新。只是每一個(gè)軟件更新(對(duì)外開(kāi)放新版本)的頻率不同反番。曾經(jīng)TBtools平均每天一更,當(dāng)然現(xiàn)在已經(jīng)很長(zhǎng)時(shí)間不更新了叉钥,或者確切地說(shuō)罢缸,并不那么頻繁地推出新版本了。這或許有兩個(gè)方面的原因:

  1. 經(jīng)過(guò)大部分用戶的測(cè)試和使用投队,軟件的大多數(shù)常用功能魯棒性較好枫疆,不會(huì)有程序上的問(wèn)題,所以無(wú)需更新敷鸦;
  2. 常見(jiàn)的需求會(huì)被提出息楔,但需求類型是有限的。TBtools從某個(gè)角度來(lái)說(shuō)扒披,其實(shí)只是做了以前一切公司不愿意去做的事情值依,比如解決一些序列提取,自定義集合富集分析碟案,Blast和系列可視化等(當(dāng)然愿险,現(xiàn)在很多公司的云平臺(tái)也可以做,但是你也會(huì)發(fā)現(xiàn)价说,來(lái)來(lái)去去也就是那些功能)辆亏。

但回過(guò)來(lái)說(shuō),軟件的新版本推出又是必須的鳖目,這或許是另外三方面的原因:

  1. 已有的功能存在不足扮叨,必須盡快更新,或者說(shuō)是bugs fixing疑苔。這也是我一直希望所有人跟上TBtools的最新版本甫匹,雖然很少人接收到我的信息。這可能是因?yàn)椋?strong>TBtools本身用戶使用邏輯就是惦费,打開(kāi)兵迅,使用,關(guān)閉薪贫,換句話說(shuō)恍箭,有種日拋型隱形眼鏡感覺(jué)。
  2. 常見(jiàn)的需求是有限的瞧省,但新的需求是可以開(kāi)發(fā)的扯夭,比如前面TBtools推出的掰彎的熱圖鳍贾,似乎還是有不少用戶需求。但是至少交洗,從目前來(lái)看骑科,并不存在哪個(gè)公司或者云平臺(tái)去做這個(gè)事情」谷或許有一天大家也都能做呢咆爽?(事實(shí)上,似乎沒(méi)有人注意到置森,TBtools掰彎的熱圖可以從命令行直接出圖斗埂,這意味著存在一些公司,完全可以通過(guò)調(diào)用凫海,直接輸出掰彎的熱圖)呛凶。
  3. 已有的特性增強(qiáng),較大地提高軟件功能和用戶體驗(yàn)行贪。正如今天推送的主要內(nèi)容漾稀,我們課題組基于植物small RNA測(cè)序數(shù)據(jù)深度挖掘需求而設(shè)計(jì)的IGV-sRNA。

前述建瘫,可見(jiàn)標(biāo)題县好,我們已經(jīng)對(duì)IGV進(jìn)行了六次改造,得到了IGV-sRNA v0.1.6暖混,課題組做小RNA數(shù)據(jù)深度挖掘的需求已經(jīng)滿足,但在使用過(guò)程中翁授,我們?nèi)匀话l(fā)現(xiàn)一些問(wèn)題(用戶基數(shù)太小拣播,暫時(shí)僅限于XiaLab和合作課題組,所以問(wèn)題發(fā)現(xiàn)的速度也慢收擦,這與TBtools形成鮮明對(duì)比)贮配。既然發(fā)現(xiàn)了問(wèn)題,那么我們就又對(duì)IGV-sRNA進(jìn)行了第七次較大的改造塞赂,從而得到IGV-sRNA v0.2.x泪勒。

改造結(jié)果

更低的內(nèi)存需求,更多的數(shù)據(jù)加載能力

IGV在進(jìn)行讀段數(shù)據(jù)可視化時(shí)宴猾,為了節(jié)省內(nèi)存圆存,其會(huì)對(duì)Read進(jìn)行DownSample。這個(gè)本身沒(méi)問(wèn)題仇哆,但這就意味著沦辙,在Track中可使用的數(shù)據(jù),是已經(jīng)采樣的數(shù)據(jù)讹剔,無(wú)法用于正確地進(jìn)行其他Track如ReadLen或Phas Score的計(jì)算油讯。在IGV-sRNA v0.1.x中(尤其是后期版本)详民,我們采用的是重量級(jí)操作,直接在上游保存所有Reads到內(nèi)存陌兑。這看起來(lái)似乎并沒(méi)有問(wèn)題沈跨,但事實(shí)上會(huì)直接造成內(nèi)存占用的快速提升,同時(shí)卡頓的現(xiàn)象非常明顯(jvm的GC效率并不高)兔综。尤其體現(xiàn)在32位的操作系統(tǒng)中饿凛。在這里可能會(huì)有朋友認(rèn)為,那我們可以直接在Track中調(diào)用AlignmentFileReader邻奠,重新讀取笤喳。這里則會(huì)涉及兩個(gè)問(wèn)題,IGV本身涉及邏輯考慮了交互體驗(yàn)碌宴,同一個(gè)窗口不同的Tracks有延時(shí)裝載杀狡,在LoadData上對(duì)讀取邏輯進(jìn)行了優(yōu)化,這就使得我們?cè)黾痈嗟刈x取步驟贰镣,要么就強(qiáng)行讀取呜象,導(dǎo)致異常;要么就同步進(jìn)去碑隆,直接增加了使用時(shí)間恭陡,失去意義。當(dāng)然上煤,這里還有一個(gè)I/O速度的問(wèn)題休玩。總的來(lái)說(shuō)劫狠,我們使用了另外的邏輯拴疤,完成了這個(gè)問(wèn)題的處理。所以現(xiàn)在基本上并不需要有多少內(nèi)存的使用独泞,即使你有再多的數(shù)據(jù)輸入(比如我們將100個(gè)擬南芥sRNA sequencing data合并成bam作為輸入)呐矾。

更好的collasped數(shù)據(jù)解析邏輯

在IGV-sRNA v0.1.x中,我們只在IGV中對(duì)collasped的數(shù)據(jù)進(jìn)行實(shí)時(shí)解析懦砂,這是一個(gè)邏輯蜒犯,但整體上其實(shí)增加了IGV讀取Read Alignment數(shù)據(jù)的耗時(shí)。在IGV-sRNA v0.2.x中荞膘,我們直接修改htsjdk(這主要是IGV使用了它罚随,我們課題組有自己的sambam解析類),從讀取的層次直接解析衫画,同時(shí)并不會(huì)增加內(nèi)存的占用毫炉。這對(duì)small RNA測(cè)序來(lái)說(shuō)是一個(gè)不錯(cuò)的選擇。collpased數(shù)據(jù)的mapping作為IGV數(shù)據(jù)削罩,我們可以減少硬件IO的次數(shù)瞄勾,而增加內(nèi)存中解析的次數(shù)费奸,這是有賺無(wú)賠的操作。當(dāng)然更不談沒(méi)有collasped和collasped之后的數(shù)據(jù)在readmapping和數(shù)據(jù)傳輸時(shí)的時(shí)間差进陡。我們自然不能不知道愿阐,read mapping在很多時(shí)候mapping是一個(gè)問(wèn)題,IO更是一個(gè)問(wèn)題趾疚。

更合理的Read Len Dots Track展示方式

在前述缨历,我們?cè)贗GV中增加了Read Length Track,這個(gè)track可以很好的辨識(shí)每個(gè)位點(diǎn)糙麦,匹配的不同長(zhǎng)度的Reads的豐度辛孵,無(wú)論是在miRNA或者是phasiRNAs來(lái)源位點(diǎn)的觀測(cè)上,效果均較好赡磅。但是在之前的版本中魄缚,我們并沒(méi)有區(qū)分正反鏈,這樣看起來(lái)并不清晰焚廊,尤其是對(duì)于PHAS loci冶匹。在新的版本中,我們將比對(duì)到正反鏈的Read Dots分開(kāi)展示咆瘟,同時(shí)在中間加一條線嚼隘。可以很好的區(qū)分正反鏈袒餐。


更好的豐度指示方式

在IGV-sRNA中做數(shù)據(jù)探索時(shí)飞蛹,我們常常會(huì)遇到這么一種情況,下圖(擬南芥TAS3)灸眼,


可以看到桩皿,這整個(gè)位點(diǎn)有一個(gè)極高豐度的讀段,使得其他點(diǎn)無(wú)法被清晰的查看幢炸。我們很清楚,這是一個(gè)PHAS位點(diǎn)拒贱。所以此時(shí)宛徊,我們打開(kāi)IGV-sRNA的Real time Phas Score calculation track,或者是直接對(duì)ReadLen Track逻澳,進(jìn)行Set DataRange闸天,如設(shè)置1000,得到以下

這樣的效果就比較明顯斜做,有小RNA數(shù)據(jù)分析經(jīng)驗(yàn)的可以大體判斷出其很可能是phas位點(diǎn)苞氮。上圖出來(lái),其實(shí)很明顯瓤逼,我們可能無(wú)法判斷該位點(diǎn)的豐度到底是超過(guò)1000笼吟,還是接近于1000库物,所以,我們又增加了特性贷帮,使用三角形展示豐度更高的數(shù)值戚揭。

事實(shí)上,我們從這些三角型的分布方式撵枢,就可以更確定民晒,是Phas位點(diǎn)無(wú)誤。

更智能的auto-scale

上述锄禽,我們使用1000作為最大值潜必,但他對(duì)當(dāng)前位點(diǎn)有用(示例數(shù)據(jù)是1000套sRNA sequencing data,所以豐度都很高)沃但,并不是每個(gè)位點(diǎn)都比較有效磁滚。比如另外低豐度的位點(diǎn),我們可能需要設(shè)置150绽慈『藓担基于這個(gè)需求,我們?cè)贗GV-sRNA v0.2.x中增加了選項(xiàng)坝疼,Top50 as MaxRange搜贤。也就是把豐度排名前第50的豐度作為當(dāng)前區(qū)間的最高豐度。這樣我們就可以在很多時(shí)候钝凶,減少用戶的Set DataRange操作仪芒,如下


更快的Phas Score 實(shí)時(shí)計(jì)算邏輯

無(wú)論上述我怎么說(shuō)ReadLen Track的查看,在Phas位點(diǎn)的鑒定上有多大用處耕陷,但都不是解決的根本掂名。更好的辦法是查看Phas Score的分布。在官方的IGV中哟沫,用戶一般需要對(duì)每套數(shù)據(jù)自行計(jì)算好Phas Score的BedGraph文件(一般是Mb級(jí)的文本)饺蔑,隨后導(dǎo)入IGV,這不僅增加了處理復(fù)雜度嗜诀,更增加了內(nèi)存的使用猾警。最好的方式是實(shí)時(shí)計(jì)算。在IGV-sRNA v0.1.x中隆敢,我們已經(jīng)實(shí)現(xiàn)了Phas Score Calc. in Fly-time发皿。用戶只需像正常使用IGV一樣拖動(dòng)即可同步查看任意位點(diǎn)的Phas Score情況,但之前的計(jì)算邏輯相對(duì)重量拂蝎,見(jiàn)上文穴墅。在IGV-sRNA v0.2.x中,我們啟用新邏輯后,現(xiàn)在幾乎實(shí)現(xiàn)零延遲玄货,目前測(cè)試效果是毫無(wú)卡頓感皇钞。總的來(lái)說(shuō)誉结,這是一個(gè)非常重大的增強(qiáng)鹅士。

更清晰的Phas Score Tracks可視化方式

在前述版本,我使用的是Bar Plot去繪制Phas Score惩坑,但這點(diǎn)與博士導(dǎo)師(Dr.Xia)的觀點(diǎn)有不一致掉盅。其提出,往往在發(fā)表論文中以舒,我們使用的Line Plot趾痘。當(dāng)然,這是一個(gè)事實(shí)蔓钟。一開(kāi)始我是抗拒的永票,但實(shí)現(xiàn)起來(lái)其實(shí)難度并不是很大。于是我增加了Options滥沫。



具體博導(dǎo)可以用他喜歡的Line Plot侣集,我可以用我喜歡的Bar plot。當(dāng)然兰绣,似乎我現(xiàn)在也接受世分,Line Plot似乎確實(shí)更好看。這主要是因?yàn)閟econdary PhasiRNAs的Peaks確實(shí)在lIne Plot中更容易辨識(shí)缀辩。

一個(gè)更優(yōu)秀的IGV-sRNA臭埋,即v0.2.x

寫(xiě)在最后

馬上就是暑期了,提前祝大家暑期快樂(lè)臀玄,科研順利瓢阴!

修改版IGV的獲取方式

近日有多個(gè)朋友聯(lián)系過(guò)來(lái),想要使用這個(gè)改造后的IGV健无。嗯...
我個(gè)人的想法是:

  1. 付費(fèi)荣恐,如資助XiaLab課題組出游一次,大體價(jià)格是3K累贤,那么將獲得本年度(如果還有更細(xì)的話)的我經(jīng)手的IGV更新功能募胃。
  2. 直接聯(lián)系課題組PI即RX獲取,課題組主頁(yè)為 http://xialab.scau.edu.cn/
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末畦浓,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子检疫,更是在濱河造成了極大的恐慌讶请,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異夺溢,居然都是意外死亡论巍,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)风响,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)嘉汰,“玉大人,你說(shuō)我怎么就攤上這事状勤⌒常” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵持搜,是天一觀的道長(zhǎng)密似。 經(jīng)常有香客問(wèn)我,道長(zhǎng)葫盼,這世上最難降的妖魔是什么残腌? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮贫导,結(jié)果婚禮上抛猫,老公的妹妹穿的比我還像新娘。我一直安慰自己孩灯,他們只是感情好闺金,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著钱反,像睡著了一般掖看。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上面哥,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天哎壳,我揣著相機(jī)與錄音,去河邊找鬼尚卫。 笑死归榕,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吱涉。 我是一名探鬼主播刹泄,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼怎爵!你這毒婦竟也來(lái)了特石?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤鳖链,失蹤者是張志新(化名)和其女友劉穎姆蘸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逞敷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年狂秦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片推捐。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡裂问,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出牛柒,到底是詐尸還是另有隱情堪簿,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布焰络,位于F島的核電站戴甩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏闪彼。R本人自食惡果不足惜甜孤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望畏腕。 院中可真熱鬧缴川,春花似錦、人聲如沸描馅。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)铭污。三九已至恋日,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嘹狞,已是汗流浹背岂膳。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留磅网,地道東北人谈截。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像涧偷,于是被迫代替她去往敵國(guó)和親簸喂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 寫(xiě)在前面 前述燎潮,我們已經(jīng)對(duì)IGV進(jìn)行了超過(guò)三次改造喻鳄,同時(shí)我也寫(xiě)了三個(gè)推送。寫(xiě)IGV改造系列推送的主要原因确封,事實(shí)是作...
    生信石頭閱讀 1,653評(píng)論 1 4
  • 寫(xiě)在前面 經(jīng)過(guò)了前面的五次IGV改造除呵,我以為這個(gè)系列可能就到此為止了唉锌。然而在近期的數(shù)據(jù)分析過(guò)程中,我們?nèi)匀话l(fā)現(xiàn)了一...
    生信石頭閱讀 1,156評(píng)論 0 9
  • 我一直都相信竿奏,只要有足夠長(zhǎng)的時(shí)間,沒(méi)有什么事情是我們做不到的腥放。我也明白泛啸,人的生命是有限的,所以追求的東西應(yīng)該盡可能...
    生信石頭閱讀 4,375評(píng)論 1 17
  • IGV( Integrative Genomics Viewer)是一款針對(duì)高通量測(cè)序數(shù)據(jù)進(jìn)行可視化的專業(yè)軟件秃症。 ...
    shannonnana閱讀 23,047評(píng)論 2 29
  • 這篇文章寫(xiě)于18年候址,還沒(méi)有重新更新,再度發(fā)出來(lái)种柑,希望給類似的伙伴一點(diǎn)安慰吧岗仑。你們看,抑郁癥不是什么了不起的聚请,跟高血...
    夜寧閱讀 426評(píng)論 1 3