网站| NeurIPS 2024 AIDrugX 论文|自然化学生物学 2022 论文| NeurIPS 2021 论文|长纸|松弛| TDC 邮件列表| TDC 文档|贡献指南
人工智能有望重塑治疗科学。治疗数据共享是一项协调计划,旨在跨治疗模式和发现阶段访问和评估人工智能能力。它支持人工智能方法的开发,旨在为哪些人工智能方法最适合药物发现应用及其原因奠定基础。
跨学科的研究人员可以将 TDC 用于众多应用。 TDC 中人工智能可解决的任务、人工智能就绪的数据集和策划的基准是生化和人工智能科学家之间的交汇点。 TDC 促进算法和科学进步,并加速机器学习方法的开发、验证以及向生物医学和临床实施的过渡。
TDC 是一项开放科学倡议。我们欢迎社区的贡献。
[1] Velez-Arce、Huang、Li、Lin 等人,TDC-2:治疗科学多模式基金会,bioRxiv,2024 [论文]
[2] Huang,Fu,Gao,等,治疗科学人工智能基金会,自然化学生物学,2022 [论文]
[3] Huang、Fu、Gao 等,治疗数据共享:药物发现和开发的机器学习数据集和任务,NeurIPS 2021 [论文] [海报]
[4] Huang 等人,治疗数据共享中的分子机器学习基准,ELLIS ML4Molecules 2021 [论文] [幻灯片]
[5] Huang 等人,治疗数据共享:药物发现和开发的机器学习数据集和任务,Baylearn 2021 [幻灯片] [海报]
[6] Huang、Fu、Gao 等人,治疗数据共享,NSF-哈佛大学 2020 年未来大流行药物研讨会[#futuretx20] [幻灯片] [视频]
[7] TDC 用户组聚会,2022 年 1 月[议程]
[8] Zitnik,机器学习翻译癌症基因组和表观基因组会议,AACR 2022 年年会,2022 年 4 月
[9] Zitnik,网络生物学的少样本学习,KDD 生物信息学数据挖掘研讨会的主题演讲
[10] Zitnik,用于药物发现和开发的可行机器学习,布罗德研究所,模型、推理和算法研讨会,2021 年
[11] Zitnik,生物医学数据的图神经网络,计算生物学中的机器学习,2020
[12] Zitnik,用于识别 COVID-19 药物再利用机会的图神经网络,麻省理工学院 AI Cures,2020 年
在这里查看 TDC 的最新动态!
pip
要安装 TDC 的核心环境依赖项,请使用pip
:
pip install PyTDC
注意:TDC 处于测试版本中。请定期更新您的本地副本
pip install PyTDC --upgrade
核心数据加载器是轻量级的,对外部包的依赖最小:
numpy, pandas, tqdm, scikit-learn, fuzzywuzzy, seaborn
我们提供 TDC 入门教程:
姓名 | 描述 |
---|---|
101 | 引入 TDC 数据加载器 |
102 | 介绍TDC数据功能 |
103.1 | 浏览 TDC 小分子数据集 |
103.2 | 浏览 TDC Biologics 数据集 |
104 | 使用 15 行代码生成 21 个 ADME ML 预测器 |
105 | 分子生成预言 |
106 | 基准提交 |
直肠癌 | 在 DGL GNN 用户组会议上展示的演示 |
U1.1 | 首次 TDC 用户组聚会上展示的演示 |
U1.2 | 首次 TDC 用户组聚会上展示的演示 |
201 | TDC-2 资源和多模式单细胞 API |
第202章 | TDC-2 资源和 PrimeKG |
203 | TDC-2 资源和外部 API |
204 | TDC-2 模型轮毂 |
205 | TDC-2分子性质悬崖预测任务 |
TDC 具有独特的三层层次结构,据我们所知,这是系统地组织机器学习用于治疗的首次尝试。我们将 TDC 分为三个不同的问题。对于每个问题,我们提供了一系列学习任务。最后,对于每个任务,我们提供一系列数据集。
在第一层,在观察大量治疗任务后,我们对机器学习可以促进科学进步的三个主要领域(即问题)进行分类和抽象,即单实例预测、多实例预测和生成:
single_pred
:给定单个生物医学实体的属性预测。multi_pred
:给定多个生物医学实体的属性预测。generation
:新的理想生物医学实体的产生。TDC 结构中的第二层被组织成学习任务。这些任务的改进可以带来许多应用,包括识别个性化组合疗法、设计新型抗体、改进疾病诊断以及寻找新出现疾病的新疗法。
最后,在 TDC 的第三层,每个任务都通过多个数据集实例化。对于每个数据集,我们提供了几个训练集、验证集和测试集,以模拟过渡到所需的理解和泛化类型(例如,模型泛化到完全未见过的化合物或精细解析患者对多种疗法的反应的能力)。生产和临床实施。
TDC 提供了一系列具有直观、高级 API 的工作流程,供初学者和专家使用 Python 创建机器学习模型。在 TDC 中构建模块化的“问题 - 学习任务 - 数据集”结构(见上文),我们提供了一个三层 API 来访问任何学习任务和数据集。这种分层 API 设计使我们能够轻松合并新任务和数据集。
举一个具体的例子,从单实例预测问题的 ADME 治疗学习任务中获取 HIA 数据集:
from tdc . single_pred import ADME
data = ADME ( name = 'HIA_Hou' )
# split into train/val/test with scaffold split methods
split = data . get_split ( method = 'scaffold' )
# get the entire data in the various formats
data . get_data ( format = 'df' )
您可以查看属于某个任务的所有数据集,如下所示:
from tdc . utils import retrieve_dataset_names
retrieve_dataset_names ( 'ADME' )
在 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 包含一个基准组来支持 ADMET 属性的 ML 预测)。虽然每个基准测试组都包含多个基准测试,但可以单独提交每个基准测试的结果。以下是访问基准测试的代码框架:
from tdc import BenchmarkGroup
group = BenchmarkGroup ( name = 'ADMET_Group' , path = 'data/' )
predictions_list = []
for seed in [ 1 , 2 , 3 , 4 , 5 ]:
benchmark = group . get ( 'Caco2_Wang' )
# all benchmark names in a benchmark group are stored in group.dataset_names
predictions = {}
name = benchmark [ 'name' ]
train_val , test = benchmark [ 'train_val' ], benchmark [ 'test' ]
train , valid = group . get_train_valid_split ( benchmark = name , split_type = 'default' , seed = seed )
# --------------------------------------------- #
# Train your model using train, valid, test #
# Save test prediction in y_pred_test variable #
# --------------------------------------------- #
predictions [ name ] = y_pred_test
predictions_list . append ( predictions )
results = group . evaluate_many ( predictions_list )
# {'caco2_wang': [6.328, 0.101]}
欲了解更多信息,请访问此处。
如果您发现 Therapeutics Data Commons 有用,请引用我们的 NeurIPS'24 AIDrugX 论文、我们的 NeurIPS 论文和 Nature Chemical Biology 论文:
@inproceedings{
velez-arce2024signals,
title={Signals in the Cells: Multimodal and Contextualized Machine Learning Foundations for Therapeutics},
author={Alejandro Velez-Arce and Kexin Huang and Michelle M Li and Xiang Lin and Wenhao Gao and Bradley Pentelute and Tianfan Fu and Manolis Kellis and Marinka Zitnik},
booktitle={NeurIPS 2024 Workshop on AI for New Drug Modalities},
year={2024},
url={https://openreview.net/forum?id=kL8dlYp6IM}
}
@article{Huang2021tdc,
title={Therapeutics Data Commons: Machine Learning Datasets and Tasks for Drug Discovery and Development},
author={Huang, Kexin and Fu, Tianfan and Gao, Wenhao and Zhao, Yue and Roohani, Yusuf and Leskovec, Jure and Coley,
Connor W and Xiao, Cao and Sun, Jimeng and Zitnik, Marinka},
journal={Proceedings of Neural Information Processing Systems, NeurIPS Datasets and Benchmarks},
year={2021}
}
@article{Huang2022artificial,
title={Artificial intelligence foundation for therapeutic science},
author={Huang, Kexin and Fu, Tianfan and Gao, Wenhao and Zhao, Yue and Roohani, Yusuf and Leskovec, Jure and Coley,
Connor W and Xiao, Cao and Sun, Jimeng and Zitnik, Marinka},
journal={Nature Chemical Biology},
year={2022}
}
TDC 建立在其他开源项目之上。此外,如果您在研究中使用了这些数据集/函数,请引用原始作品。您可以在网站上找到该函数/数据集的原始论文。
TDC 是一项社区驱动的开放科学倡议。要参与其中,请加入我们的 Slack Workspace 并查看贡献指南!
请通过 [email protected] 联系我们或打开 GitHub 问题。
许多 TDC 数据集托管在Harvard Dataverse 上,具有以下持久标识符 https://doi.org/10.7910/DVN/21LKWG。当Dataverse维护时,无法检索TDC数据集。这种情况很少发生;请在Dataverse网站上查看状态。
TDC 代码库根据 MIT 许可证获得许可。个别数据集的使用请参阅网站上的数据集许可。