哈佛推出这款PyTorch工具包,10行代码训练“AI药神”模型
点上方蓝字计算机视觉联盟获取更多干货
在右上方 ··· 设为星标 ★,与你不见不散
仅作学术分享,不代表本公众号立场,侵权联系删除
转载于:量子位
AI博士笔记系列推荐
周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接
最近,来自哈佛大学等机构的研究人员,开发出了一个AI“药神”工具包,为加速新冠疫情下的新药研发助力。
这款名为DeepPurpose的工具包,不仅包含COVID-19的生物测定数据集,还有56种前沿的AI模型。
作为一个基于PyTorch的工具包,DeepPurpose只需要不到10行代码,就能训练出AI“药神”模型。
这些模型不仅能完成虚拟筛选,还能挖掘出已有药物的新功能(例如,高血压药物可治疗阿尔兹海默症)。
下面来看看它实现的原理。
56种前沿模型,功能齐全
DeepPurpose由两个编码器组成,分别用来生成药物分子和蛋白质的嵌入(Embedding),也就是深度学习过程中的映射。
随后,将这两个编码器串联到解码器中,用于预测二者的结合亲和力,如下图所示。
在这期间,模型的输入是药物靶标对(drug-target pair),输出则是指示药物-靶对的结合活性的分数。
当然,DeepPurpose毕竟是一个工具包,所以无论是药物分子、还是蛋白质,它们的编码器都不止一种类型。
对于药物分子,DeepPurpose提供了8种编码器。
在这些编码器中,有用于构造分子结构图的、有将绘制的分子转换成二进制数的、也有用于获取序列顺序信息的等……模型各有不同。
而对于靶蛋白,DeepPurpose也提供了7种编码器,相较于药物的化学和信息学, 编码器对靶蛋白的转换更多地侧重于生物学信息。
也就是说,DeepPurpose一共能提供7*8=56种模型,其中许多模型非常新颖前沿,值得入手。
那么,DeepPurpose究竟该怎么上手呢?
10步以内,上手AI“药神”
事实上,训练一个新药研发模型,需要通过以下几个步骤,每一步都只需要用1行代码实现,所有这些步骤加起来,也不超过10步。
来看看这个模型要经过的步骤:
1、数据加载
2、指定编码器
3、分割数据集、编码
4、生成模型配置文件
5、初始化模型
6、训练模型
7、旧药新用/虚拟筛选
8、模型保存/加载
其中,DeepPurpose最关键的两个功能,旧药新用和虚拟筛选可以在训练后实现。可以看见,DeepPurpose会自动生成药物的亲和度,并由低到高进行排序。
这样,就能快速缩小高通量分子的筛选范围(如果亲和度为0,那真的不必考虑了)。
至于虚拟筛选,也是类似的工作,会生成一个与上图相似的排名列表。
不仅如此,这个AI模型还包含另外几种案例,例如SARS-CoV2 3CLPro的旧药新用方法、预训练模型等。
此外,针对近期引发关注的新冠疫情,DeepPurpose也包含了MIT收集的COVID-19开源数据集。
针对这些数据,工具包中有相应的函数,可以直接引用。
而这个工具包的框架,正是基于药物研发的原理制作的。
靶蛋白:药物作用对象
药物筛选最根本的原理,通常是判断药物分子与靶蛋白(药物作用的目标)的亲和性。
为什么是蛋白质?
事实上,这是因为部分疾病(例如癌症、肿瘤)产生的原因,通常与某一类蛋白质有关,如果能找到、并用药物“调节”这种蛋白质,就能治愈疾病。
△ 图片来源于flickr
例如,细胞与细胞之间的交流,依靠的就是细胞膜上的糖蛋白。而某种疾病发生的原因,可能就是因为一类细胞上的糖蛋白过度表达。
而这个糖蛋白,就被称之为疾病过程中的靶蛋白。
但能用来调节某种靶蛋白的药物,并不好找,毕竟不是每种化合物都能很好地与靶蛋白“贴贴”。
在这样的基础上,研究人员开发了DeepPurpose,这个工具包能用于预测药物分子与靶蛋白的亲和度,专业学术名词叫药物-靶标相互作用(Drug-Target Interaction, DTI),简称DTI。
之所以选择用AI助力新药研发,也有其背后的原因。
AI助新药研发一臂之力
事实上,药厂研发出一种新药,需要15年左右,甚至更久。
而在这期间,光是研究开发的阶段,就要花掉2-10年。
研究开发的阶段,目的是筛选出有治疗潜力的新化合物,也就是说,每一种化合物都需要做实验,去不断试错。
这一过程不仅枯燥无味,而且工程量巨大,人力财力都得砸。
如果用AI完成药物筛选这一过程,对于新药研发的加速将会起到不小的作用。
作者介绍
论文的第一作者黄柯鑫,本科于纽约大学获得数学和计算机双学位,目前在哈佛大学读硕士,专业与医疗大数据有关。
黄柯鑫的研究方向,主要是图神经网络(GNN)在新药研发和医疗文本(如电子病历等)上的应用。
此外,Tianfan Fu、Lucas Glass、Marinka Zitnik、Cao Xiao和Jimeng Sun也共同参与了研究工作。
传送门
论文链接:
https://arxiv.org/abs/2004.08919
项目链接:
https://github.com/kexinhuang12345/DeepPurpose
黄柯鑫主页:
https://www.kexinhuang.com/
end
这是我的私人微信,还有少量坑位,可与相关学者研究人员交流学习
目前开设有人工智能、机器学习、计算机视觉、自动驾驶(含SLAM)、Python、求职面经、综合交流群扫描添加CV联盟微信拉你进群,备注:CV联盟
王博的公众号,欢迎关注,干货多多
王博的系列手推笔记(附高清PDF下载):
博士笔记 | 周志华《机器学习》手推笔记第一章思维导图
博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”
博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”
博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”
博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”
博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)
博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)
博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)
博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)
博士笔记 | 周志华《机器学习》手推笔记第八章(上)
博士笔记 | 周志华《机器学习》手推笔记第八章(下)
博士笔记 | 周志华《机器学习》手推笔记第九章
点个在看支持一下吧
哈佛推出这款PyTorch工具包,10行代码训练“AI药神”模型相关推荐
- 什么,PyTorch还能开发新药?哈佛推出这款工具包,10行代码训练“药神”模型...
萧箫 编辑整理 量子位 报道 | 公众号 QbitAI 最近,来自哈佛大学等机构的研究人员,开发出了一个AI"药神"工具包,为加速新冠疫情下的新药研发助力. 这款名为DeepPur ...
- 用少于10行代码训练前沿深度学习新药研发模型
©PaperWeekly · 作者|黄柯鑫 学校|哈佛大学硕士生 研究方向|图学习和生物医疗 深度学习正在革新药研发行业.在本文中,我们将展示如何使用 DeepPurpose,一个基于 PyTorch ...
- 10 行代码玩转 NumPy!
作者 | 天元浪子 来源 | Python作业辅导员 NumPy也可以画图吗?当然!NumPy不仅可以画,还可以画得更好.画得更快!比如下面这幅画,只需要10行代码就可以画出来.若能整明白这10行代码 ...
- 10行代码制作群聊提醒小助手,再也不怕漏掉消息了
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 胸中有誓深于海,肯使神州竟陆沉? ...
- 如何用10行代码设置微信回复功能?
大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会 吐槽你的微信头像 不好,要你换一个头像.微信对于年轻的我来说就是一个支付工具罢了,要说好玩,花样的我觉得还 ...
- 10 行代码提取复杂 Excel 数据
[摘要] 把 Excel 文件导入关系数据库是数据分析业务中经常要做的事情,但许多 Excel 文件的格式并不规整,需要事先将其中的数据结构化后再用 SQL 语句写入数据库.而一般情况下,结构化的工作 ...
- 10行代码实现目标检测,请收下这份教程
翻译 | 林椿眄 编辑 | 阿司匹林 出品 | AI科技大本营(公众号ID:rgznai100) 作为人工智能的一个重要领域,计算机视觉是一门可以识别并理解图像和场景的计算机及软件系统科学.该领 ...
- 实战:使用 Python 用不到 10 行代码计算汽车数量
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在这篇文章中,将教你如何使用 Python 用 10 行代码构建自 ...
- 10行代码带你搞定目标检测(附代码)
来源:大数据文摘 本文约2700字,建议阅读5分钟. 本文介绍采用代码搞定目标检测的技术. 计算机视觉是人工智能的一个重要领域,是关于计算机和软件系统的科学,可以对图像和场景进行识别.理解.计算机视觉 ...
最新文章
- 如何禁止浏览器自动填充
- mysql 去掉日期.0_简单介绍MySQL数据库中日期中包含零值的问题
- keras 模型简介
- TypeScript的安装步骤、运行问题及代码的简单运行
- QPW 点评阅读日志表(tf_appraise_read_log)
- Android学习笔记-ListView
- Kali Linux Web 渗透测试秘籍 第八章 中间人攻击
- 翻译:理解TCP/IP网络栈编写网络应用(上)
- sublime配置python编译环境及代码补全功能
- 在CentOS7上实现NFS共享
- weborder什么意思_WEB登录方式是什么意思?
- 看半小时漫画,通晓计算机基础
- DDC——Deep Domain Confusion Maximizing for Domain Invariance
- 定时任务执行框架quartz之时间配置参考以及Demo
- python web框架 多线程_Django基础一之web框架的本质
- 计算机组成王道考研ppt,2022计算机408考研-计算机组成原理课件-第一章.pdf
- 批量保存微信收藏的表情包
- Python堆糖网图片爬虫,多进程及多线程的使用例子
- html5 基本知识
- 中国十大邮箱排名,教育邮箱,企业邮箱怎么弄?
热门文章
- mysql 有索引 不被使用方法_MySQL教程100-索引在什么情况下不会被使用?
- svchost占用内存过高_「电脑常用技巧」电脑卡的原因(占用过高怎么办)?
- oracle 10g分区表,oracle10g--11gR2分区表汇总四
- python图形化编程实例,python交互式图形编程实例(三)
- int** 赋值_一篇文章搞明白Integer、new Integer() 和 int 的概念与区别
- java二分法排序算法_Java中使用二分法排序
- mysql中文问号 linux,解决Linux系统下Mysql数据库中文显示成问号的问题
- 百度地图加载空白颜色_详细解析百度收录和百度排名关系
- php100 linux,PHP100精华:很靠谱linux经常使用命令
- 部署knight项目