Therapeutics Data Commons:人工智能赋能治疗科学的基础平台
人工智能正在重塑治疗科学的未来。作为一个协调性的倡议,Therapeutics Data Commons (TDC) 旨在评估和推进人工智能在各种治疗模式和药物发现阶段的应用能力。TDC为研究人员提供了一个生态系统,包括AI可解决的任务、AI就绪的数据集以及精心策划的基准测试,同时还提供了工具、库、排行榜和社区资源。这个平台涵盖了从数据函数、系统模型评估策略、有意义的数据分割到数据处理器和分子生成预言机等多个方面。所有资源都通过一个开放的Python库进行了整合,使得研究人员能够方便地利用这些资源。
TDC的独特价值
治疗科学是一个充满机遇、创新和影响力的激动人心的领域。TDC精心策划的AI就绪数据集、机器学习任务和基准测试,为生物化学、生物医学和机器学习科学家提供了一个交汇点。它不仅是评估AI方法的资源,更是支持AI方法开发的平台,特别关注于建立适合药物发现应用的AI方法基础,并探讨其原因。TDC可以促进算法和科学的进步,加速AI方法的开发、验证,并推动其向生物医学和临床实施的过渡。
TDC的核心特征
-
多样化的治疗开发领域: TDC涵盖了广泛的学习任务,包括靶点发现、活性筛选、疗效、安全性和制造等,涉及小分子、抗体和疫苗等多种生物医学产品。
-
即用型数据集: TDC设计简洁,对外部包的依赖性最小。研究人员只需3行代码就可以获取任何TDC数据集。
-
丰富的数据功能: TDC提供了广泛的数据功能,包括数据评估器、有意义的数据分割、数据处理器和分子生成预言机。
-
排行榜系统: TDC提供了基准测试,用于公平的模型比较和系统的模型开发与评估。
-
开源倡议: TDC是一个开源倡议,欢迎社区参与和贡献。
TDC的结构设计
TDC采用了独特的三层层次结构,这在系统性地组织治疗学机器学习方面是首创。TDC将任务组织为三个不同的"问题",每个问题下设有一系列"学习任务",每个任务又提供了多个"数据集"。
在第一层,TDC观察了大量的治疗任务,将机器学习可以促进科学进步的主要领域归类为三个方面:
- 单实例预测
single_pred
: 预测给定单个生物医学实体的属性。 - 多实例预测
multi_pred
: 预测给定多个生物医学实体的属性。 - 生成
generation
: 生成新的理想生物医学实体。
TDC结构的第二层是学习任务。这些任务的改进可以带来众多应用,包括识别个性化组合疗法、设计新型抗体类别、改进疾病诊断以及为新兴疾病寻找新的治疗方法。
最后,在TDC的第三层,每个任务都通过多个数据集实例化。对于每个数据集,TDC提供了多种将数据集分割为训练、验证和测试集的方法,以模拟转换到生产和临床实施所需的理解和泛化类型(例如,模型对完全未见过的化合物的泛化能力,或对多重治疗的患者反应的细粒度分辨能力)。
TDC数据加载器
TDC提供了一系列工作流程,具有直观、高级的API,适合初学者和专家在Python中创建机器学习模型。基于TDC中模块化的"问题-学习任务-数据集"结构,我们提供了一个三层API来访问任何学习任务和数据集。这种分层API设计使我们能够轻松地整合新的任务和数据集。
例如,要从单实例预测问题中的ADME治疗学习任务获取HIA数据集:
from tdc.single_pred import ADME
data = ADME(name = 'HIA_Hou')
# 使用支架分割方法分割为训练/验证/测试集
split = data.get_split(method = 'scaffold')
# 以各种格式获取完整数据
data.get_data(format = 'df')
TDC数据函数
数据集分割
要检索训练/验证/测试数据集分割,只需输入:
data = X(name = Y)
data.get_split(seed = 42)
# {'train': df_train, 'val': df_val, 'test': df_test}
您可以在函数中指定分割方法、随机种子和分割比例,例如 data.get_split(method = 'scaffold', seed = 1, frac = [0.7, 0.1, 0.2])
。
模型评估策略
TDC为其任务提供了各种评估指标。例如,要使用ROC-AUC指标,您可以简单地输入:
from tdc import Evaluator
evaluator = Evaluator(name = 'ROC-AUC')
score = evaluator(y_true, y_pred)
数据处理
TDC提供了众多数据处理功能,包括标签转换、数据平衡、将数据配对到PyG/DGL图、负采样、数据库查询等。
分子生成预言机
对于分子生成任务,TDC提供了10多个预言机,用于目标导向和分布学习。例如,要检索GSK3Beta预言机:
from tdc import Oracle
oracle = Oracle(name = 'GSK3B')
oracle(['CC(C)(C)....'
'C[C@@H]1....',
'CCNC(=O)....',
'C[C@@H]1....'])
# [0.03, 0.02, 0.0, 0.1]
TDC排行榜
TDC中的每个数据集都是一个基准测试,我们为其提供了训练/验证和测试集,以及数据分割和性能评估指标。要参与特定基准测试的排行榜,请按以下步骤操作:
- 使用TDC基准数据加载器检索基准测试。
- 使用训练和/或验证集来训练您的模型。
- 使用TDC模型评估器计算模型在测试集上的性能。
- 将测试集性能提交到TDC排行榜。
由于许多数据集共享治疗主题,我们将基准测试组织成有意义定义的组,我们称之为基准组。基准组内的数据集和任务经过精心策划,围绕一个主题展开(例如,TDC包含一个支持ML预测ADMET属性的基准组)。
结语
Therapeutics Data Commons作为一个开放的科学倡议,为人工智能在治疗科学中的应用提供了坚实的基础。通过提供丰富的数据集、任务和评估工具,TDC不仅促进了跨学科合作,还加速了从基础研究到临床应用的转化过程。随着越来越多的研究人员和机构加入这个平台,我们期待看到更多创新性的AI方法在药物发现和开发中的应用,最终为患者带来更有效、更安全的治疗方案。
TDC的发展仍在继续,我们鼓励研究人员积极参与,贡献新的数据集、任务和方法,共同推动这个充满活力的领域向前发展。无论您是生物医学研究者、数据科学家还是AI专家,TDC都为您提供了一个独特的平台,让您的专业知识在治疗科学的进步中发挥关键作用。
让我们携手共创AI驱动的治疗科学新时代! 🧬🔬💻