我的折腾 与 TBtools-II 的开发

d62fbca806bb50fd7ca464b0c3bb7b4a.png

今日事件

是的,TBtools-II 论文 Online 了。相比于 TBtools-I 论文(2020年)见刊时的心情,兴许并没有那么激动,尽管,我仍然觉得非常高兴。一方面是对我们过去三年工作的认可,是对30万用户支持的认可;另一方面有一不一定有二,而我们已经做出来 II,就完全有信心做 III 甚至 IV,V,VI....云云。 

8664bfb8a86a8e0c84a56313c751b151.png

很多时候,我们做的工作得到认可,这个认可本身很重要。不然,也不至于三年前,我会写下来《我的挣扎与TBtools的开发》。今天的内容会相对平淡一些,但也是记录这三年间的 TBtools 的完善与我的三年生活的部分碎片。

或许有人会疑问,你写TBtools就写TBtools呗,总扯上你自己的生活干什么?原因很简单,我不得不承认,写TBtools就是我生活的一部分,反之亦然。不然吴老师也不至于总说TBtools更像我的大儿子。

今天周六,正好也回顾过去三年,给自己,也给其他一个交代。至于为什么写这个推文,逻辑简单。

已经有不少人看过三年前我写的《我的挣扎与TBtools的开发》,这个正如童话故事《丑小鸭》或者《灰姑娘》,我们看到的只是他们的蜕变过程,但蜕变之后呢?蜕变之后,故事又是如何?尤其是“灰姑娘”结婚之后?真的就幸福了?我想,这个很难说。生活不止眼前的苟且,还有未来的苟且。于是,今天的推文,也可以理解为一个续集。与诸位分享琐琐碎碎。

回到主题,我们还是聊聊 TBtools-II。

回顾与思考

2020年,TBtools 工作发表前后,我想,不会有人觉得这个工作会有如何影响,无非是又多了一篇论文,并且同时多了一个可能有人用也可能出道即巅峰的软件。也包括我们自己,也觉得这个事情,也就这样了,告一段落。毕竟,作为课题副产品之一,找到了特别好的去处。但一切就是这么魔幻。自 TBtools 论文发表,被引频次一路猛涨,连年翻倍(接下来不知道是否到平台期,现在是 09 月)。

43d87040ba0faf6446741af508395dc1.png

这反过来说明,是的,我们的工作得到了许多朋友的认可,得到许多用户的引用。或许,我们不小心做对了一件小事,那就是开发了 TBtools。但是为什么?为什么就做对了?对在哪里?

我在这个事情上是有思考的,但更多时候是被迫去思考...因为这个没得选,大伙希望你能分享出一些经验,但是你没经验。没经验就只能一直回顾一直反思,为什么是这样子?

当然,不仅仅许多湿实验工作有一堆 M2 ,生物软件也一样。TBtools 发表后,甚至发表前(TBtools开发了5年才发表......但是有 TBtools 的 M2 软件更晚开始但更早发表)也有类似的 M2 软件出来(当然发表后就更多了)。为什么他们没有获得类似的关注度?我一直思考,最终只有一个答案:

最好的软件开发者就是用户本身

为什么一直以来没什么广受认可的生物软件?或者应该说界面化的生物软件?原因很简单。很多软件只是写出来,发表出来,然后就结束了。写软件开发软件的出发点是我发现了一个缺口,这个需要有一个工作来填充,于是我写了,然后发表论文让大伙知道,然后就没有然后了。这个是的,是一个完整的科研工作,但就到此结束了。软件写出来,开发者自己都不会再使用,那会是一个好用的软件吗?这个就太难说。我仔细去观察了认识的开发出来广受认可的软件,无一例外。他们开发软件的出发点是,我需要用这个软件,所以我开发出来;我开发出来之后,我是重度用户;至于分享出来,我只是顺便。于是我明白 TBtools-I 为什么会得到用户的认可,因为我本身就是 TBtools 的重度用户,每天我都会打开他,使用一些功能。遇到一些数据分析问题,我也会第一时间想着,是不是TBtools就三两下搞定了,省时省事?非常好。就是这样。这个也就是为什么 TBtools 所有功能都是在做植物生物数据分析,因为我就是写来做自己的课题的。至于应用到其他领域,比如动物,微生物,人类医学?这些到底还是用户挖掘。用户的脑洞,是无法估量。

如此,转念一想:

反之亦然,用户本身就是最好的软件开发者

于是,有了 TBtools-II。

1246d648cca61ab17945ac38f2e8ed43.png

当然,我其实还规划了3.0,4.0,5.0... 但是再远真的规划不出来,我们不知道十年后是如何。

收获与非议

实话说,TBtools 为我带来了诸多益处,如果说的夸张一点,那么就是写了 TBtools,所以:

  1. 硕士毕业了,还是优秀毕业

  2. 博士毕业了,基本也是优秀毕业

  3. 找到工作了

  4. 每个月还有稿费(当然年底都捐出去了)

  5. ....

自然,还有其他许多。有一些由于 TBtools 传播扩散所带来的隐形增益,无法具体小结。

有人认可,也自然有人非议。其中,最为明显或许是去年暑期前后?到底就还是一个原因,TBtools 论文的引用次数太高,对 IF 的计算来说,会有一点影响。于是存在一些人有心无心如何如何。无法理解他们的出发点,或者他们甚至不知道自己的出发点是什么,还是只是为了说点什么所以说点什么?从来不考虑别人怎么去思考,尤其是我们作为 TBtools 开发人员,怎么去思考?

是工作没做对?还是工作没做好?或者不应该发表?更或者最好还是回去投 Bioinformatics 这个顶刊?然后遇到个编辑直接就拒绝送审?我们真的一点不爽没有?原因是工作没做好?还是这个编辑不相信我们的童话故事?不认可我们的工作?那我们怎么办?是不是最好一开始就不要去做这个工作?发表也不对,不发表也不对。

很多人都只会说说,我们要如何如何,做成一流什么什么,掌握什么什么话语权,行动呢?行动在哪里?规划呢?规划了什么?没有,就只会说。

我们不一样,我们就干,干了再说。说完继续干,时间会说话。

如果他们也做类似的工作,那么我会为他们祈祷,一开始运气没有我们差,后来运气跟我们一样好,遇上愿意听 TBtools 这个故事的编辑部,愿意认可我们工作的期刊,从而能够让工作为更多人所知,加速推进更多人的科研工作。

过去这三年

三年间,应该说发生了许多事情。写着写着,似乎我是在给老友们分享过去三年的变化,尤其是在 TBtools-I 发表之后。家里小朋友陈及时长大了,现在也三岁,跟 TBtools-II 的时间相仿。或许如果不是带娃时真的只能放下工作来胡思乱想,那么也不会有 TBtools-II。Emmm..... 我尝试去找出一些收获,但似乎还是没想出来特别值得记录的事情。但如果说遗憾,到底就还是与吴老师和陈及时的异地生活,对彼此都不是好事,尤其是对于小朋友。有时候想想,为了什么?何至于此?读了三十年书,就是为了异地?我在追求什么?三年飞机高铁,让我成为尊贵的VIP.....不知是喜是悲。当然,此时再想也一笑了之。如果硬是要说收获,或许是每两周飞机或者高铁上没有信号的情况下,我不得不去听一些播客,也因此拓展了不少认知。能力有限,做了理性的决定,却违背自己。当然,我不知道多少人也与我一样,只期望各位顺利。至于围绕 TBtools,下述随意写写,与大伙分享。

我的有趣想法

TBtools-II 文稿提及内容其实不止插件模式。因为软件主程序本身也有系列功能优化和改进,详细可以看文稿。此处我把其中我觉得有趣的部分提一提。

软件用户增长,伴随的是更多使用问题。但是很多朋友遇到使用问题,往往不知道如何更好更详细的描述问题。有一天不知道是在做什么,大体也是洗澡或者上洗手间,我想到了一个 good idea。于是加上了 「Report」摁钮

a2e6aa90b255db777c5adfc9fd1bad7d.png

一般用户遇到使用问题或者报错之类,只需要点击一次,生成一个 Report.html 文件,就可以轻松作为求助信息与其他用户讨论沟通。这个从很大程度加速了 TBtools 用户之间的沟通效率。我觉得这个想法很好。

类似的有「!Help」摁钮,这个摁钮可以自动基于用户当前使用功能,直接搜索具体功能的实例文档,尽管,有时候没那么好用,但整体上我觉得还是机很不错。

「TBtools技能易物群」,是的,早前我曾经组织建立了10+个 TBtools使用交流社群,总计人数 3000*3+2000*5+1000*2 = 20,000+ 人的QQ群矩阵。然而我们必须接受很承认,慢慢这些社群并不活跃。基于个人的思考和分析,认为这是一个正反馈缺失的问题。一腔热血,坚持不久,正如TBtools的开发。点赞当然是很好的认可,但物质激励可能更为重要。为此,我尝试组织了「TBtools技能易物群」,结果就是很好。这些社群相对于其他社群都更为活跃,「问有所答,答有所获」。后续我也一并交给朋友打理,这样我自己就抽身出来。

「TBtools 奖学金」,Emmm,有关注 TBtools 的朋友应该都了解到 TBtools 奖学金。是的,通过每个月跟大伙收取2元稿费,年底捐出1.2w元用于鼓励优秀但不符合主流评价标准的硕士研究生。感兴趣的可以参考公众号历史推文。很快,今年的第二期奖学金就要开始评选,参与人员只需要做10分钟的PPT,不用填表等等。至于捐助,前述已经捐出。

为什么叫 TBtools-II

这是一个问题。逻辑上,我们完全可以叫做 TBtools,但似乎无法跟一开始的版本区分开。于是就想了几个名字,比如

TBtools2,这个比较丑,就没选他;

TBtools-2nd,这个我挺满意,但是....后面的似乎就是 3th 4th 5th... 感觉还是挺奇怪;

TBtools-Second,那肯定不行。

商量到最后,就叫 TBtools-II。或许这是最好的选择。当然,其实几乎所有人已经在用 TBtools-II,因为界面基本没变化。我们习惯做好了软件就分发,时间差不多了才考虑撰稿发表,这个或许也是 TBtools 跟其他软件不同的地方。许多软件是发表了再开放,我们相反,先开放,再考虑发表。甚至其实很多工作,sRNAminer,Sapbase,GSAman,IGV-sRNA 等等.... 我们确实都还没时间去整理发表....

插件模式的诞生

插件模式,到底还似乎来源于早期的一些想法。由于 TBtools 慢慢地体积并不小,但是我几乎每天,是的几乎每天都在更新。经常有用户吐槽,有什么又更新?软件使用的学习速度,还跟不上软件的更新速度。每天更新基本不可能。尽管我做了一个自动后台更新的功能,但说实话,效果不太明显。既然经常新增功能,那不如?做成插件,这样用户就可以按需增加功能,或者删除功能。

同时,这也解决了一个软件体积的问题。插件与主程序是相对隔离的,有时候一些功能需要依赖于较大文件,插件隔离后,确实有需要的就自行安装插件就搞定问题。自此,插件模式也就诞生了。随之而来,是吴老师提到的,比如做成App Store,我想这是一个 Good idea。

e367b1499a73a5db54530630615387ea.png

一个人的力量是有限的

插件模式诞生后,一开始只是我自己玩玩。后来想起了早些年我写的 EasyGUI(附图是三年前分享时用的PPT)。

630fbc8a221b3f5060a84cb3035586ff.png

一个人的力量是有限的,这不仅仅体现在时间和精力上,更体现在思维局限性上。不同科研人员有不同研究方向和研究思路,每个人的需求是不一样的。往往只有用户自己知道自己想要什么。其中,也有许多本身对数据分析就比较擅长的朋友。那么是不是提供一个接口,让所有人都可以轻松配置起来。具体最终就体现在 Plugin Creator。

ed1f2551adc9a4183a0396758088e5dc.png

想法来源于早年的 EasyGUI,不过操作上已经完全不同。同时稳健性也非常好。具体后续参考最近的一些优化更新,或许可以进一步做不少工作。

如果细心翻翻插件商店,就会发现,事实上绝大多数插件已经不是我开发的,而是TBtools的资深大佬用户开发的。在大伙的努力下,使得插件模式有了当前模样。

TBtools?PBtools?

关于 TBtools 的商标,这是一个事情。很多人都有了解,早前 TBtools 开放使用后,有存在团队和机构使用 TBtools 开展付费培训,因此有用户直接联系上到我就是一顿不爽,而我其实一无所知。也因此,我们在后续写明了 TBtools 不允许用于任何商用,除非授权。然而,很多人仍然希望有一场 TBtools 相关培训?于是我们每年暑期会举办一场。但后来有一天,我发现 TBtools 的商标有公司给注册掉了... 这个使事情变得非常复杂。期间通过联系做知识产权的朋友,各种申述,反对,无效等等,最终无疾而终。当然,好在对方还是以一个相对能接受的价格出售了商标。期间也产生了一个梗,也就是 TBtools -> PBtools -> ZBtools,因为我差点就把 TBtools 名字给改了。

293a899284ef96416eb13c0fbb5bdbf3.jpeg

(配图来自邵扬老铁)

说实话,当时也挺难受的。总之,折腾下来,10+w的开支。与此同时,有朋友提醒我不要去涉及RNAseq系列功能云云,我干脆就讲当时手上系列众筹插件打包赠予朋友公司,以感谢他们资助拿到TBtools商标。于是老铁又更新了一个。

8e9df6bd8a8b7ed56cb35f852adb788b.png

(配图来自邵扬老铁)

此时此刻,唯一想说的,如果大伙觉得自己做得东西有潜力,不如早早把商标注册掉,费用并不高。一旦后续有人注册甚至拿到了,那么一系列问题紧随而至。社会并不是我们想象的那么简单,而我或许是运气比较好,交的学费并不是非常高。

文稿来迟了一年

为什么?事实上,有不少朋友一直在问,TBtools的第二版什么时候出来。当然我们相信绝大多数人是期望第二版出来,毕竟新的版本会带来更丰富的功能,软件会更好用。这个没有问题。只是时间上晚了一年左右。个中缘由,还是我自己的问题。框架和内容,我们在2022年3月份就已经定下来,但迟迟没有动笔。到底,就是在没想好啥时候写了投了,更为合适。一些出乎意料的时间发生后,计划是年底发表。但一切并未按照我个人以及身边人预期进展。索性,等等再说。一等就是一年。恰逢又一批师弟师妹毕业走人,想想拖着也没啥必要,干脆一鼓作气把文稿鼓捣了。于是就是后来的事情。

我们每个人生活上,工作上可能都会有一些预期,但或许我们不应该去设定这些预期,尤其不应该去相信一些预期,除非是在自己的完全把控范围。有期望就会有失望,有失望就会有绝望。所以,从一开始我们就不要去又期望,这样才能目标坚定,做成更出色的工作,完成更强大的自身。

感谢一些人

TBtools-II 能够开发出来,得益于诸多人的认可和帮助。

首先还是华南农业大学的夏瑞教授(也是我的博士学位导师,论文通讯作者)。早前大伙有看到我们的一场线上分享,应该会看到听到一段我打算干脆放弃开发的想法。至于原因,上述是一部分。另一部分,自然还是实实在在的经费支持,很遗憾,目前为止我确实争取过,也写过本子,不过还是没有拿到直接的经费支持(我必须说明,间接的还是有的)。本身 TBtools 开发并非主业,作为课题副产品,做得太多,属实旁门左道。不过与夏老师讨论讨论,TBtools 开发还是要继续做下去,于是前些日子,属于放弃,捡起来,再放弃,再捡起来....无限循环。

随后是要感谢吴老师,吴老师总是说我在 TBtools 上花的时间比在儿子身上花的时间还多。同时,她使用 TBtools 尤其是 TBtools-II 的插件商店和插件开发功能后,疯狂吐槽,以至于我不得不优化一下。(当然,主要还是后续论文审稿人写了,插件商店太乱,建议重写)。重写插件商店,涉及到一个界面布局云云。参考吴老师的需求,比如插件要能直接安装,直接删除等等。非常麻烦,但是我还是写了。

感谢十几位开发了插件的 TBtools 老铁用户以及后续开发 TBtools 插件的新朋友们,真是大伙的参与和贡献,使得我更加坚信,我们可以把 TBtools-II 的插件模式可以持续下去,并让更多人受益。包括但不仅限于师弟李嘉威,朋友王骁,小师弟李楚豪和周强华....大伙完全可以看看目前的插件列表中作者名字,他们都做出了许多贡献。

感谢论文数位共同作者,我们一起讨论了开发和测试方面的问题。同时要再次感谢 bioinformatics中国 社群的 30 多位老友。TBtools-II 的理念之一是“我为人人,人人为我”,其实取自社群的口号。我想社群口号目前没有变化,尽管我个人由于博士学位修学时太过忙碌就退出了社群。但是我们接近10年的生活和学习方面的讨论,使得TBtools-II等到更快完善。只是非常遗憾,我们失去了一位好友徐锡文(代号:酱油)。可能我们有机会还是要多聚聚。

感谢一些学术大佬的直接关注,比如广西大学的张积森教授、陈玲玲教授,他们不仅仅在语言上支持,在实质科研项目上也给了支持,我相信这些支持会让 TBtools-II 变得更为完善;比如华南农业大学农学院储成才教授,每每碰面,总是提起,并给与我们鼓励,受宠若惊,尤其让我觉得这个工作,还是要做下去;比如陈铭教授,直接邀请了我们写了一个 TBtools 的 Chapter;刘永鑫研究员,邀请我们在iMeta上刊文,介绍了 Advanced Circos(TBtools-II上重构后的 Circos图可视化工具);比如罗静初老先生,前些日子联系过来,说挺早注意到我们工作。得到老先生的认可,也知道老先生也在使用TBtools,我们非常高兴。这些那些,都是我们坚持的动力。

感谢其他一时文字无法写出的朋友,比如汤程贻博士(尽管我仍然不知道他到底是谁,名字又是真是假)。未提及的朋友,多多见谅。

哦,对了,我还得感谢一下华南农业大学的廖毅教授,天天说他在做大paper,天天在做,这让我觉得很紧张。感觉他在做,我不做好像不太合适。

写在最后

「得到认可」有时候是一个太难的事情,但是是否需要这个东西,或许是一个值得思考的问题。

平平淡淡的三年,认识自己,接受自己,超越自己,比其他或许更为重要。海阔凭鱼跃,天高任鸟飞。

我心中一团火,是不会熄灭!与诸位共勉。

猜你喜欢

iMeta简介 高引文章 高颜值绘图imageGP 网络分析iNAP
iMeta网页工具 代谢组MetOrigin 美吉云乳酸化预测DeepKla
iMeta综述 肠菌菌群 植物菌群 口腔菌群 蛋白质结构预测

10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature

系列教程:微生物组入门 Biostar 微生物组  宏基因组

专业技能:学术图表 高分文章 生信宝典 不可或缺的人

一文读懂:宏基因组 寄生虫益处 进化树 必备技能:提问 搜索  Endnote

扩增子分析:图表解读 分析流程 统计绘图

16S功能预测   PICRUSt  FAPROTAX  Bugbase Tax4Fun

生物科普:  肠道细菌 人体上的生命 生命大跃进  细胞暗战 人体奥秘  

写在后面

为鼓励读者交流快速解决科研困难,我们建立了“宏基因组”讨论群,己有国内外6000+ 科研人员加入。请添加主编微信meta-genomics带你入群,务必备注“姓名-单位-研究方向-职称/年级”。高级职称请注明身份,另有海内外微生物PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍未解决群内讨论,问题不私聊,帮助同行。

点击阅读原文,跳转最新文章目录阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值