写在前面
前述,我已提及,元旦假期我做了一个有趣的事情。亦即,为 TBtools 量身打造了一个跨平台的 Rsever 插件(windows 和 MacOS)用户均可使用。经过了系列测试,目前已经对外释放。插件本身无实际作用,但却可以使得任何人都可以在这个插件的基础上,快速打造属于自己的 TBtools R plugin !同时还可以分享给课题组的朋友,分享给所有 TBtools 用户。
为了让这个过程看起来更为简单,我决定写一个示例教程,并期望这个教程能激发所有人的想法,一起来拆除而不仅仅是降低生物信息数据分析门槛!。
自制插件示例效果
制作插件的门槛极其低,你需要的几乎只有一个东西,即一个 R 脚本。大体效果如下
1. 准备一个 R 脚本
我们要分发的是 TBtools R Plugin,对 R 脚本的要求很简单,此处给出一个标准示例。
argv <- commandArgs(TRUE) # 此行必须
expfile <- argv[1] # 参数 1
title <- argv[2] # 参数 2
logTran <- argv[3] # 参数 3
colorSet <- 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)
expfile
expMat<-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 界面
可以看出,非常简单,大体如下:
- 等于号“=”用作分隔符
-
App
对应的功能的名字,插件作者随意定,最好是外文和数字 -
Script
对应的是插件目录下的 R 脚本(即上述脚本)名字,注意大小写 -
Icon
,此项是可选项,插件作者可以放上自己的二维码,更或者直接使用自己的文本名字,TBtools 会自动识别
剩余的内容为不同的参数类型,大体如下:
-
File
对应的是输入文件,Set a Tab-delimited Table
对应的是最终界面上的提示,TBtools会自动生成一个输入文件框,用户可以直接输入一个文件,后者黏贴文本 -
Text
让用户输入一些文本,其实也可以是数字等等,对应的Plot Title:
是提示信息,而R-ggplot2 BarPlot
是默认信息 -
CheckBox
,有时候我们需要用户选择,Yes或No,比如是否取log。那么可以用这个类型。注意 R 脚本中要做下解析。 -
Choice
,当然,更多时候,是要提供给用户一些可选项。
在这个配置文件下,我们就可以直接对应到界面
注意,每种输入类型可以重复,比如有两个输入文件,那么就可以File
云云。TBtools 强制存在工作目录。这是要求插件的最终用户设置的内容。建议插件作者注意到这个工作目录,因为存在这个工作目录,那么我们保存文件可以直接使用文件名,无需给任何路径。比如脚本中,我们简单的用pdf("out.pdf")
就可以,而具体存放位置,用户自行决定位置。
具体插件制作过程
首先,获取 Demo.zip 插件文件,可以从 TBtools 使用交流群群共享下载。
解压该文件到当前目录,进入该目录并修改其中信息,如:
- 修改R脚本,或替换
- 替换icon,或者删除icon等
- 对应的,修改
config.txt
文件
...
随后,将整个目录压缩为zip格式。注意,压缩时要压缩目录,而不是直接压缩所有文件。如
最后,为了避免插件用户不小心解压插件,随后错误安装插件。直接修改文件后缀名,从.zip
变成.plugin
。当然,如果你懒得管,那么你也可以不修改。
如此,你的插件已经制作完成
分发与插件使用
插件可以分发给课题组的人使用,给所有TBtools用户使用,也可以自己使用。具体只需要通过 TBtools
-> Other
-> Plugin
-> Install Plugin
,弹出对话框,拖拽放置或选择制备好的插件即可。不了解这一过程的朋友,建议翻翻 生信札记 公众号 历史推文...
一些想法
正如前述推文《重磅更新!Rserver 插件 for TBtools》中提及,Rserver 插件的基本完成,我想做的事情都做了,剩下的还是看大伙的。
上述提及的Icon
,以及图片或文本的设置选项,我是今天临时想到的。其实原因很简单。我们乐于分享,但每个人的劳动都应该得到尊重。
增加了Icon
的界面化参数,那么每一位插件作者,可以将自己的二维码放上去,公众号的,或者其他的。更或者放上自己的名字?单位?甚至,如果是公司的朋友,可以直接放上公司的Logo,更或者主页链接云云。当然,放上插件作者的赞赏二维码是我最为推荐的。
甚至,我个人也不反对,大伙自己制作插件,自己有偿分发!
欢迎任何人贡献 TBtools R Plugin 并联系我,我个人会辅助在生信札记公众号上宣传这个插件....
写在后面
或许从幼儿园开始,我就只喜欢做一件事情。Make Something。创造,是一件让人快乐的事情。期望,大伙一起来享受这个过程。让更多人不再受生信数据分析困扰。
网友评论