分享

套壳 | 加密你的 R 脚本 ~ TBtools R Plugin 分发

 生信药丸 2021-07-26

写在前面

年前,在 TBtools 中释放了 Rserver Plugin,从此任何朋友都可以在基于自己手上的 R 脚本,在极短的时间内完成脚本 -> 界面化。这事实上符合 TBtools 开发的初衷,即降低甚至拆除生信分析门槛。为了,已有不少志同道合的老铁用户,无私分享了自己的R脚本。他们贡献了十来个 R 插件,可以完成各式各样的分析,如下

可以看到,其中包括了

  • 基因富集分析解雇哦可视化

  • 一键WGCNA分析(即基因共表达网络构建)

  • 优雅的柱形图绘制

  • 样品距离观测

  • 样品相关性分析

  • 基因差异表达分析

  • 桑基图

  • 。。。

事实上,可以有更多......在此期间,大伙也提供了不少建议,我对应优化了 Rserver Plugin 模块。

并不优雅的 TBtools R Plugin 实现模式

大伙如果使用过 TBtools 的 R Plugin,就会发现基本逻辑简单,只是调用一个命令行,类似运行
Rscript XXX.r
所以,几乎所有代码都在XXX.r中。这个脚本,也可以直接在 TBtools Plugin 目录中找到。

打开对应的bubbleplot.R文件,可以直接查看源码。这是一个老铁王骁贡献的一个shiny插件,也是第一个 TBtools R-shiny Plugin,感兴趣的朋友,可以翻阅前述推文《『TBtools-plugin』与shiny App联姻小试牛刀》,效果如下

一切看起来都是美好的。但我一直并不满意。因为 TBtools R Plugin 存在本身只是让老铁用户朋友们纯粹地贡献出自己的工作成果,更或者说,在某些情况下,有被白嫖的感觉,更甚至,会被抄袭。。有在微信生信分析相关圈子混迹的,多少有了解过一些 R脚本 被抄袭的瓜。而我不希望这些事情发生在老铁用户们身上。于是,想到了一个办法,并实现他。

套壳 R 脚本

现在 TBtools R Plugin 制备插件更新了,同时增加了一个新成员。

RscriptEncryptor.jar,在插件作者制备好插件之后,可以直接双击运行这个 JAR 文件(需要系统已安装Java),那么会弹出窗口,

按照其中图稿,直接拖拽放置 R 脚本,点击 Start,即可在脚本同一目录下,看到对应加密后的脚本。这里我们可以尝试打开加密后的脚本看看,

所以源码再也看不到了(当然,反编译-破解可以....只是这种情况相信很少发生,既然有这能力,自己写不香吗?哈哈)
加密完成后,两个事情:

  1. 修改config文件,调整对应的 R 脚本名字

  2. 删除原 R 脚本

搞定了。可以回到 TBtools 运行该插件。

没问题,注意到,期间并不存在Rscript XXX.r的过程,所以使用任何文本检索工具,如everything实时监测,也并不可能找到对应脚本文件(因为本来就没有....)
搞完了

写在最后

分享的时候,每个人都要学会保护自己,尤其是成果可能有一天要用于发表~~~在这点上,我已经受过几次伤,不希望大伙和我一样。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章