重磅更新!Rserver 插件 for TBtools

寫在前面

知道我的朋友,相信都有了解,元旦假期某晚凌晨,我突發起來,折騰了一個困擾我很久很久的問題,并解決了他。
2015年,TBtools 開發之前,我寫過一個 Blast3GO,主要用于 GO 注釋,富集分析以及可視化。Blast3GO 實現的這些功能,基本都是調用環境中的 R,于是存在四大問題:

  1. 依賴用戶環境中的 R語言,換句話說,要求用戶自己安裝 R
  2. 存在破壞用戶原有 R 語言環境的可能
  3. 無法實現絕對的版本控制,以至于無法保證用戶體驗
  4. 確實不穩定....

這些經歷,使得我在開發 TBtools 之后,追求絕對純粹的 Java 實現。于是 TBtools 得以獲得某種程度的 便攜,簡單,簡潔,高效。為了解決可視化問題,我自己從零實現了一個繪圖引擎,也就是大伙知道的 JIGplot,并一直堅持優化。所以,我一直不想去打包任何可以不打包的軟件,更希望自己實現。
然而,幾年過去了,我越來發現,每個人的時間,精力是絕對有限的。我可以自己寫很多功能,卻無法做到絕對的全面,比如轉錄組數據分析中的差異表達分析。我們幾乎可以下個結論,幾乎全部差異表達分析軟件,都是 R 包(盡管大伙還是知道有 gfold 的)。于是,我只有兩個選擇:

  1. 自己寫,這個不可能,也沒有意義,畢竟這個輪子造起來也不一定能得到認可,他不比可視化
  2. 打包 R,windows下很簡單,但是 macOS 呢?TBtools 至少有 10% 的用戶是 MacOS 用戶

我希望的是 TBtools 繼續保持他的跨平臺,所以所有功能都是至少支持 windows + MacOS。可以說,元旦假期,我所有抽得出來的時間,加上我在過去一兩年,嘗試失敗,再嘗試再失敗,還嘗試還失敗,繼續嘗試,繼續失敗的數次,得到的就是一個簡單的東西。TBtools 的新插件“Rserver”。

插曲 - 更新 TBtools 版本

11月底,去版納植物園做了一場 TBtools 培訓,培訓期間發現,TBtools 的插件安裝存在兩個優化的點:

  1. MacOS 的插件選擇界面,拖拽面板還是遮擋了文件選擇面板,這塊之前在邵揚的提醒和幫助下,原本是修復的,只是....代碼忘記啟動。改動前


  2. TBtools 插件分為兩類:小插件,無依賴,僅.jar文件。對于小插件,除非用戶確實沒事做,回去解壓出來(盡管也沒啥用),否則都是順利安裝;大插件,有依賴,于是我一般打包成.zip文件,然而還是存在不少人習慣性解壓縮,最后導致插件沒有完整安裝。這不是好事。但可以理解,畢竟,任何人看到壓縮包(尤其是圖標對應上了)的第一反應是解壓縮。改動前,


    針對這兩點,我做了優化。首先是 MacOS 的插件安裝面板代碼生效;

    其次是進一步支持了難以被自動識別的文件后綴.plugin....這樣我相信就不會被解壓縮了...

Rserver 插件的安裝

目前這個插件已經釋放到所有 TBtools 使用交流群(1-7,Emmm,數了一下,又回復到之前的狀態,不過現在大伙都實名了,我相信應該好得多)。直接在群共享下載最新版本的 TBtools_JRE1.6.jar,這個 jar。更新到 TBtools v1.074。當然,如果你不更新,那就記得下載 Rserver.zip,反正主程序跟插件耦合程度極低。
OK,拿到這個插件。就可以安裝。首先打開 TBtools


找到插件安裝位置,點擊Install Plugin

拖拽放置,或直接文本選擇摁鈕選擇之后,點擊打開,稍等一會即可(插件較大,大概180+Mb,Windows 和 MacOS 用戶通用一個插件!)。

插件的使用

Rserver 插件,我原本想做的只是一個差異表達分析插件,但從插件的體積來看,這樣并不合適。畢竟以后任何人愿意貢獻出 R語言 腳本的,都可以制備成 TBtools 插件并分發。于是,我調整計劃,直接將 Rserver 插件作為一個將會被其他所有 R腳本 插件所依賴的插件來開發。完美。這樣我只需要細調測試插件即可(注意到,盡管我們有1w+人的社群,但我只召集到不超過20個 MacOS 用戶幫忙測試;windows不用)。
使用插件非常簡單,首先是打開插件


設置一個輸出目錄,其他均不設置,這樣會啟動 Rserver 插件的測試腳本。

如此,點擊Start之后,輸出目錄會生成一個Rplot.pdf文件。稍微知道 R 使用的人就會清楚。只要沒設置繪圖文件路徑,同時又在命令行運行,那么 R 會直接保存一個文件到 Rplot.pdf。打開這個文件,即可看到

當然,加入你填入了一段 R 腳本,比如

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

網頁上的這段代碼(邵揚提到的)...


輸出結果如下

當然,你可以檢測和安裝一個R包(比如大家都愛的ggplot2
image.png

于是你會得到

關于拓展

我們完全可以預見這個插件將會帶來的功能絕對拓展:

  1. 只要一個 TBtools 用戶能跑的 R碼,換另一個 TBtools 用戶,一樣能跑,因為平臺完全固定
  2. 對于 R腳本來說,絕大多數用戶進行修改的,往往只是輸入輸出文件,這點完全可以通過 TBtools 快速打一個 GUI 界面()
  3. Rserver 插件也直接支持用戶原始的 R腳本代碼,換句話說,可以寫 R包依賴檢測與安裝,可以直接在代碼中設置輸入輸出文件或目錄.... 甚至可以.....

寫在后面

昨晚我陪吳老師看了一場電影。這是兩年來我們第一次能抽出時間看的一場完整的電影(盡管票價不低,35一張)。卡通電影還不錯,最近似乎有點火的,《心靈奇旅》。從我的角度來看,這部電影傳達一個理念或許就是:享受生活,活在當下。
當然,這并不太準確。我們討論了一會,多少讓我想起了我似乎從小學就開始在思考的問題。即,

活著,為了什么?當然史鐵生在《我與地壇》給出了一個不錯的答案死是一件不必急于求成的事
這段時間一直在路上,或許人生就是在路上。

《心靈奇旅》一條主線,演繹了兩類人:

  1. 人生中只有目標
  2. 人生中毫無目標

當然,什么才是人生目標?就不劇透了,大伙感興趣的可以看看。
回到主題。
關于 TBtools 的開發,盡管我一直有源源不斷的新的開發想法,但如果說我馬上進入工作,無法在其上投入過多。那么我會留下的只有兩個遺憾:

  1. 我希望能提供一個可能,TBtools 用戶能夠在相互分享 TBtools 相關的內容,以前我想過是卡通熱圖,后來...總之一直想一直失敗,但現在,我想 Rserver 插件馬上會提供這個可能。
  2. 我寫過 EasyGUI 或 AutoGUI,這兩個實現和想法,我一直沒有放下,然而他們似乎并無用武之地 。但現在不會了,我相信很快,這些想法也會用上。

有時候,或許從技術層面來說,你學過的想過的每一個點,都可能不會是白費功夫。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內容