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

写在前面

前述,我已提及,元旦假期我做了一个有趣的事情。亦即,为 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。创造,是一件让人快乐的事情。期望,大伙一起来享受这个过程。让更多人不再受生信数据分析困扰。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,809评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,189评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,290评论 0 359
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,399评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,425评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,116评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,710评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,629评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,155评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,261评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,399评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,068评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,758评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,252评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,381评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,747评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,402评论 2 358

推荐阅读更多精彩内容