当前位置:首页|资讯|ChatGPT|编程|搜索引擎|OpenAI

偷个懒,用ChatGPT 帮我写段生物信息代码

作者:生信宝典-陈同发布时间:2024-07-04

ChatGPT 是去年年底 OpenAI 发布的一个聊天机器人程序,擅长自然语言处理,看上去可以理解人类语言并进行对话。同一个聊天窗口的内容还会考虑上下文一起反馈。

GPT 全称是 Generative Pre-trained Transformer, 翻译成中文是生成预训练转换器。ChatGPT并不是一个搜索引擎,而是一个深度神经网络模型。GPT通过对大量无标签的数据的学习产生一个预训练的生成式语言模型,再根据特定任务(人工标记的语料)进行微调。GPT 预训练时需要的数据不是“问题 1 - 答案 1”这样的语句对,而是一句句或一段段完整的话,如”学习生信就看生信宝典”,GPT 会计算每个字、每个词或每个句子后面承接哪个字、词或句子的可能性更大,从而构建出模型,再有人提问时,根据提问者的语句,去模型中提取最可能跟着的文字,给出答案。

比如我们问一个问题,“如何学习生物信息”,ChatGPT会根据模型计算如何学习生物信息这句话后面最可能出现的字有哪些,根据概率模型随机选择一个,比如是“”;然后继续寻找如何学习生物信息就后面可能出现的字是什么,比如是“”,一步步去递推,直到给出一个完整回答或触发终止策略 (后面你可以看到这个问题 ChatGPT 给出的答案)。这个答案是存在随机性的,你每问一次或着换不同的问法都会得到不同的答案。

当然ChatGPT还做了很多基于反馈模型的增强学习,具体可以等待ChatGPT文章发表后进一步了解。

这块也是才刚开始接触,有理解不对的,请大家指出。原理先不管,我们后面看看其效果怎样!

ChatGPT 试用

首先需要注册一个账号(好在我有一个比较早之前注册的账号),网上也有很多教程教怎么注册账号的。

登录上去是一个很简洁的页面,输入文字,开启聊天。先问第一个问题“如何学习生物信息”,给出回答如下,有板有眼,很条理,读着也是常规的建议,很像大部分公众号的文章,看着是这么回事,实则帮助也不太大。这也是因为问题很泛泛,也只能泛泛的答。

再问个问题,“请帮我写一段 python 代码从 FASTA 文件提取特定基因序列”。

这个代码看上去是很不错的,三步走:

  1. 设置2 个输入变量,fasta 文件和基因名字;

  2. 读取文件,根据>判断 FATSA的名字行和判断基因名字是否存在; 拿到序列,存起来;

  3. 输出序列。

结构上很赞,而且下面还附上了一部分代码解释、代码局限性分析和改进策略。一般初学者能独立写代码完成到这个程度,我认为可以说是程序已经入门了。

当然这个程序还存在至少 2 个问题:

  1. 只能处理单行序列的 FASTA 文件,因为它只取了”>”开头的行后面的第一行。

    如果是多行 FASTA 序列,取出的结果是不完整的;

  2. gene name 的判断是匹配模型,比如输入Sox1,可能会匹配到Sox11 (如果 Sox11这条序列先出现的话)。

拿到代码了,怎么调用呢?我们继续追问下去。这个回答还是很详细的,

  1. 体现出了上下文思想,ChatGPT 知道要运行的是上面回答的代码;

  2. 告诉了我们如何把代码存成文件,然后在终端用命令行调用;

  3. 还贴心的提示了代码什么地方要修改。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1