美文网首页
无需编程 | 联用「chatGPT」和「TBtools」实现你的

无需编程 | 联用「chatGPT」和「TBtools」实现你的

作者: 生信石头 | 来源:发表于2022-12-11 23:41 被阅读0次

    写在前面

    万万没想到 chatGPT,我玩了整整一个周末。当然,我不是在玩 chatGPT。而是在想,这样一个工具,我们如何更好的使用他,从而解决日常生信数据分析中的简单问题。要知道,绝大多数湿实验科研朋友的数据分析需求,其实是简单的文本处理。TBtools 当然,可以满足不少需求,但总有一些,并不如此。于是,大伙还是要去求助某某。
    chatGPT 可以相对较好的理解我们想说的话。我测试了下,对于简单的文本处理工作,他完全可以直接生成可用代码。
    为此,我决定直接对 TBtools 和 CLI Program Wrapper Creator 进行改造,让他们支持直接脚本编写执行(当然,同时也支持了其他各类语言的脚本,只是需要插件开发者打包一个解释器,如python或perl等)。如此,我们就完全可以让「chatGPT」和「TBtools」联动,实现我们的「春秋大梦」。

    示例 2:Fasta序列批量提取

    跟 chatGPT 说

    用 java 代码实现一个命令行脚本,接受三个参数,第一个是一个ID列表文件,每行一个 ID,第二个是一个 Fasta 序列文件,第三个是输出文件。需要提取 Fasta 序列文件中 ID 在列表文件中存在的序列,输出到输出文件
    

    结果如下



    代码直接复制到 TBtools 中,简单填充界面



    完成插件开发,惊呆了!

    示例 1:表格行批量提取软件

    我们有一个基因表达量矩阵,可能有100Mb,我们需要从里面提取是100个基因的表达量。我用一句话描述了任务需求,发给「chatGPT」

    # chatGPT 镜像链接,无需登录,直接使用
    https://gpt.chatapi.art/
    

    具体描述如下

    使用java代码实现,接受三个命令行参数,第一个参数是接受一个表格文件,表格文件中有行名,有列名,第二个参数是一个ID列表文件,每一行是一个ID,第三个参数是输出文件。这个代码主要功能是,按照ID列表文件中的ID提取表格文件中第一列匹配到ID的所有行,匹配内容输出到输出文件。注意,最终文件同样需要有行名和列名。
    

    得到结果如下



    打开 TBtools(注意,你需要升级到1.106或者更高版本,使用安装器),转到 「CLI Program Wrapper Creator」功能(注意,插件也需要更新一下),点击「Click X for Script Input」



    设置一下文件名,黏贴从 chatGPT 复制过来的代码

    按照我们描述的需求和chatGPT给出的使用方法(其实也就是我们的需求)



    配置界面如下

    大功告成,我们测试一下

    直接复制这些报错,丢给「chatGPT」

    运行了下,发现没有正确提取

    让他重新写一个。结果网页链接断开了,镜像不稳定。没事,重新来



    更新代码,再次尝试

    又报错了,让他改,反正 chatGPT 真的是一个机器......「无情的我.....」

    完成.....

    虽然过程有点波折,不过我们成功开发了一个批量表格提取工具!然后就可以导出插件。

    OK,我们可以测试一下插件安装和使用,安装好了,完美使用

    从此,我们可以直接用这个插件来批量提取行,可以发给你的实验室同门,大家都可以用了。

    写在最后

    很强!当然,对于一些相对复杂的逻辑,或许需要比较具体的描述。总之,欢迎大伙联用两者,实现自己的想法,开发出有用,实用的插件,分享给朋友和所有TBtools用户。

    相关文章

      网友评论

          本文标题:无需编程 | 联用「chatGPT」和「TBtools」实现你的

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