用Python生成化学结构式

2023-11-17

from rdkit import Chem
from rdkit.Chem.Draw import rdMolDraw2D

print("欢迎使用化学式绘制工具!")
while 1:
    # 绘制主链
    print("示例:CCC(C)CC 是第三个碳原子上有有一个碳链,这个碳链由一个碳原子构成。")
    model = input("输入化学式:")
    if model == "exit":
        exit()
    # mol = Chem.MolFromSmiles('CCC(C)CC(C)C(C)CC')
    mol = Chem.MolFromSmiles(model)

    # 设定高度和宽度
    drawer = rdMolDraw2D.MolDraw2DSVG(500, 200)

    # 设置绘制选项
    opt = drawer.drawOptions()
    opt.additionalAtomLabelPadding = 0.2

    # 绘制化学结构式
    drawer.DrawMolecule(mol)
    drawer.FinishDrawing()

    # 将绘制结果保存为SVG格式文件
    with open('output.svg', 'w') as f:
        f.write(drawer.GetDrawingText())
    print("图片已经生成,请到目录下查看!")

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用Python生成化学结构式 的相关文章

  • python 中 matlibplot 中散点图的缩放轴

    我正在使用 matlibplot 进行数据可视化 我的绘图共有 6502 个数据值 运行良好 但值接近且密集 例如 我的 y 轴值范围在 3 到 10 之间 我需要清楚地获取它们之间的每个点 即像 9 2 和 9 8 这样的值至少要以 1
  • 使用 Celery 时出现错误消息“无法找到记录器“多处理”的处理程序”

    RabbitMQ http en wikipedia org wiki RabbitMQ现在似乎工作正常 然而 当我尝试 python m celery bin celeryd loglevel INFO 常规的celeryd不起作用 我收
  • Python 中的空填字游戏求解器

    我得到了一个包含填字游戏蓝图的矩阵 当然 它是空的 我们的目标是填补整个难题 这是 Checkio 的一项任务 我已经为此奋斗了相当长一段时间 根据我对复杂性的理解 这个问题没有完美的算法 不过 必须有最好的方法来做到这一点 对吧 我尝试了
  • Pandas groupby:根据另一列中的值更改一列中的值

    我会尽力解释我的问题 但我是 Pandas 新手 所以请耐心等待 我有一个 Pandas 数据框df Random ID Seq ID Type Seq Token 0 8 1 User First 1 8 2 Agent Second 2
  • Python:如何使用 f 字符串进行数学运算

    我正在尝试使用 python 3 6 的新 f 字符串功能编写自己的 99 瓶啤酒实现 但我被困住了 def ninety nine bottles for i in range 10 0 1 return f i bottles of b
  • 如何在Python中绘制“Trace Explorer”?

    我需要重新创建一个情节 踪迹浏览器 https www bupar net trace explorer html与下面在 R 中创建的类似 我希望使用 matplotlib 但找不到任何有关如何执行这样的跟踪资源管理器的示例或参考 有人能
  • Django - 403 Forbidden CSRF 验证失败

    我在 Django 中为我的网站提供了一个联系表单 当我在本地测试它时 它工作正常 但现在当我尝试 实时 提交我的联系表单时 它总是出现 403 禁止 CSRF 验证失败 view def contact request if reques
  • Python 的贝叶斯垃圾邮件过滤库

    我正在寻找一个可以进行贝叶斯垃圾邮件过滤的 Python 库 我查看了 SpamBayes 和 OpenBayes 但两者似乎都没有维护 我可能是错的 谁能推荐一个好的 Python 或 Clojure Common Lisp 甚至 Rub
  • 将 *.appspot.com 重定向到自定义域:Google 应用引擎 (Django)

    我直接将我的一些示例代码放在这里以获得更好的了解 url py r robots txt myapp views robots r myapp views home views py def home request my code ret
  • 测试 python 列表的所有元素是否为 False

    如何返回False如果所有元素都在列表中False 给定的列表是 data False False False Using any https docs python org 2 library functions html any gt
  • 忽略 NaN 的列表理解

    我正在尝试构建一个列表理解 其条件是不导入 nan 值 但运气不佳 以下是当前代码以及结果输出 什么条件会将 nan 从列表中删除 def generate labels filtered df columnName return labe
  • 动态组装 Python 模块,动态导入

    我正在努力让自己熟悉importlib钩子 我想实现直接导入用其他语言编写的非Python文件并维护源映射的能力 因此提高SyntaxError带有行号的 s 仍然会给出有意义的堆栈跟踪 我加载外部文件的方法是组装 Pythonic 源代码
  • 确定 TCP Listen() 队列中当前积压的连接数

    有没有办法找出currentLinux 上 TCP 套接字上等待 Accept 的连接尝试次数 我想我可以在每个事件循环上点击 EWOULDBLOCK 之前计算成功的 Accept 数量 但我使用的是隐藏这些细节的高级库 Python Tw
  • 使用 Python 访问 MP3 音乐数据

    我正在尝试编写一个 Python 脚本 用于使用歌曲的数据作为比较的基础来搜索重复的 mp3 4 文件 我的情况涉及许多文件名相似但 ID3 标签不同的 mp3 4 文件 起初 我尝试循环并使用 md5 来查找重复文件 忽略文件名 当然 当
  • 如何将字符串转换为二进制?

    我需要一种方法来获取 python 中字符串的二进制表示形式 例如 st hello world toBinary st 是否有一个模块可以以某种巧妙的方式执行此操作 像这样的东西吗 gt gt gt st hello world gt g
  • 无法使用 pandas 获取平均日期

    我有一个时间序列数据集 我想从中获取平均日期 这是一个人为的示例 显示 pandas datetime64 对象的溢出错误 import pandas as pd import numpy as np rng pd date range 2
  • 带过滤器的 SQLAlchemy func.count

    我正在使用一个进行分页的框架 如下所示 def get count query self return self session query func count select from self model def paginate se
  • python - 从完整地址获取邮政编码

    我有一个数据框 其中一列中有完整地址 我需要创建一个仅包含邮政编码的单独列 有些地址只有五位数字的邮政编码 而其他地址则有额外的四位数字 如何拆分列以获取邮政编码 示例数据 d name bob john address 123 6th S
  • 异常:AttributeError:使用 Azure Function 和 Python 的“DefaultAzureCredential”对象没有属性“signed_session”

    我编写了一个运行 Python3 的 Azure 函数来简单地打开 Azure VM 该函数应用程序具有系统分配的托管标识 我已为其授予 VM 贡献者角色 为了让该函数使用托管标识 我使用了 DefaultAzureCredential 类
  • 我可以在 psycopg2 中使用 md5 身份验证吗?

    经过两个小时的阅读文档 源代码和帮助线程后 我放弃了 我无法让 psycopg2 使用 md5 字符串进行身份验证 根据this http bytes com topic python answers 42597 psycopg authe

随机推荐

  • Qt Quick - Dial

    Qt Quick Dial使用总结 一 概述 二 使用 一 概述 Dial 表盘类似于音响或工业设备上的传统表盘旋钮 它允许用户在一个范围内指定一个值 像CircularGauge一样 Dial可以显示刻度来指示当前值 当一个合适的步长与t
  • centos7安装apt

    centos7安装apt 搜索并下载对应版本 rpmforge release 下载地址 https www rpmfind net linux rpm2html search php query rpmforge release 执行安装
  • 大型网站在架构上应当考虑哪些问题

    大型网站在架构上应当考虑哪些问题 分层 分层是处理任何复杂系统最常见的手段之一 将系统横向切分成若干个层面 每个层面只承担单一的职责 然后通过下层为上层提供的基础设施和服务以及上层对下层的调用来形成一个完整的复杂的系统 大型网站的软件系统也
  • 【Docker】Consul构建集群服务

    1 构建Docker Cousul集群服务 1 在 后输入mkdir consul命令 然后按Enter键 创建目录Consul 示例代码如下 mkdir consul ll 效果如图1所示 2 进入consul目录 在 后面输入cd co
  • 【WIN】【C++】遍历文件夹下所有文件

    遍历某一路径下的所有文件 主要用到的两个api是 findfirst和 findnext 接口已经封装好了 直接复制getAllFiles拿去用即可 封装接口 void getAllFiles string path vector
  • 测试人员代码走查基础要点

    代码走查 是测试人员了解代码逻辑 进行测试设计的重要环节 并且有很多bug并非需要到运行程序进行测试才能发现 通过合理的代码走查方法能提前发现相当多的BUG 除常见的业务逻辑与程序逻辑不符外 本文收集了在过往工作中的经常能发现BUG的走查要
  • Cookie:使用Cookie实现记住用户的账号和密码

    目录 练习一 java web jsp 中使用cookie记住用户的账号和密码 练习二 java web jsp servert 中使用cookie记住用户的账号和密码 进阶例题 java web中使用cookie记住用户的账号和密码 练习
  • JAVA之初识springMVC框架

    1 环境 操作系统 Mac OS 10 12 6 Tomcat v7 0 JDK 1 7 工具 eclipse 2 新建项目 用eclipse新建项目 选择Dynamic Web Project 将项目字符集改为UTF 8 3 编辑web
  • SpringBoot--基础--07--多线程

    SpringBoot 基础 07 多线程 一 方式1 1 1 代码和测试 TaskConfig package fei zhou springboot4 demo2 import java util concurrent Executor
  • PAT乙级(Bascic Level)1037(C++)

    1037 在霍格沃茨找零钱 20 如果你是哈利 波特迷 你会知道魔法世界有它自己的货币系统 就如海格告诉哈利的 十七个银西可 Sickle 兑一个加隆 Galleon 二十九个纳特 Knut 兑一个西可 很容易 现在 给定哈利应付的价钱P和
  • 【ES6】Set 和 Map 数据结构

    文章目录 前言 一 Set 1 用法详解 1 1 声明方式 1 2 遍历的四种方式 2 应用场景 2 1 数组去重 2 2 合并去重 2 3交集 2 4 差集 3 WeakSet 二 Map 1 用法详解 1 1 声明方式 1 2 遍历的四
  • 论文阅读 Semantic Graph Convolutional Networks for 3D Human Pose Regression

    Semantic Graph Convolutional Networks for 3D Human Pose Regression 使用语义图卷积网络对三维人体姿态进行回归 Abstract 在这篇论文中 我们研究了学习Graph Con
  • (查看,和保存)windows下通过cmd命令符窗口查看、保存文件目录结构

    背景 有时候我们查看目录结构 或者保存目录结构信息 来对项目进行说明 一 查看文件结构 1 tree 查看tree命令操作 2 tree 只展示文件夹 tree 3 tree F 文件夹文件都展示 tree F 二 保存文件结构 在上述使用
  • PHP第三课:流程判断(下)

    上期PHP 我们学会了if判断 今天我们来学switch 看下这串代码
  • java算法题两个数组合并_算法:两个有序数组合并成一个有序数组 java语言

    题目 有两个有序数组a 和b 将它们合并成数组c 需要c 也是有序数组 思路 新建一个以两个集合长度之和为长度的新数组 从两数组最左边开始比起 把小的放入新集合 并用变量标记后一位置 每次比较都是比较的最左边未比较过的元素 通过变量 循环比
  • 用python计算灰度图像中掩模的面积(以像素为单位)

    下面是一个使用OpenCV的方法 我们用Otsu的阈值来获得一个二值图像 这个图像的前景对象是白色的 背景是黑色的 从这里我们使用cv2 countNonZero 它返回掩码上的白色像素数 找到白色像素的数量 pixels cv2 coun
  • Linux中的O_RDONLY、O_WRONLY、O_RDWR、O_APPEND、O_TRUNC、O_EXCL、O_EXCL、O_SYNC、O_NONBLOCK

    2023年7月11日 周二下午 这几个常量被定义在头文件fcntl h中 fcntl 是 file control 的缩写 它是由 file 文件 和 control 控制 两个单词组合而成的 在介绍这几个常量之前 要先介绍一下open函数
  • 【CTF】初学ROP

    在CTF PWN的题型中有一种利用方式是ROP 原理学明白了 但是实操起来一直不太理解ROP链的具体构造 为了弄明白原理 就找了一道入门题目 对照着wp进行单步调试 来理解ROP链的构造 题目 buuctf PicoCTF 2018 rop
  • slice+append陷阱

    1 前言 今天在网上看slice扩容原理 偶然看到一个slice的题目 感觉很有意思 题目如下 package main import fmt func main s1 int 1 2 s2 s1 s2 append s2 3 Test1
  • 用Python生成化学结构式

    from rdkit import Chem from rdkit Chem Draw import rdMolDraw2D print 欢迎使用化学式绘制工具 while 1 绘制主链 print 示例 CCC C CC 是第三个碳原子上