当前位置: 首页 > news >正文

【基于Pytorch_Geometric从SMILES建立分子图molecular graph】 - 详解

分子图的Pytorch_Geometric实现方法

一、何为分子图

1.1 分子图与传统描述符

1.1.1 分子图示意

在这里插入图片描述

图1. 分子CH3COOH的分子图


分子图把有机分子中的原子看作节点node,把键看作是线edges,在图卷积神经网络中,分子图常常被用于输入卷积神经网络用于训练模型预测某些性质,比如分子的xlogP,用于衡量分子的亲水程度。

事实上计算机无法理解这些图,因此我们需要通过输入数字来把图喂给计算机

1.1.2 传统描述符

在这里插入图片描述
在这里插入图片描述

上述两幅图分别代表分子的MACCS指纹以及Rdkit生成的描述符,这些特征表述都以数字的形式表达了分子的特征,因此可以使用他们训练机器学习模型比如线性模型,随机森林模型或者神经网络。

1.1.3 如何量化图结构

想要让图结构能够喂给机器学习模型,需要量化图结构,这是机器学习的核心问题

特征矩阵能够对图结构表示的信息建立数值型表示,用于量化图结构
在这里插入图片描述
图2. 分子图结构的节点邻接矩阵


图2代表了分子图的节点邻接矩阵,两边分别表示节点索引,0,1,2,3分别代表分子的几号原子,可以看到当分子图中两原子有连接时,相应的两个原子值才为1,可以类比独热编码来理解。

在这里插入图片描述
图3. 分子的节点特征矩阵

可以看到特征矩阵的行索引和列索引分别对应着特征类型和原子数量,表征了每个原子具有怎么样的性质

拿0号原子举例,0号原子在atom type特征中使用one hot编码,表示该原子为碳原子,原子电荷为中性,原子质量(Atom Weight,AW)为12。


在这里插入图片描述
图4. 分子的边特征矩阵

图4展示了分子的边特征矩阵,边可以理解为分子中的化学键,(0,1)代表0和1的连接键,它是一个单键,(1,3)化学键是一个双键。

1.1.4 总结

在这里插入图片描述
将邻接矩阵,节点特征矩阵,边特征矩阵输入到卷积神经网络中训练模型最终实现某些功能比如预测预测分子的xlogP

二、基于Pytorch_Geometric的分子图生成方法

Pytorch_Geometric是一个基于Pytorch构建的库,可以轻松的编写和训练图神经网络,适用于各种和结构化数据相关的应用

使用库:matplotlib、networkx、rdkit、torch_geometric

from rdkit import Chem
from rdkit.Chem import Draw
from torch_geometric import from_smiles
import networkx as nx
import matplotlib.pyplot as plt
#以 甲基 N-(6-苯甲酰-1H-苯并咪唑-2-基)氨基甲酸酯 举例
smile = 'COC(=O)NC1=NC2=C(N1)C=C(C=C2)C(=O)C3=CC=CC=C3'
mol = Chem.MolFromSmiles(smile)
img = Draw.MolToImage(mol)
img

看一眼分子图:
在这里插入图片描述

graph = from_smiles(smile)
graph

输出:

Data(x=[22, 9], edge_index=[2, 48], edge_attr=[48, 3], smiles='COC(=O)NC1=NC2=C(N1)C=C(C=C2)C(=O)C3=CC=CC=C3')

输出结果详解:

  1. x是节点特征矩阵、edge_index是边的索引矩阵()、edge_attr是边的特征矩阵

  2. 节点特征矩阵x = [22,9],对应输出:

tensor([[6, 0, 4, 5, 3, 0, 4, 0, 0],
[8, 0, 2, 5, 0, 0, 3, 0, 0],
[6, 0, 3, 5, 0, 0, 3, 0, 0],
[8, 0, 1, 5, 0, 0, 3, 0, 0],
[7, 0, 3, 5, 1, 0, 3, 0, 0],
[6, 0, 3, 5, 0, 0, 3, 1, 1],
[7, 0, 2, 5, 0, 0, 3, 1, 1],
[6, 0, 3, 5, 0, 0, 3, 1, 1],
[6, 0, 3, 5, 0, 0, 3, 1, 1],
[7, 0, 3, 5, 1, 0, 3, 1, 1],
[6, 0, 3, 5, 1, 0, 3, 1, 1],
[6, 0, 3, 5, 0, 0, 3, 1, 1],
[6, 0, 3, 5, 1, 0, 3, 1, 1],
[6, 0, 3, 5, 1, 0, 3, 1, 1],
[6, 0, 3, 5, 0, 0
http://www.jsqmd.com/news/57777/

相关文章:

  • 2025年12月宜宾搬家公司推荐排行榜:基于服务网络与设备能力的客观评测
  • 清洗剂厂家TOP5权威推荐:甄选优质厂商助力清洁行业绿色升级
  • 2025年工业清洗剂厂家排行榜:清洗剂制造厂哪家售后好
  • 2025年中国特殊工业胶带行业口碑排名:谊鑫胶带行业口碑排名
  • 2025年十大江西智能密集柜供应企业哪家专业排行榜,智能密集
  • 2025年12月制氢厂家推荐排行榜:五家优质企业综合对比与选购指南
  • 2025年12月电竞培训学校推荐排行榜:五家机构综合对比和择校指南
  • 2025年12月电竞培训学校对比评测排行榜:五家电竞教育机构深度解析与推荐
  • 2025年12月电竞培训学校对比评价与推荐排行榜:五所机构深度解析
  • 功能磁共振成像动态脑功能连接网络分析方法及其在脑疾病中的应用
  • 2025年12月电竞培训学校推荐排行榜:五大电竞教育机构深度对比与择校指南
  • swift 双范围slider
  • 2025年12月电竞培训学校推荐排行榜:五家机构综合对比与择校指南
  • 2025年12月成都艺考文化课培训学校推荐排行榜单对比与评测分析
  • 2025年12月制氢厂家推荐排行:基于技术实力与项目经验的五家厂商客观对比
  • 2025年12月成都艺考文化课培训学校推荐排行榜单:大成高考领衔五家机构深度对比
  • 2025年12月游泳池工程公司推荐排行榜:五家服务商综合对比与选择指南
  • 2025年12月制氢厂家推荐排行榜单对比分析:行业头部企业实力解析与选购指南
  • 2025年可靠的高档四件套/秋冬四件套厂家最新实力排行
  • 2025年12月耐火砖厂家推荐排行对比分析:五家企业综合评估与选择指南
  • 2025年12月游泳池工程公司推荐排行榜:五家优质服务商综合对比与选择指南
  • 北京注重个人隐私能保密的上门字画收购个人和公司
  • 2025年12月成都艺考文化课培训学校综合对比与排名推荐:五家机构深度评测与选择指南
  • 实用指南:Python爬虫入门:从0到1写第一个爬虫(爬豆瓣电影TOP250)
  • 二零二五年十二月耐火砖厂家推荐排行与评测:基于产品性能及服务能力的客观对比分析
  • 2025年诚信的床上用品/蚕丝床上用品最新TOP品牌厂家排行
  • 布鲁克核磁扫描参数
  • 2025年12月宜宾搬家公司推荐排行榜:五家服务商综合对比与选择指南
  • 二零二五年十二月成公关公司推荐排行榜对比评测:专业服务助力品牌形象提升
  • 2025年评价高的儿童蚕丝被行业内知名厂家排行榜