引言
由美国多所著名大学(哈佛大学,乔治亚理工大学,麻省理工学院,卡耐基梅隆大学,斯坦福大学,伊利诺伊大学厄巴纳 – 香槟分校)的研究人员,与医疗数据公司 IQVIA 合作,发布了医疗领域内首个面向疗法的统一机器学习开源框架 ——Therapeutics Data Commons (TDC)。
简介
Therapeutics Data Commons (TDC) 是第一个系统地整合和评估生物医学领域的机器学习框架。目前包含了20多个任务,和70多个高质量数据集。机器学习在生物医学方面的应用是一个十分令人兴奋的领域,前景广阔。TDC中的数据集、学习任务和基准的收集是领域和机器学习科学家的一个会议点。TDC可以大大加快机器学习模型的开发、验证以及向临床转变。

图1. TDC的数据集
图片来源于TDC官网 (https://tdcommons.ai/start/)
数据集
TDC的核心是收集与整理机器学习任务及其相关数据集,这些数据集包含各个领域。任务和数据集具有以下特点:
(1) 包含领域广:TDC涵盖了从湿实验生物靶点识别到生物医学产品制造的各种学习任务。
(2)与时俱进的学习任务和数据集:TDC定期更新,以添加新的数据集和学习任务,例如抗体治疗和基因编辑。
(3) 对机器学习良好的支持:在每个数据集中,TDC都提供了生物实体信息的丰富展示。特征信息是经过精心处理的。
TDC中的学习任务
TDC学习任务涵盖一系列治疗产品和管道。它跨越了小分子和生物制剂(抗体、肽、小RNA等)。此外,这些任务对应的药物研发管道如下:
(1) 靶点发现管道:旨在确定候选的药物靶点。
(2) 活性建模管道:旨在筛选,产生,或者从头开始设计单独的或者组合的候选药物。
(3) 有效性和安全性管道:旨在优化hits的特性,以便药物能够安全地有效地到达作用部位。
(4) 制造管道:目的在于合成。

图2. TDC中的学习任务
图片来源于TDC官网 (https://tdcommons.ai/start/)
TDC 功能
TDC实现了生物医学中机器学习方面常用的功能,可以方便,简单的进行使用。大体上,可以分为以下四大类:
(1) 模型评估:TDC包括一系列的度量函数,用于评估生物医学ML任务中的模型,以便模型可以应用到真实场景中。
(2) 数据分割:TDC包括各种数据分割 (data splits) 方案,以提高泛化能力。
(3) 数据处理:由于生物医学机器学习领域有很多复杂的数据,并包含了许多可以重复使用的函数,所以,TDC提供了方便使用的封装。
(4) 预测机 (Molecule Generation Oracles):分子设计任务需要预测函数 (oracle functions) 来度量生成分子的质量。迄今为止,TDC提供了17个预测机,每一个预测机都是为特定的目标制作的。

图3. TDC的功能
图片来源于TDC官网 (https://tdcommons.ai/start/)
安装以及使用
安装
可以直接使用pip进行安装
pip install PyTDC
使用
(1) 导入数据集
In [12]: from tdc.single_pred import ADME: data = ADME(name = 'Caco2_Wang'): df = data.get_data(): splits = data.get_split()Downloading...82.5k/82.5k [00:00<00:00, 166kiB/s]Loading...Done!# 数据将会以dataframe形式储存In [13]: df:Drug_ID ... Y0 (-)-epicatechin ... -6.2200001 (2E,4Z,8Z)-N-isobutyldodeca-2,4,10-triene-8 -y... ... -3.8600002 codeine ... -4.0900003 creatinine ... -5.9354094 danazol ... -4.840000... ... ...905Capric acid (decanoic acid) ... -4.680000906 Apometzgerin (2) ... -4.950000907 3 ... -5.080000908 51d ... -5.300000909 Cycloheximide ... -4.840000rows x 3 columns]# 而split则提供分割好的train以及testIn [14]: splits::Drug_ID ... Y0 (-)-epicatechin ... -6.221 (2E,4Z,8Z)-N-isobutyldodeca-2,4,10-triene-8 -y... ... -3.862 codeine ... -4.093 danazol ... -4.844 dexamethasone b D glucuronide ... -6.12... ... ...632 13h ... -5.36633 (Z)-19f ... -5.32634 Ac-C8-Enk-NH (3) ... -5.97635 Apometzgerin (2) ... -4.95636 Cycloheximide ... -4.84rows x 3 columns],: Drug_ID ... Y0 Raloxifene HCl ... -5.7227541 13 ... -4.6994852 5 ... -5.6479243 - ... -5.1900004 4b ... -6.000000... ... ...86 atropine ... -4.70000087 Guanabenz ... -4.33000088 4 ... -4.95860789 20(S)-camptothecin (CPT) ... -4.33184990 hexapeptide 07 ... -5.820000rows x 3 columns],: Drug_ID ... Y0 D ... -5.4890581 Angelol-B ... -4.8499292 Flavone ... -3.9201083 enalapril ... -5.6720004 Furazolidone ... -4.990000... ... …177 22 ... -5.229574178 21 ... -5.000000179 PB-27 ... -5.797940180 Gefitinib ... -4.480000181 5-chlorosalicylic acid ... -4.98000rows x 3 columns]}
(2) 预测机
例:Synthetic Accessibility (SA) 合成可及性分析
合成可及性分数代表合成一个分子合成方面的难易程度。TDC中的预测机是通过RDKit计算的。
In [4]: from tdc import Oracle
...: oracle = Oracle(name = 'SA')
...: oracle(['CC(C)(C)[C@H]1CCc2c(sc(NC(=O)COc3ccc(Cl)cc3)c2C(N)=O)C1',
...: 'CCNC(=O)c1ccc(NC(=O)N2CC[C@H](C)[C@H](O)C2)c(C)c1',
...: 'C[C@@H]1CCN(C(=O)CCCc2ccccc2)C[C@@H]1O'])
...: # [2.706977149048555, 2.8548373344538067, 2.659973244931228]
Downloading Oracle...
100%|█████████████████████████████████████| 9.05M/9.05M [00:05<00:00, 1.55MiB/s]Done!
Out[4]: [2.706977149048555, 2.8548373344538067, 2.659973244931228]
总结
TDC的优势在与其集中了生物医学方面的数据集,包含了各个管线,从靶点预测到ADMET分析,其同样也提供了一些简单的方便使用的函数用于进行数据处理,模型度量等等。同时,其预测机集成了了一些作者认为比较重要的度量分子的指标,这使的用户可以简单的输入SMILES便可以拿到想要的输出。
官方网站
https://tdcommons.ai/start/
工具下载
https://tdcommons.ai/start/
参考文献
Kexin Huang, Tianfan Fu, Wenhao Gao, Yue Zhao, Yusuf Roohani, Jure Leskovec, Connor W. Coley, Cao Xiao, Jimeng Sun, Marinka Zitnik, Therapeutics Data Commons: Machine Learning Datasets and Tasks for Therapeutics, 2021, preprint.