美文网首页TBtools使用
教程 | 来吧!分发你的 R 脚本,让两万人受益!

教程 | 来吧!分发你的 R 脚本,让两万人受益!

作者: 生信石头 | 来源:发表于2021-01-07 16:27 被阅读0次

写在前面

前述,我已提及,元旦假期我做了一个有趣的事情。亦即,为 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 界面


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

  1. 等于号“=”用作分隔符
  2. App对应的功能的名字,插件作者随意定,最好是外文和数字
  3. Script对应的是插件目录下的 R 脚本(即上述脚本)名字,注意大小写
  4. Icon,此项是可选项,插件作者可以放上自己的二维码,更或者直接使用自己的文本名字,TBtools 会自动识别

剩余的内容为不同的参数类型,大体如下:

  1. File对应的是输入文件,Set a Tab-delimited Table对应的是最终界面上的提示,TBtools会自动生成一个输入文件框,用户可以直接输入一个文件,后者黏贴文本
  2. Text让用户输入一些文本,其实也可以是数字等等,对应的Plot Title:是提示信息,而R-ggplot2 BarPlot是默认信息
  3. CheckBox,有时候我们需要用户选择,Yes或No,比如是否取log。那么可以用这个类型。注意 R 脚本中要做下解析。
  4. 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。创造,是一件让人快乐的事情。期望,大伙一起来享受这个过程。让更多人不再受生信数据分析困扰。

相关文章

网友评论

    本文标题:教程 | 来吧!分发你的 R 脚本,让两万人受益!

    本文链接:https://www.haomeiwen.com/subject/tqpzoktx.html