摘要:TxGemma是基于谷歌DeepMind的Gemma模型家族——一系列轻量级、最先进的开源模型——专门训练用于理解和预测治疗药在整个发现过程中的特性,从识别有前景的靶点到帮助预测临床试验结果。本文以TxGemma的hERG心脏毒性预测为例,演示了如何通过Flare Python拓展,将TxGemma的hERG心脏毒性预测整合为Flare GUI的一部分,让你可以轻松的使用TxGemma带来的强大预测性能。

TxGemma

前言

众所周知,新药的开发充满风险,不仅速度缓慢而且成本高昂,大部分的候选药物失败于一期临床试验后阶段。为此,Google旗下的DeepMind与Research开发了TxGemma1,2,这是一套开源模型集合,旨在利用大型语言模型的力量来提高药物开发效率。TxGemma是基于谷歌DeepMind的Gemma模型家族——一系列轻量级、最先进的开源模型——专门训练用于理解和预测治疗药在整个发现过程中的特性,从识别有前景的靶点到帮助预测临床试验结果。这有可能缩短从实验室到病床的时间,并降低成本。

TxGemma模型基于Gemma 2微调,使用了700万个训练样本,是专为预测和对话式药物分子性质分析而设计的开源模型。模型提供三种规模:2B、9B和27B。每个规模都包含一个“预测”版本,专门针对从药物数据共享平台(Therapeutic Data Commons)中提取的具体任务,例如预测某个分子是否具有毒性。这些任务包括:

  • 分类(例如,该分子是否会穿过血脑屏障?)
  • 回归(例如,预测药物的结合亲和力)
  • 生成(例如,给定某些反应的产物,生成反应物)

最大的TxGemma模型(27B预测版本)表现出色。在几乎每一项任务中,它不仅优于或大致相当于之前最先进的通用模型(Tx-LLM),还能够与许多专为单一任务设计的模型相媲美甚至超越它们。具体来说,在66项任务中的64项上,它的表现优于或与前代模型相当(在45项任务中胜出);而在50项任务中,它同样优于或与专用模型表现相当(在26项任务中胜出)。更多详细结果请参见TxGemma论文2

Flare是Cresset开发的旗舰药物设计平台3,Pyflare是一个专用的python二进制文件,可以从命令行python脚本中访问Flare功能。通过Pyflare,你可以无限拓展Flare的功能。本文将向您介绍如何编写Pyflare脚本,将强大的TxGemma整合到Flare拓展窗口中,用来对Flare项目中的化合物执行性质预测。

安装必要的模块

假设我们通过API使用局域网内ollama服务器上的TxGemma,可以选择使用langchain-ollama软件包:

1
2
pyflare -m pip install --user langchain-ollama
pyflare -m pip install --user langchain-community

在本文的示例里,我将使用langchain-ollama提供的API来调用TxGemma,赋予Flare与TxGemma交互的能力。

算例分子

化合物CHEMBL4443436(图1)是一个hERG抑制剂,膜片钳实验测得的IC50 = 30 nM。现在以这个化合物为例来说明如何用TxGemma预测化合物的hERG毒性。

CHEMBL4443436的化学结构

图1. CHEMBL4443436的化学结构

生成提示词

TxGemma有predict与chat两个版本,根据Eric Wang2等人的技术报告,27b参数的predict版本预测性能最好,计算速度也更快。无论是那个版本,需要注意的是,目前为了保证预测精度,需要使用固定的提示词格式,否则会出现意外的输出结果。

TxGemma提供了TDC提示词字典:tdc_prompts.json,不同的预测任务Prompt需要严格的使用字典里的格式。可以通过载入提示词字典,根据任务名称来生成提示词。比如,hERG预测任务可以用下面python来生成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import json
from huggingface_hub import hf_hub_download
 
# Load prompt template for tasks from TDC
tdc_prompts_filepath = hf_hub_download(
    repo_id="google/txgemma-27b-chat",
    filename="tdc_prompts.json",
)
with open(tdc_prompts_filepath, "r") as f:
    tdc_prompts_json = json.load(f)
 
# Set example TDC task and input
task_name = "hERG_Karim"
input_type = "{Drug SMILES}"
drug_smiles = "Clc1ccc2c(c(c(o2)C(=O)CC#N)C)c1"
 
# Construct prompt using template and input drug SMILES string
TDC_PROMPT = tdc_prompts_json[task_name].replace(input_type, drug_smiles)
print(TDC_PROMPT)

执行述python脚本,得到下面的提示词:

1
2
3
4
5
6
7
8
9
10
11
Instructions: Answer the following question about drug properties.
Context: Human ether-à-go-go related gene (hERG) is crucial for 
the coordination of the heart's beating. Thus, if a drug blocks 
the hERG, it could lead to severe adverse effects. Therefore, 
reliable prediction of hERG liability in the early stages of 
drug design is quite important to reduce the risk of 
cardiotoxicity-related attritions in the later development stages.
Question: Given a drug SMILES string, predict whether it
(A) does not inhibit hERG (B) inhibits hERG
Drug SMILES: Clc1ccc2c(c(c(o2)C(=O)CC#N)C)c1
Answer:

预测

以Chatbox为对话界面,通过Ollama API调用TxGemma-27b-Chat模型。将上面的提示词复制到Chatbox里进行预测,结果如图2所示。

TxGemma-chat预测示例

图2. TxGemma-Chat预测示例

TxGemma-Chat预测为(A)类,即是非hERG阻断剂。然而这个预测的结果是错误的,这可能跟我用0-shot提示词有关系。注意:在TxGemma的论文中,取得SOTA的预测方式是10-shot提示词,需要提供10个任务相关示例辅助模型理解任务模式。

有了这个简单的使用经验,现在可以开始在Flare里整合TxGemma的hERG心脏毒性预测了。

整合TxGemma到Flare GUI

如果需要对很多化合物进行性质预测,上述在shell终端输入的方式并不轻松。考虑到我会经常使用hERG毒性预测,因此,有必要在Flare GUI里添加一个hERG毒性预测按钮,当需要的时候,按一下按钮自动开始对配体表单里的所有配体分子进行预测。

TxGemma hERG prediction

图3. 将TxGemma hERG部署在Flare Python Extension

因此我创建了一个TxGemma hERG按钮,如图3所示。这是一个python脚本,可以从我的github仓库下载4,放在Flare安装路径下的python-extensions目录里,重启Flare即可在Flare的Extensions里看到了。当然,这只是个示例,我还没给它加上图标,所以它看起来有点简陋。不过,现在你确实可以通过Flare来调用TxGemma来预测配体表单里分子的hERG心脏毒性了。

使用上面python代码时候,你需要根据具体情况修改的预测函数(predict_herg)部分的host、port与model这三个参数,如图4所示。

图4. TxGemma hERG预测部分的代码

图4. TxGemma hERG预测部分的代码

最后将TxGemma-Predict的结果分三种情况:0表示非hERG抑制剂,1表示hERG抑制剂,N/A表示预测出现非预期结果(出错)。这些预测结果会出现在Flare 配体表单的Txgemma_hERG列。

通过相似的方式,我们可以将任意TxGemma的性质预测功能整合到Flare GUI里。现在你可以在Flare GUI里轻松、重复地使用TxGemma的各个性质预测功能了。

存在的问题

当答案有多个选项时有位置敏感问题,可能是过拟合了:ISSUE #171,这个在gemma3的微调系列里也是很常见,所以一定要使用规定的提示词格式。

本文的主要目的是演示TxGemma的使用方法以及如何与Flare整合,只是采用了0-shot提示词。要想取得好的预测效果,建议至少使用10-shot提示词。典型的多样本提示词如下图5:

TxGemma hERG多样本提示词示例

图5. TxGemma hERG多样本提示词示例

相关拓展

在github仓库上,你还可以看到相关的其它拓展,简介如下:

  • Calculate3DSim.py:计算所有配体与选中配体的3D形状相似性
  • remoteShapeChEMBL_ext.py:用选中的配体作为query,在远程服务器上对ChEMBL35数据库进行3D形状与药效团相似性虚拟筛选
  • remoteShapeChemdiv_ext.py:用选中的配体作为query,在远程服务器上对ChemDiv数据库进行3D形状与药效团相似性虚拟筛选
  • remoteShapeRings_ext.py:用选中的配体作为query,在远程服务器上对400万结构多样的环系进行3D形状与药效团相似性虚拟筛选以发现新颖的骨架
  • SASA_ext.py:根据配体以及与之结合的蛋白结构计算配体的三种SASA,即free SASA, bound SASA与buried SASA.
  • txgemma_hERG_ext.py:用TxGemma预测化合物hERG心脏毒性

联系我们

Flare V10是Flare最新版本,交付先进的科学方法、分析工具和直观、易用的增强功能,洞察您的配体 – 蛋白质复合物结构。

想要尝试Flare信息丰富、用户友好界面,发现它如何帮助您自信地推动潜在先导化合物优化?请现在就联系我们安排试用,快速访问Flare的广泛功能。我们的专业团队随时准备通过安装和设置为您提供支持,而我们全面的教程库——涵盖从常见工作流程到高级方法和功能的所有内容将帮助您开始使用。我们在这里帮助您更快地实现目标,让您设计出感兴趣的分子。

电邮:info@molcalx.com

电话:020 – 38261356

文献

  1. Shekoofeh Azizi. MAR 25, 2025. Introducing TxGemma: Open models to improve therapeutics development. Available at: https://developers.googleblog.com/en/introducing-txgemma-open-models-improving-therapeutics-development
  2. Eric Wang. (2025). TxGemma:Efficient and Agentic LLMs for Therapeutics. Available at: https://storage.googleapis.com/research-media/txgemma/txgemma-report.pdf
  3. Flare V10. https://www.cresset-group.com/software/flare
  4. txgemma_hERG_ext.py. https://github.com/gkxiao/pyflare-extension