教程 | 来吧!分发你的 R 脚本,让2w+人受益!

写在前面

前述,我已提及,元旦假期我做了一个有趣的事情。亦即,为 TBtools 量身打造了一个跨平台的 Rsever 插件(windowsMacOS)用户均可使用。经过了系列测试,目前已经对外释放。插件本身无实际作用,但却可以使得任何人都可以在这个插件的基础上,快速打造属于自己的 TBtools R plugin !同时还可以分享给课题组的朋友,分享给所有 TBtools 用户。
为了让这个过程看起来更为简单,我决定写一个示例教程,并期望这个教程能激发所有人的想法,一起来拆除而不仅仅是降低生物信息数据分析门槛!。

自制插件示例效果

制作插件的门槛极其低,你需要的几乎只有一个东西,即一个 R 脚本。大体效果如下

1. 准备一个 R 脚本

我们要分发的是 TBtools R Plugin,对 R 脚本的要求很简单,此处给出一个标准示例。

argv <- commandArgs(TRUE) # 此行必须expfile <- argv[1] # 参数 1 title <- argv[2] # 参数 2logTran <- argv[3] # 参数 3colorSet <- argv[4] # 参数 4## 所有依赖包应当检测并安装if (!require('ggplot2')) install.packages('ggplot2', repos='https://mirrors.tuna.tsinghua.edu.cn/CRAN/')if (!require('reshape2')) install.packages('reshape2', repos='https://mirrors.tuna.tsinghua.edu.cn/CRAN/')## 加载 - 剩余部分与所有普通 R 脚本无异library(ggplot2)library(reshape2)expfileexpMat<-read.table(expfile,header = T,sep="\t")head(expMat)expMat<-melt(expMat)if(logTran=="true") expMat$value<-log(expMat$value+1)p<-ggplot(expMat)p+geom_density(aes(x=value,fill=variable),alpha=I(1/4))+ labs(title=title)+ scale_fill_brewer(palette=colorSet)

此处暂时无需担心输出文件路径云云

2. 复制一份 RguiPluginMaker.jar

这个文件是通用的,直接从 Demo Plugin 中获取即可。

3. 配置 GUI 界面

可以看出,非常简单,大体如下:

  1. 等于号“=”用作分隔符

  2. App对应的功能的名字,插件作者随意定,最好是外文和数字

  3. Script对应的是插件目录下的 R 脚本(即上述脚本)名字,注意大小写

(0)

相关推荐