重磅更新阎抒!Rserver 插件 for TBtools

寫(xiě)在前面

知道我的朋友,相信都有了解消痛,元旦假期某晚凌晨且叁,我突發(fā)起來(lái),折騰了一個(gè)困擾我很久很久的問(wèn)題秩伞,并解決了他逞带。
2015年,TBtools 開(kāi)發(fā)之前纱新,我寫(xiě)過(guò)一個(gè) Blast3GO掰担,主要用于 GO 注釋?zhuān)患治鲆约翱梢暬last3GO 實(shí)現(xiàn)的這些功能怒炸,基本都是調(diào)用環(huán)境中的 R带饱,于是存在四大問(wèn)題:

  1. 依賴(lài)用戶(hù)環(huán)境中的 R語(yǔ)言,換句話(huà)說(shuō)阅羹,要求用戶(hù)自己安裝 R
  2. 存在破壞用戶(hù)原有 R 語(yǔ)言環(huán)境的可能
  3. 無(wú)法實(shí)現(xiàn)絕對(duì)的版本控制勺疼,以至于無(wú)法保證用戶(hù)體驗(yàn)
  4. 確實(shí)不穩(wěn)定....

這些經(jīng)歷,使得我在開(kāi)發(fā) TBtools 之后捏鱼,追求絕對(duì)純粹的 Java 實(shí)現(xiàn)执庐。于是 TBtools 得以獲得某種程度的 便攜,簡(jiǎn)單导梆,簡(jiǎn)潔轨淌,高效。為了解決可視化問(wèn)題看尼,我自己從零實(shí)現(xiàn)了一個(gè)繪圖引擎递鹉,也就是大伙知道的 JIGplot,并一直堅(jiān)持優(yōu)化藏斩。所以躏结,我一直不想去打包任何可以不打包的軟件,更希望自己實(shí)現(xiàn)狰域。
然而媳拴,幾年過(guò)去了黄橘,我越來(lái)發(fā)現(xiàn),每個(gè)人的時(shí)間屈溉,精力是絕對(duì)有限的塞关。我可以自己寫(xiě)很多功能,卻無(wú)法做到絕對(duì)的全面子巾,比如轉(zhuǎn)錄組數(shù)據(jù)分析中的差異表達(dá)分析描孟。我們幾乎可以下個(gè)結(jié)論,幾乎全部差異表達(dá)分析軟件砰左,都是 R 包(盡管大伙還是知道有 gfold 的)匿醒。于是,我只有兩個(gè)選擇:

  1. 自己寫(xiě)缠导,這個(gè)不可能廉羔,也沒(méi)有意義,畢竟這個(gè)輪子造起來(lái)也不一定能得到認(rèn)可僻造,他不比可視化
  2. 打包 R憋他,windows下很簡(jiǎn)單,但是 macOS 呢髓削?TBtools 至少有 10% 的用戶(hù)是 MacOS 用戶(hù)

我希望的是 TBtools 繼續(xù)保持他的跨平臺(tái)竹挡,所以所有功能都是至少支持 windows + MacOS×⑻牛可以說(shuō)揪罕,元旦假期,我所有抽得出來(lái)的時(shí)間宝泵,加上我在過(guò)去一兩年好啰,嘗試失敗,再?lài)L試再失敗儿奶,還嘗試還失敗框往,繼續(xù)嘗試,繼續(xù)失敗的數(shù)次闯捎,得到的就是一個(gè)簡(jiǎn)單的東西椰弊。TBtools 的新插件“Rserver”。

插曲 - 更新 TBtools 版本

11月底瓤鼻,去版納植物園做了一場(chǎng) TBtools 培訓(xùn)秉版,培訓(xùn)期間發(fā)現(xiàn),TBtools 的插件安裝存在兩個(gè)優(yōu)化的點(diǎn):

  1. MacOS 的插件選擇界面娱仔,拖拽面板還是遮擋了文件選擇面板沐飘,這塊之前在邵揚(yáng)的提醒和幫助下游桩,原本是修復(fù)的牲迫,只是....代碼忘記啟動(dòng)耐朴。改動(dòng)前


  2. TBtools 插件分為兩類(lèi):小插件,無(wú)依賴(lài)盹憎,僅.jar文件筛峭。對(duì)于小插件,除非用戶(hù)確實(shí)沒(méi)事做陪每,回去解壓出來(lái)(盡管也沒(méi)啥用)影晓,否則都是順利安裝;大插件檩禾,有依賴(lài)挂签,于是我一般打包成.zip文件,然而還是存在不少人習(xí)慣性解壓縮盼产,最后導(dǎo)致插件沒(méi)有完整安裝饵婆。這不是好事。但可以理解戏售,畢竟侨核,任何人看到壓縮包(尤其是圖標(biāo)對(duì)應(yīng)上了)的第一反應(yīng)是解壓縮。改動(dòng)前灌灾,


    針對(duì)這兩點(diǎn)搓译,我做了優(yōu)化。首先是 MacOS 的插件安裝面板代碼生效锋喜;

    其次是進(jìn)一步支持了難以被自動(dòng)識(shí)別的文件后綴.plugin....這樣我相信就不會(huì)被解壓縮了...

Rserver 插件的安裝

目前這個(gè)插件已經(jīng)釋放到所有 TBtools 使用交流群(1-7些己,Emmm,數(shù)了一下嘿般,又回復(fù)到之前的狀態(tài)轴总,不過(guò)現(xiàn)在大伙都實(shí)名了,我相信應(yīng)該好得多)博个。直接在群共享下載最新版本的 TBtools_JRE1.6.jar怀樟,這個(gè) jar。更新到 TBtools v1.074盆佣。當(dāng)然往堡,如果你不更新,那就記得下載 Rserver.zip共耍,反正主程序跟插件耦合程度極低虑灰。
OK,拿到這個(gè)插件痹兜。就可以安裝穆咐。首先打開(kāi) TBtools


找到插件安裝位置,點(diǎn)擊Install Plugin

拖拽放置,或直接文本選擇摁鈕選擇之后对湃,點(diǎn)擊打開(kāi)崖叫,稍等一會(huì)即可(插件較大,大概180+Mb拍柒,Windows 和 MacOS 用戶(hù)通用一個(gè)插件P目)。

插件的使用

Rserver 插件拆讯,我原本想做的只是一個(gè)差異表達(dá)分析插件脂男,但從插件的體積來(lái)看,這樣并不合適种呐。畢竟以后任何人愿意貢獻(xiàn)出 R語(yǔ)言 腳本的宰翅,都可以制備成 TBtools 插件并分發(fā)。于是爽室,我調(diào)整計(jì)劃堕油,直接將 Rserver 插件作為一個(gè)將會(huì)被其他所有 R腳本 插件所依賴(lài)的插件來(lái)開(kāi)發(fā)。完美肮之。這樣我只需要細(xì)調(diào)測(cè)試插件即可(注意到掉缺,盡管我們有1w+人的社群,但我只召集到不超過(guò)20個(gè) MacOS 用戶(hù)幫忙測(cè)試戈擒;windows不用)眶明。
使用插件非常簡(jiǎn)單,首先是打開(kāi)插件


設(shè)置一個(gè)輸出目錄筐高,其他均不設(shè)置搜囱,這樣會(huì)啟動(dòng) Rserver 插件的測(cè)試腳本。

如此柑土,點(diǎn)擊Start之后蜀肘,輸出目錄會(huì)生成一個(gè)Rplot.pdf文件。稍微知道 R 使用的人就會(huì)清楚稽屏。只要沒(méi)設(shè)置繪圖文件路徑扮宠,同時(shí)又在命令行運(yùn)行,那么 R 會(huì)直接保存一個(gè)文件到 Rplot.pdf狐榔。打開(kāi)這個(gè)文件坛增,即可看到

當(dāng)然,加入你填入了一段 R 腳本薄腻,比如

https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/p.adjust

網(wǎng)頁(yè)上的這段代碼(邵揚(yáng)提到的)...


輸出結(jié)果如下

當(dāng)然收捣,你可以檢測(cè)和安裝一個(gè)R包(比如大家都愛(ài)的ggplot2
image.png

于是你會(huì)得到

關(guān)于拓展

我們完全可以預(yù)見(jiàn)這個(gè)插件將會(huì)帶來(lái)的功能絕對(duì)拓展:

  1. 只要一個(gè) TBtools 用戶(hù)能跑的 R碼,換另一個(gè) TBtools 用戶(hù)庵楷,一樣能跑罢艾,因?yàn)槠脚_(tái)完全固定
  2. 對(duì)于 R腳本來(lái)說(shuō)楣颠,絕大多數(shù)用戶(hù)進(jìn)行修改的,往往只是輸入輸出文件咐蚯,這點(diǎn)完全可以通過(guò) TBtools 快速打一個(gè) GUI 界面()
  3. Rserver 插件也直接支持用戶(hù)原始的 R腳本代碼童漩,換句話(huà)說(shuō),可以寫(xiě) R包依賴(lài)檢測(cè)與安裝仓蛆,可以直接在代碼中設(shè)置輸入輸出文件或目錄.... 甚至可以.....

寫(xiě)在后面

昨晚我陪吳老師看了一場(chǎng)電影睁冬。這是兩年來(lái)我們第一次能抽出時(shí)間看的一場(chǎng)完整的電影(盡管票價(jià)不低挎春,35一張)看疙。卡通電影還不錯(cuò)直奋,最近似乎有點(diǎn)火的能庆,《心靈奇旅》。從我的角度來(lái)看脚线,這部電影傳達(dá)一個(gè)理念或許就是:享受生活搁胆,活在當(dāng)下。
當(dāng)然邮绿,這并不太準(zhǔn)確渠旁。我們討論了一會(huì),多少讓我想起了我似乎從小學(xué)就開(kāi)始在思考的問(wèn)題船逮。即顾腊,

活著,為了什么挖胃?當(dāng)然史鐵生在《我與地壇》給出了一個(gè)不錯(cuò)的答案死是一件不必急于求成的事杂靶。
這段時(shí)間一直在路上,或許人生就是在路上酱鸭。

《心靈奇旅》一條主線(xiàn)吗垮,演繹了兩類(lèi)人:

  1. 人生中只有目標(biāo)
  2. 人生中毫無(wú)目標(biāo)

當(dāng)然,什么才是人生目標(biāo)凹髓?就不劇透了烁登,大伙感興趣的可以看看。
回到主題蔚舀。
關(guān)于 TBtools 的開(kāi)發(fā)防泵,盡管我一直有源源不斷的新的開(kāi)發(fā)想法,但如果說(shuō)我馬上進(jìn)入工作蝗敢,無(wú)法在其上投入過(guò)多捷泞。那么我會(huì)留下的只有兩個(gè)遺憾:

  1. 我希望能提供一個(gè)可能,TBtools 用戶(hù)能夠在相互分享 TBtools 相關(guān)的內(nèi)容寿谴,以前我想過(guò)是卡通熱圖锁右,后來(lái)...總之一直想一直失敗,但現(xiàn)在,我想 Rserver 插件馬上會(huì)提供這個(gè)可能咏瑟。
  2. 我寫(xiě)過(guò) EasyGUI 或 AutoGUI拂到,這兩個(gè)實(shí)現(xiàn)和想法,我一直沒(méi)有放下码泞,然而他們似乎并無(wú)用武之地 兄旬。但現(xiàn)在不會(huì)了,我相信很快余寥,這些想法也會(huì)用上领铐。

有時(shí)候,或許從技術(shù)層面來(lái)說(shuō)宋舷,你學(xué)過(guò)的想過(guò)的每一個(gè)點(diǎn)绪撵,都可能不會(huì)是白費(fèi)功夫。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末祝蝠,一起剝皮案震驚了整個(gè)濱河市音诈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌绎狭,老刑警劉巖细溅,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異儡嘶,居然都是意外死亡喇聊,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)社付,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)承疲,“玉大人,你說(shuō)我怎么就攤上這事鸥咖⊙喔耄” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵啼辣,是天一觀(guān)的道長(zhǎng)啊研。 經(jīng)常有香客問(wèn)我,道長(zhǎng)鸥拧,這世上最難降的妖魔是什么党远? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮富弦,結(jié)果婚禮上沟娱,老公的妹妹穿的比我還像新娘。我一直安慰自己腕柜,他們只是感情好济似,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布矫废。 她就那樣靜靜地躺著,像睡著了一般砰蠢。 火紅的嫁衣襯著肌膚如雪蓖扑。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,578評(píng)論 1 305
  • 那天台舱,我揣著相機(jī)與錄音律杠,去河邊找鬼。 笑死竞惋,一個(gè)胖子當(dāng)著我的面吹牛柜去,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碰声,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼诡蜓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼熬甫!你這毒婦竟也來(lái)了胰挑?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤椿肩,失蹤者是張志新(化名)和其女友劉穎瞻颂,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體郑象,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贡这,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了厂榛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盖矫。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖击奶,靈堂內(nèi)的尸體忽然破棺而出辈双,到底是詐尸還是另有隱情,我是刑警寧澤柜砾,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布湃望,位于F島的核電站,受9級(jí)特大地震影響痰驱,放射性物質(zhì)發(fā)生泄漏证芭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一担映、第九天 我趴在偏房一處隱蔽的房頂上張望废士。 院中可真熱鬧,春花似錦蝇完、人聲如沸官硝。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)泛源。三九已至拔妥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間达箍,已是汗流浹背没龙。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缎玫,地道東北人硬纤。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像赃磨,于是被迫代替她去往敵國(guó)和親筝家。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

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