@icycookies
2025-03-20T06:43:12.000000Z
字数 6672
阅读 1366
平台简介
快速上手指南
预设工作流及其功能
工作流定制指南
附录:常见问题
附录:已有工具和功能
OpenBioMed由清华大学智能产业研究院和水木分子共同研发的生物医药智能体开源平台。我们希望通过可视化编程与拖拽式工作流搭建的方式,帮助更多研发人员零门槛使用最先进的AI模型,针对不同的药物设计、生命科学研究任务实现定制化的智能体应用(AutoPilot),从而实现研究效率的指数级提升。在OpenBioMed中,我们提供了二十余种工具卡片,涵盖小分子与蛋白质的检索、设计、优化、分析、导出等功能,并针对部分工具适配了自然语言输入和性能优越的自研模型。此外,我们提供了一键式的工作流执行方案,通过在后台重复执行工作流,我们能够模拟研究中的探索试错(Trial-and-Error)过程,并通过最先进的对话语言模型针对执行结果进行分析,将潜在的科学发现总结为报告并发送至用户邮箱中。在未来,OpenBioMed将致力于服务开源社区,通过更直观的操作界面和更强大的功能集成,为研究者提供一站式生物信息分析解决方案,助力高效科研与创新突破!
我们的平台网址为:http://openbiomed.pharmolix.com。
我们的代码已在GitHub上开源。如果您认为我们的开源项目和模型对您的研究有帮助,请考虑给我们的项目点上星标🌟。如果您在使用过程中有任何技术问题或建议,请随时在GitHub issue中提出,或联系opensource@pharmolix.com寻求技术支持。
如果您是新用户,请点击平台初始界面右上角的“申请使用”按钮,在注册界面中填写你的电子邮箱并设置密码。在审核通过后,我们会在2个工作日内通过邮件的形式进行通知。
在通过电子邮箱和密码登陆平台后,您将进入如下界面:
我们为用户预置了四个默认工作流用于快速上手OpenBioMed平台的相关功能。在这一节中我们将介绍蛋白质结构预测与可视化工作流(Protein Folding and Visualization)的使用。
点击该工作流后,您将进入编辑与运行界面:
该工作流将依次执行如下步骤:
由于该工作流是串行的,我们只需要指定第一步的输入(某个UniProtKB的ID,在我们的示例中为P01116,是长度为189的RASK_HUMAN蛋白),并点击Image Output卡片中的运行按钮,即可得到模型所预测的蛋白质结构的可视化结果。(备注1:Data to Message卡片主要用于输出的解析和提取,我们将在后续文档中具体讲解;备注2:您可以通过点击图片来进一步放大可视化结果。备注3:您可以通过修改可视化卡片中的config来选择使用何种可视化风格。备注4:图像在我们的服务器中并不是永久存储的,一段时间后该图像可能被清理而丢失。因此,我们建议用户按照后续教程及时导出并保存工作流执行的结果)
在这一小节中,我们将针对一些常见需求对工作流进行一些修改。例如,当我拥有一个未被UniProtKB记录的蛋白质序列时,该如何进行结构预测和可视化呢?解决方案非常简单:由于我们不再需要从UniProtKB中检索蛋白质,我们可以直接用鼠标选中第一个Data to Message卡片与PROTEIN_FOLDING之间的连线,并敲击BackSpace删除它;接着,PROTEIN_FOLDING卡片的protein字段失去了先前卡片的输入,恰好可以将我们的蛋白质序列粘贴至该文本框中;最后,我们再次尝试点击Image Output卡片中的运行按钮,即可看到最终的可视化结果。以下是一个针对短肽序列AMFDSIADRYDLLNRVLSLGRERYWR(来自Q47LE2,1-40)的执行结果:
当我们在OpenBioMed平台上完成了蛋白质结构预测后,该如何将预测结果下载至本地进行进一步分析处理呢?OpenBioMed针对该需求开发了导出工具,可以通过界面左侧Components条目下依次找到pharmolix和EXPORT_PROTEIN,将该工具卡片拖拽出来。接着,我们需要蛋白折叠卡片(PROTEIN_FOLDING)的卡片的输出,即折叠后蛋白的结构,接入到蛋白质导出工具的输入中(实际使用的是Data to Message解析后的结果):
点击EXPORT_PROTEIN上的开始按钮后,工作流将依次执行PROTEIN_UNIPROT_REQUEST(蛋白质检索)、PROTEIN_FOLDING(蛋白质折叠)和EXPORT_PROTEIN(蛋白质导出)。点击右下角的Response Data,可以看到工作流执行完毕后,file条目中出现了一个地址,单击该条目并复制完整地址后,在浏览器中访问该地址,即可自动下载蛋白质结构的pdb文件。(备注:该文件在我们的服务器中并不是永久存储的,一段时间后该文件可能被清理而丢失。)
该工作流对应了Stable drug design
,其流程较为复杂,具体步骤如下:
(备注1:该工作流并非严格串行,点击某个卡片的执行键可能仅会执行一部分工作流,且会导致先前同一个工具卡片的执行结果被覆盖,如果需要执行工作流的全流程,请参考后续教程;备注2:部分工具的执行速度较慢,请耐心等待)
该工作流对应了Molecule query and Visualization
,其流程如下:
(备注:目前平台仅支持返回一个结构相似的分子,如果需要更多的相似分子可以反复执行工作流)
该工作流对应了RAG-based LLM agent
,其流程如下:
(备注1:该工作流支持点击右上角的Playground按钮来一键执行;备注2:互联网搜索的时间可能较长,如果出现超时导致的执行失败,可以考虑上调timeout参数)
本项目基于Langflow开发,部分使用教程可以参考官方文档。您可以通过点击初始界面的New Flow按钮来搭建自己的工作流,这一节中我们将对工作流的具体搭建步骤进行说明。
我们的平台支持了Langflow的多数工具,如使用不同的生成式AI模型对话、对数据进行拆分合并等,关于它们的使用方式请参考官方文档。在本文档中我们将介绍OpenBioMed自行开发的工具,以分子问答(MOLECULE_QUESTION_ANSWERING)卡片为例:
首先,您需要从左侧Components-pharmolix中点击第五条并拖动至画布,如下图所示:
在该卡片的最上方,我们对该工具的功能和输入输出进行了简要介绍。可以发现,分子问答工具需要用户给出一个小分子molecule
和一个自然语言提问text
作为输入,并在Response data
的text
字段产生一个文本回答。随后,我们提供了四个输入字段:
molecule
和text
两个字段对应了工具的输入(以纯文本的形式给出),通常与工具介绍一致(备注:不同的工具对应的输入字段数量和名称可能均不同);Timeout
字段对应了工具执行的超时时间(单位为秒),通常而言我们预设的默认值足以应对绝大部分输入情形。若您发现执行工具卡片时出现超时问题,可以考虑将超时时间上调;Body Parameters
是一个预留的输入接口,它支持以key-value的字典形式对molecule
和text
字段进行直接设置(备注1:当前两个字段即使存在输入值,也会被Body Parameters
覆盖;备注2:该接口会在未来版本中淘汰,我们建议用户以逐字段的形式给定输入);在下图中,我们提供了使用字段输入方式的实例,输入分子的SMILES串为COP(=S)(OC)OC1=NC(=C(C=C1Cl)Cl)Cl
,问题为What's the structural definition of this molecule?
:
随后,点击卡片右上角的运行按钮,等待一段时间后即可得到执行结果,此时在按钮左侧会出现运行时间和是否成功。随后,点击卡片右下角的Response Data
,即可得到工具输出:
可以发现,输出的text字段即对应了针对该问题的回答。
还是以分子问答为例,可以发现,图中的卡片左侧的部分字段有蓝色和红色的输入点,卡片右侧的Response Data
处有红色的输出点。输入点的颜色含义如下:
点击某个输出点,即可拖动出一条连线,将其拖动至某个输入点,即可将某个工具的输出接入为另一工具的输入。输入输出的连接规则如下:
现在,我们来尝试对两个工具进行连接,搭建一个极简工作流:该工作流首先从PubChem平台上检索名为Chlorpyrifos-methyl
的分子(对应了上一节分子问答工具的输入),接着询问该分子的结构定义。我们从Components-pharmolix中拖出PUBCHEMID_SEARCH工具,在query
字段中输入Chlorpyrifos-methyl
,运行后可以发现工具成功输出了结果:
我们希望将该工具输出的分子连接到分子问答工具的molecule
字段中,然而,这要求我们将一个红色点连接至蓝色点。为此,我们需要引入一个辅助工具:在Components-Processing中找到Data to Message。我们将查询工具的Response Data
连接至该工具的Data
输入中。接着,我们需要传递哪个字段的值,我们就在Template
中用大括号将字段名称包裹起来,在我们的案例中Template
即为{molecule}
。最后,我们将蓝色的Message
点连接至分子问答工具的molecule
中。最终的连接结果如下所示:
点击分子问答工具的执行按钮,平台会依次执行该工具所依赖的所有工具,并成功得到最终的执行结果。此外,您可以点击所有工具的输出部分来检查工具的中间输出。
在连接多个工具卡片后,您可以通过点击任意一个卡片上的运行按钮来进行调试。需要注意的是,该操作会自动运行该工具所依赖的所有前序工具,并将这些工具先前的运行结果覆盖(备注:您可以随时通过黑色边框高亮来获知正在运行的工具)。因此,我们建议:
不推荐的调试示例:
推荐的调试示例(message的输出为./tmp/pubchem_Chlorpyrifos-methyl.pkl):
另一个常见的问题是如何测试整个工作流的执行情况。为此我们提供了两种方案:
在使用工作流的过程中,您可能会发现某些工具重复执行时会返回不同的结果,这一随机性是由以下因素导致的:
工具使用了生成式AI模型,其输出本身是随机的;
工具返回了若干个候选结果,由于技术限制,我们只能从中随机挑选一个作为输出;
我们认为这样的随机性在科学研究中是有益的:它模拟了实际场景中的探索试错(Trial-and-Error)过程,即尝试不同的变量组合,执行相同的处理流程,从中遴选出成功的结果并进行归因,从而产生新的科学发现。为此,我们为用户提供了工作流重复执行与报告生成服务,利用DeepSeek等大模型的”长思考“能力,尝试以AutoPilot的形式解决一些科学难题。在搭建完工作流后,您可以通过点击页面右上角的Submit按钮,并在弹窗中指定工作流类型(该参数主要用于生成更高质量的报告,我们目前仅适配缺省工作量和药物研发工作流的报告撰写)和工作流重复执行次数,我们将会在后台重复运行工作流。任务完成后,我们将会向您的注册邮箱发送通知,您可以在附件中找到工作流运行报告。
(备注:由于运算资源限制,在使用高峰期,工作流执行与报告撰写智能体可能需要耗费数小时乃至数天时间来完成任务,烦请耐心等待。)