重磅更新!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阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352

推荐阅读更多精彩内容