首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从原子和键列表绘制分子的2D和/或3D图

绘制分子的2D和3D图可以使用多种工具和库。以下是一些常用的方法和库,帮助你从原子和键列表绘制分子的2D和3D图。

使用 RDKit 绘制 2D 分子图

RDKit 是一个用于化学信息学的开源工具包,支持分子的2D绘制。你可以使用 RDKit 从原子和键列表生成分子对象,并绘制其2D图。

安装 RDKit

首先,确保你已经安装了 RDKit。你可以使用 conda 安装:

代码语言:javascript
复制
conda install -c conda-forge rdkit

使用 RDKit 绘制 2D 分子图

以下是一个示例代码,展示如何使用 RDKit 绘制2D分子图:

代码语言:javascript
复制
from rdkit import Chem
from rdkit.Chem import Draw

# 创建分子对象
mol = Chem.MolFromSmiles('CCO')  # 例如,乙醇

# 绘制2D分子图
img = Draw.MolToImage(mol)
img.show()

使用 Py3Dmol 绘制 3D 分子图

Py3Dmol 是一个用于3D分子可视化的Python库。你可以使用 Py3Dmol 从原子和键列表生成分子对象,并绘制其3D图。

安装 Py3Dmol

你可以使用 pip 安装 Py3Dmol:

代码语言:javascript
复制
pip install py3Dmol

使用 Py3Dmol 绘制 3D 分子图

以下是一个示例代码,展示如何使用 Py3Dmol 绘制3D分子图:

代码语言:javascript
复制
import py3Dmol

# 创建3D分子对象
view = py3Dmol.view(query='molecule:CCO')  # 例如,乙醇
view.setStyle({'stick': {}})
view.show()

使用 Open Babel 绘制 2D 和 3D 分子图

Open Babel 是一个用于化学信息学的开源工具包,支持分子的2D和3D绘制。你可以使用 Open Babel 从原子和键列表生成分子对象,并绘制其2D和3D图。

安装 Open Babel

你可以使用 conda 安装 Open Babel:

代码语言:javascript
复制
conda install -c conda-forge openbabel

使用 Open Babel 绘制 2D 和 3D 分子图

以下是一个示例代码,展示如何使用 Open Babel 绘制2D和3D分子图:

代码语言:javascript
复制
import openbabel

# 创建分子对象
obConversion = openbabel.OBConversion()
obConversion.SetInAndOutFormats("smi", "mol")
mol = openbabel.OBMol()
obConversion.ReadString(mol, "CCO")  # 例如,乙醇

# 绘制2D分子图
obConversion.SetOutFormat("svg")
svg = obConversion.WriteString(mol)
with open("molecule_2d.svg", "w") as f:
    f.write(svg)

# 绘制3D分子图
obConversion.SetOutFormat("xyz")
xyz = obConversion.WriteString(mol)
with open("molecule_3d.xyz", "w") as f:
    f.write(xyz)

使用 JSmol 绘制 3D 分子图

JSmol 是一个用于3D分子可视化的JavaScript库。你可以使用 JSmol 在网页中嵌入3D分子图。

使用 JSmol 绘制 3D 分子图

以下是一个示例代码,展示如何使用 JSmol 绘制3D分子图:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="https://chemapps.stolaf.edu/jmol/jsmol/JSmol.min.js"></script>
</head>
<body>
    <script type="text/javascript">
        var Info = {
            width: 500,
            height: 500,
            use: "HTML5",
            j2sPath: "https://chemapps.stolaf.edu/jmol/jsmol/j2s",
            script: "load data/mol/ethanol.mol; wireframe only; spacefill 20%;",
            debug: false
        };
        Jmol.getApplet("jmolApplet0", Info);
    </script>
    <div id="jmolApplet0" style="width: 500px; height: 500px;"></div>
</body>
</html>
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

让化学分子动起来——MolView

,同时支持2D3D效果。...一旦绘制输入了一个分子,即可单击2D to 3D按钮将分子转换为3D模型,并显示在3D模型查看器中。...顶部工具栏 通过顶部工具栏我们可以对画布图形进行操作,如清除画图、添加/删除原子/、移动原子2D3D等。...Top toolbar 左侧工具栏 左侧工具栏可以选择合类型(单键、双键、三、上、下键),添加修改;直接添加特殊结构如苯、环丙烷等;创造碳原子链以及增加减少原子电荷等。...Left toolbar 右侧工具栏 在右侧工具栏中可以多个元素中进行选择,也可以使用最后一个按钮元素周期表中选择一个元素来创建新原子修改现有原子

1.9K30

eeglab教程系列(7)-数据叠加平均{2}绘制2D3D

1.绘制一些列2D ERP scalp maps 本案例中将绘制一系列2-D scalp maps,其中每个图表明是一个特定潜伏期电压分布。...2.绘制一些列3D ERP scalp maps 在eeglab界面上操作:Plot > ERP map series > In 3-D,将会弹出查询窗口(如下),要求您创建并保存一个新三维头部图三维样条线文件...此时有两种选择:如果已经为此通道位置结构生成了样条文件,则可以在第一个编辑框中将其输入此处(首先单击"使用现有样条文件结构以激活编辑框",然后浏览 如果没有创建这样文件,则需要生成一个。...输入输出文件名(在第二个编辑框中),绘制绘制等待时间(下面的0:100:500,指示等待时间0、100、200、300、400500 ms),然后按"OK"。...在上图中,点击"OK",即可弹出3D scalp maps. ? 在上图中,可以点击任意一个,会弹出一个子窗口来单独绘制。 ? 可以在子图中根据需求进行旋转等操作: ?

62620
  • eeglab教程系列(8)-数据叠加平均{2}绘制2D3D

    1.绘制一些列2D ERP scalp maps 本案例中将绘制一系列2-D scalp maps,其中每个图表明是一个特定潜伏期电压分布。...输入后点击"OK",出现如下界面: 2.绘制一些列3D ERP scalp maps 在eeglab界面上操作:Plot > ERP map series > In 3-D,将会弹出查询窗口(如下)...此时有两种选择:如果已经为此通道位置结构生成了样条文件,则可以在第一个编辑框中将其输入此处(首先单击"使用现有样条文件结构以激活编辑框",然后浏览 如果没有创建这样文件,则需要生成一个。...输入输出文件名(在第二个编辑框中),绘制绘制等待时间(下面的0:100:500,指示等待时间0、100、200、300、400500 ms),然后按"OK"。...在上图中,点击"OK",即可弹出3D scalp maps. 在上图中,可以点击任意一个,会弹出一个子窗口来单独绘制。 可以在子图中根据需求进行旋转等操作:

    66430

    PCA分析 | 不同品种基因型数据绘制2D3DPCA

    PCA是降维一种方法。 很多软件可以分析PCA,这里介绍一下使用plink软件R语言,进行PCA分析,并且使用ggplot2绘制2D3DPCA。...绘制如下: 2-D PCA: image.png 图片解释,将每个品种用不同颜色表示,同时绘制置信区间圆圈,X坐标是PC1,解释24.9%变异,Y坐标是PC2,解释10.61%变异。...可以看到,三个品种在PCA图里面分比较开,C品种有两个AB点,应该是异常数据。...2,计算G矩阵 3,计算PCA特征向量特征值 4,根据特征值计算解释百分比 5,根据特征向量品种标签,进行PCA绘制 绘制代码如下: 首先,使用plink命令,将基因型数据转化为012...然后使用R语言,计算PCA,并绘制PCA

    2.4K50

    eeglab中文教程系列(7)-数据叠加平均{2}绘制2D3D

    本教程为脑机学习者Rose发表于公众号:脑机接口社区(微信号:Brain_Computer),QQ交流群:903290195 [欢迎关注] 1.绘制一些列2D ERP scalp maps 本案例中将绘制一系列...[2] 输入后点击"OK",出现如下界面: [3] 2.绘制一些列3D ERP scalp maps 在eeglab界面上操作:Plot > ERP map series > In 3-D,将会弹出查询窗口...此时有两种选择:如果已经为此通道位置结构生成了样条文件,则可以在第一个编辑框中将其输入此处(首先单击"使用现有样条文件结构以激活编辑框",然后浏览 如果没有创建这样文件,则需要生成一个。...输入输出文件名(在第二个编辑框中),绘制绘制等待时间(下面的0:100:500,指示等待时间0、100、200、300、400500 ms),然后按"OK"。...[7] 在上图中,点击"OK",即可弹出3D scalp maps. [8] 在上图中,可以点击任意一个,会弹出一个子窗口来单独绘制

    96200

    Transformer-M:一个能理解2D3D分子Transformer

    为了实现跨模态处理分子任务,作者开发了一种新基于Transformer分子模型Transformer-M。它可以将2D3D格式分子数据作为输入,并生成有意义语义表示。...与视觉语言数据通常具有固定格式不同,分子可以使用不同化学方法进行表征。比如,可以将分子视为2D,也可以将其定义为位于3D空间中原子集合。...然而,以往工作大多集中于设计2D3D结构神经网络模型,导致一种形式模型无法应用到另一种形式任务中。...2D通道使用度编码、最短路径距离编码2D结构中提取边编码。最短路径距离编码边编码反映了一对原子之间空间关系特征,在softmax注意中用作偏置项。度编码被添加到输入层原子特征中。...在训练过程中,当batch中数据是2D时,2D通道将被激活,3D通道将被禁用。类似地,当batch中数据是3D几何结构时,3D通道将被激活,而2D通道将被禁用。

    1.1K30

    直接分子构象生成

    3D分子构象生成指的是给定2D分子,生成对应稳定3D分子构象,即生成每一个原子坐标。相对于传统基于实验或者数值计算方法,基于机器学习方法具有计算速度快、计算效果好优势。...所以,在本篇论文中,作者设计了一种方案(direct molecular conformation generation, 简记为DMCG)可以直接2D分子生成3D分子构象而不借助中间变量。...网络每一层包含四个模块,它们工作方式如下:(1)对于每一个化学,利用它两个端点原子特征去更新该化学特征;(2)对于任意原子,利用和它相邻化学去更新原子特征;(3)利用刚刚更新原子化学特征去更新分子一个整体表达...拓展:2D & 3D 联合预训练 DMCG侧重于2D分子生成3D构象。基于DMCG模型架构训练方案,作者提出基于2D & 3D联合预训练。该工作发表于KDD2022。...具体来说,给定一个2D原子每个原子坐标,随机遮盖掉一部分原子坐标,训练目标是重构被遮盖掉部分。四(b)展示是给定2D分子,重构它3D构象。这部分采用是DMCG方案。

    1.1K30

    JCIM|扩散模型在从头药物设计中应用与发展

    本文综述了当前扩散模型在3D分子生成领域技术实现,涵盖了分子生成任务中原子表示、反向扩散去噪网络架构,以及生成稳定3D分子结构时面临挑战。...1 扩散模型示意图 生成模型在分子科学中应用 在药物发现中,生成模型近年来取得了重要进展,尤其是在1D、2D3D空间中生成小分子。...RNN主要用于基于字符串分子表示,例如SMILESSELFIES,而VAEGAN模型则广泛应用于2D3D原子坐标的生成。...3 反向扩散中常用神经网络架构简单说明:A-transformers、B-GNNsC-CNNs(3D) 扩散模型技术实现与挑战 在分子生成任务中,如何有效地表示编码分子原子是扩散模型面临主要挑战之一...在3D图中,节点不仅包含原子类型信息,还包含原子位置,而边可以显式表示为特征通过3D坐标的距离隐式编码。

    16310

    中南大学邓磊教授团队提出MolMVC模型,通过多视图对比学习增强药物相关任务分子表征

    对于2D3D数据,作者使用了Transformer,能够同时邻近原子中捕获局部信息整个分子中捕获全局信息,模型包括两个主要组件:编码器Transformer编码器。...与一般Transformer不同,对于2DTransformer,作者引入原子度(即与之有化学相连原子个数)进行位置编码,引入自注意力层最短路径距离(SPD),对原子对之间拓扑关系进行编码...利用这个排名作为指导,作者选择屏蔽一定比例1D ESPF片段,或者屏蔽注意力得分最高2D3D图形原子。...如图4所示,预训练数据集中随机选择两个分子作为示例。每个部分原子颜色对应于一个色条梯度,最亮在底部,最暗在顶部,按比例变化。可视化结果来看,有以下观察结果。...首先,三种数据模式注意力得分都集中在卤素原子上:4A中4B中溴。卤素通常用于增强分子脂溶性,帮助药物通过生物膜。其次,在2D3D中,含氮组注意力得分更高。

    16710

    Cell Reports Methods | 深度几何分子学习

    事实上目前已经开发了5000多种分子结构描述符,可以概括为一维(1D)、二维(2D)、三维(3D四维(4D)特征。1D分子描述符包括原子计数、计数、分子重量等其他总结一般属性。...2D分子描述符包括属性、组合属性等。3D分子描述符包括分子表面属性等。生成3D分子描述符通常需要较高计算成本。4D化学描述符则表征了动态过程中构型变化。...在这些GDL中,分子被表示为分子、密度函数分子表面,可以使用各种深度学习模型,如三维卷积神经网络(3D CNNs)、神经网络(GNNs)、递归神经网络(RNNs)等,来自动学习分子性质。...1中可以看出,基于共价分子GDL并不具有最佳性能。相比之下,使用非共价分子GDL不仅可以取得可比结果,甚至还可以超越基于共价模型。...几何学角度来看,对于特定,只有当两个原子之间欧几里得距离位于一定区域内时,才会在它们之间形成一条边。通过这种方式可以灵活地构建不同分子

    45210

    . | 扩散模型实现基于结构三维分子生成与先导化合物优化

    这种策略涉及构建两种类型虚拟边。首先,原子间距离低于局部阈值τl原子对通过共价局部边缘连接,因为当原子靠近时,化学倾向于主导原子间力。...分析PMDM在化学空间分布上表现 4 在分析了PMDM生成分子局部几何结构后,作者接着全局角度评估生成分子化学空间分布。...由于化学结构三维性是药物化学分子设计本质,作者也关注化学结构形状。在此采用包括Morgan、RDKitUSRCAT指纹2D3D分子指纹来表示生成分子测试集分子化学空间。...PMDM生成分子化学空间可以覆盖测试集中分子2D亚结构空间中,表明PMDM能够正确地模拟测试集2D化学空间(4a, b)。...如图5所示,作者绘制了过滤分子三个关键属性(QED、SAVina分数)分布。可以观察到,PMDM能够在保持良好属性同时生成具有良好亲和力分子

    58210

    KDD 2023 | 第四范式开发用于分子性质预测生成式3D预训练模型

    然而,由于高昂计算成本,在大规模数据实时计算分子3D结构几乎是不可行[1]。 1:cc(=o)oc1=cc=cc=c1c(=o)o2D分子(左)3D构象(右)。...在过去几年中,一种主流方法是将分子建模为 2D 结构,其中以原子作为节点,而边作为化学,将整个分子性质预测建模为级(Graph-level)预测任务,并应用 GNN(Graph Neural...2D模型近似DFT整个过程,通过输入2D分子直接预测分子性质;3D模型在2D分子基础上还需要进一步输入3D分子构象,以获得更好预测性能。...生成式预训练任务使模型能够理解分子 2D 拓扑到 3D 几何基于 DFT 优化过程。...势能面将分子能量定义为多个坐标轴函数,分子3D构象优化就是在势能面上寻找局部最小值,而3D构象中几何信息可以通过连接两个原子长、三个相连原子键角三个连续二面角来描述 其中,h 代表对应节点表示向量

    39710

    Drug Discov Today | 基于对接生成模型用于新药发现

    两种分子表征方法,即诸如SMILES分子指纹线性化文本表征,以及基于分子表征,在分子设计中得到普遍使用。相比于线性化文本表征,分子能够有效描述原子之间几何关系。分子可以是2D3D。...2D捕捉了原子邻域信息,而3D则捕捉了分子构象(conformation)关系。 自回归(autoregressive)模型是CADD中应用最广泛生成模型之一。...前者构建结合口袋描述,并使用2D表征直接在袋内构建3D分子来创建最适合所述结合位点化合物。后者专门针对所选药物靶点进行训练。它们可以通过强化学习、遗传算法不同迭代方法来指导。...为了生成网格中获得有效分子,使用结合束搜索梯度下降算法来返回一组原子类型坐标,它们与给定原子密度网格最匹配,通过各自分配结合成有效分子。...蛋白质配体原子被编码为通过k-NN算法连接原子,并且旋转不变GNN被用于在3D空间中创建原子概率密度。接下来,自回归采样算法用于使用估计概率密度模型中枚举分子

    56221

    Drug Discov Today|化学分子指纹概念应用

    一个通用分子指纹描述符通常具有以下特征: 1.能够表示分子局部结构(即能够表示每个原子及其最近邻居); 2.能够组合并有效且简单地表示分子结构物理化学性质; 3.能够编码指纹中高效、简单地解码为分子结构...化学拓扑性质来源于化学,数学上表示为,其中,是节点(原子)集合,为边(化学)集合。2D分子结构通常基于其拓扑性质表示,例如2D连接表,它是MOLSDF化合物格式基本单元(2)。...化合物常见拓扑性质包括:(1) 原子类型;(2) 每个非氢原子(邻接矩阵)连接性(度);(3) 每对原子拓扑距离(距离矩阵);(4) 原子离心率(atom eccentricity);(4) 通过特定方法确定化学原子重量...2 以苯甲醛(benzaldehyde)为例,将化学分子转化为2D连接表。(a) 标记每个非氢原子。(b) 标记二维连接表第一列第一行中原子标签。(c) 苯甲醛2D连接表。...Venkatraman等人比较了五个基于2D指纹五个基于3D指纹性能,并表明可以3D指纹中提取构象特征数量构象灵活性是提高3D方法性能关键。

    2.6K11

    . | 分子表征几何深度学习

    其中数学函数是应用于给定分子输入神经网络ℱ,可以对等变、不变其它。 1 欧几里得变换 分子学习 是表示分子结构最直观方法,任何分子都可用图表示,其中顶点表示原子,边表示化学。...根据系统中包含维数,网格可以是1D(序列)、2D (RGB图像)、3D(立方格)更高维。...2D网格通常更有利于可视化,3D网格通常用于捕获一个(多个)分子构象内属性空间分布,然后将这些信息用作3D卷积神经网络(3D-CNN)输入。...几何角度来看,分子表面被视为3D网格,即以一组多边形(面)来描述存在于3D空间网格坐标。...它们顶点可以用2D网格结构(网格上四个顶点定义一个像素)3D图形结构表示,可使用2D-CNN、geodesic CNNGNN在分子表面上学习。

    69720

    . | 利用高通量实验几何深度学习实现药物后期多样化

    在这个过程中,快速合成是重中之重,因为合成是设计-制造-测试-分析循环瓶颈。一些合成方法,如C–H选择性激活改造,使得有机框架后期功能化成为可能,这包括分子构建块到高级药物分子。...为了量化立体(3D电子(量子力学(QM))效应影响,输入分子被赋予了3DQM增强信息,从而为每个神经网络生成了四种不同分子2D3D、2DQM3DQM。...3d(左)展示了此任务九种不同神经网络比较。四个GTNN准确率显著高于ECFP4NN基线四个GNN。对于反应产率预测,原子电荷以及3D信息并没有影响GTNNGNN性能。...3d(中右)展示了为此任务九种不同神经网络比较,表明在3D图上训练GNN性能优于ECFP4NN以及在2D图上训练GNNGTNN。...在3D结构上训练aGNN在性能上超过了在2D结构上训练aGNN。aGNN3DQM模型总体上表现最佳,F分数为60 ± 4%。

    21110

    Pocket2Mol : 基于3D蛋白质口袋高效分子采样

    生成模型主要思想是在紧凑低维空间中高效地表示所有收集化学结构,并通过扰乱隐藏值来采样新候选药物。这些模型输出可以是一维化学描述符、二维(graph)3D结构。...另一种方法将 3D 口袋结构转换为分子 SMILES 字符串 2D 分子,但是没有明确建模小分子结构 3D 口袋之间相互作用。条件生成模型可以模拟 3D 口袋结构内 3D 原子密度分布。...然后这个问题挑战点学习分布转移到结构采样算法效率上。此外,以前模型过分强调原子 3D 位置重要性,而忽略了化学产生,这导致在实践中原子连接不切实际。...作者以下方向改进了基于口袋药物设计:第一,开发一种新深度几何神经网络来准确地模拟口袋 3D 结构;第二, 设计一种新采样策略,以实现更有效条件 3D 坐标采样;第三,将采样一对原子之间化学能力分配给...其余与被屏蔽原子有价分子原子被定义为边界。然后,位置预测器元素预测器试图通过预测掩蔽原子朝向相应前沿位置、元素类型与剩余分子原子,来恢复与前沿原子具有价掩蔽原子

    1.4K11

    Drug Discov Today | 分子表示与性质预测中深度学习方法

    (b) 对于2D表示,分子可以被表示为两个矩阵,即邻接矩阵特征矩阵。右边分子图像(由RDKit生成)是另一种2D表示形式。...在模型中,原子被表示为节点,化学被表示为边,每个节点都有自己特征。在数据帮助下,分子结构信息可使用GCNs提取。GCNs能够捕获有关连接节点之间关系信息。...3.4 基于3D方法 分子构象通常包含分子原子3D坐标,也称为几何数据,可以为分子性质预测提供额外空间信息。首先要解决问题是三维分子晶体数据集有限。...3.5 基于3D网格方法 3D网格是另一种使用分子几何数据表示方法,它将每个原子放置在一个多个网格中。...4 分子性质预测挑战和未来工作 作者还讨论了五方面分子性质预测挑战未来工作,包括: 3D数据上自监督学习方法 使用经验图卷积方法 1D、2D3D数据融合选择方法 元学习 分子性质预测中深度学习模型可解释性

    1.4K20

    JCIM|3D连接体设计深度生成模型

    这是通过迭代方式部分结构初始化原子池中构建新分子来实现(1)。在这个框架中,用户可以通过指定应该连接子结构和它们之间连接体最大长度来控制生成过程。...碎片被转换成图形表示,其中原子分别由节点边表示。通过编码器网络、标准门控神经网络(GGNN)节点隐藏状态进行更新以结合它们局域环境(1a)。...重建损失由两个交叉熵损失项组成,分别代表在预测原子类型重建产生目标分子所需步骤序列方面的错误。KL正则化损失包含两项,一个用于未连接片段编码,X,另一个用于连接分子Y导出低维向量z。...DeLinker产生了很高比例有效分子,通过了2D化学性质过滤器(表2),并在所有3D相似性度量方面大大优于数据库方法(表3)。 ? 表2....通过两个大规模评估,已经证明,此生成方法能够学习产生符合与训练集中存在约束相匹配连接体分布,同时能够满足2D3D约束新连接体。此外,生成分子与初始片段原始分子都具有很高三维相似性。

    1.1K10

    ICLR|基于3D几何信息分子图表示学习

    分子图表示学习是现代药物材料发现中一个基本问题。分子通常由其2D拓扑结构进行建模,但最近研究发现,3D几何信息在预测分子功能中起着更为重要作用。...具体到药物发现,本文对每个分子都有一个2D一定数量3D构象,本文目标是学习一个鲁棒2D/3D表示,可以在最大程度上恢复其3D/2D对应物。...实验结果 本文在相同数据集上进行模型预训练,然后对下游任务进行大范围微调。本文GEOM中随机选择了具有2D3D结构50k个合格分子进行预训练。...因此,本文设计了两个案例来验证GraphMVP如何将知识3D几何转化为2D表示。 第一个案例是3D直径预测。对于分子,通常2D直径越长,3D直径越大 (最大原子成对距离 l2)。...然而,这并不总是成立,本文尝试使用2D预测3D直径。第二个案例研究是远距离供体-受体检测。分子具有一种特殊几何结构,称为供体-受体,本文希望利用2D分子来检测这种特殊结构。

    83010
    领券