写在前面
昨天上午,有一位做演化的老师提到,「TBtools 计算等电点很方便,但是计算起来比较慢,如果有几万个蛋白怎么办?」这是一个问题。
很遗憾,课题组的小朋友都太忙。以至于我真想送出去百元稿费也没人愿意干。早晨 5 点起来就睡不着,兴许是昨天喝太多茶?或者是睡觉前吃了一些甜品?太过清醒也就到办公室。
思来想去,没人写就自己搞,结果十几分钟就干完了....。
开发流程
为了开发这个工具,我们需要考虑的只有两个小问题:
- 使用二进制程序还是撰写脚本
- 如果撰写脚本?使用哪个语言合适?
简单查询后,发现如果我们去做emboss的windows移植,大材小用。相反,使用python这些语言,有biopython,其实很轻松就可以实现。因为很轻松,所以完全可以使用「生成式文本工具」,也就是 chatGPT...
首先就让 chatGPT 写一个脚本
写完了脚本没有按照我们的需要从命令行接收参数,说明是我们提示词不够明确,让chatGPT继续修改,或者直接让重写一个。
功能上基本就开发完了。当然,从脚本来看,有简单python基础的朋友就会知道,这个依赖了 biopython,让 chatGPT 提示我们怎么解决依赖,解决什么依赖。
参考提示解决依赖即可。
开发界面
至于界面开发,非常简单
开发完成后,简单测试,与 Expasy ProtParam 比较,结果完全一致(当然,网页的每次只能一条)
当然,我们可以更进一步,让 chatGPT 输出所有计算出来的蛋白质参数,(因为我不会写python,所以只能这样)
测试插件
导出插件,然后安装插件
测试效果很好
写在最后
事实上,对于喜欢折腾代码的朋友来说,这个脚本或者这个工作,可能大半个小时就可以处理好。但是对于做生物学问题的朋友,需要学习相关编程知识,这个是需要时间和精力投入,同时学习曲线会比较陡峭。更多时候,我们只是要解决一个问题。但是,如果喜欢折腾代码的朋友可以把程序固定化下来,然后分享出来,那么就会很方便。尤其借助 chatGPT 这类生成式文本,处理不少数据分析需求,其实非常简单。结合 TBtools 插件开发的「固定化」效果(打包成稳定离线插件),一切就变得更为简单。