计算化学公社

 找回密码 Forget password
 注册 Register
楼主 Author: 王纪峰
打印 Print 上一主题 Last thread 下一主题 Next thread

[程序/脚本开发] 可生成任意聚合度线形聚合物结构、拓扑以及电荷的在线程序

[复制链接 Copy URL]

36

帖子

4

威望

352

eV
积分
468

Level 3 能力者

16#
 楼主 Author| 发表于 Post on 2025-8-20 10:29:13 | 只看该作者 Only view this author
科研小白0126 发表于 2025-8-19 21:50
大佬我这是smile格式不对吗,纯小白
Failed to run notebook: 2_Polymer_chg_and_Polymer_creation_ Linea ...

认真看帖子,写的SMILES明显不对,键接位点呢
复旦大学 高分子科学系 博士在读 理论计算与人工智能方向
谷歌学术:https://scholar.google.com/citations?user=s4Z-rWoAAAAJ&hl=zh-CN

36

帖子

4

威望

352

eV
积分
468

Level 3 能力者

17#
 楼主 Author| 发表于 Post on 2025-8-20 10:30:09 | 只看该作者 Only view this author
SMILES的问题在上面已经回答的非常详细了,请仔细核对SMILES是否正确,类似问题不再回答
复旦大学 高分子科学系 博士在读 理论计算与人工智能方向
谷歌学术:https://scholar.google.com/citations?user=s4Z-rWoAAAAJ&hl=zh-CN

1557

帖子

0

威望

4947

eV
积分
6504

Level 6 (一方通行)

18#
发表于 Post on 2025-8-20 12:22:05 | 只看该作者 Only view this author
本帖最后由 牧生 于 2025-8-20 12:23 编辑

一般情况下,很多人用chemdraw画结构式,没有很注意那个连接位点,包括我自己也从来就没注意过那个*号表示连接点。。

我在这里帖一下方法。。

用丙烯酸为例:

因为组合成聚合物链,是一个重复过程,所以,必须画重复的单元,*号视为那个连接的点,需要在两端分别点上一个*号,且电荷必须正确。



得到的结果就是这样的结构式


然后复制为SMILES



得到

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
ch_pzq1102 + 3 谢谢分享

查看全部评分 View all ratings

又菜又爱玩

71

帖子

0

威望

6799

eV
积分
6870

Level 6 (一方通行)

19#
发表于 Post on 2025-8-20 15:49:18 | 只看该作者 Only view this author
It sounds good. I'll try it.

73

帖子

0

威望

435

eV
积分
508

Level 4 (黑子)

20#
发表于 Post on 2025-8-20 15:49:26 | 只看该作者 Only view this author
牧生 发表于 2025-8-20 12:22
一般情况下,很多人用chemdraw画结构式,没有很注意那个连接位点,包括我自己也从来就没注意过那个*号表示 ...

感谢大神终于知道怎么在smiles里找连接位点了

73

帖子

0

威望

435

eV
积分
508

Level 4 (黑子)

21#
发表于 Post on 2025-8-20 15:49:54 | 只看该作者 Only view this author
王纪峰 发表于 2025-8-20 10:29
认真看帖子,写的SMILES明显不对,键接位点呢

万分感谢您的回复

73

帖子

0

威望

435

eV
积分
508

Level 4 (黑子)

22#
发表于 Post on 2025-8-20 15:59:45 | 只看该作者 Only view this author
牧生 发表于 2025-8-20 12:22
一般情况下,很多人用chemdraw画结构式,没有很注意那个连接位点,包括我自己也从来就没注意过那个*号表示 ...

您好方便问一下您这是chemdraw哪个版本吗,我的ChemDraw 22.0.0 64未找到该工具

1557

帖子

0

威望

4947

eV
积分
6504

Level 6 (一方通行)

23#
发表于 Post on 2025-8-20 16:09:40 | 只看该作者 Only view this author
科研小白0126 发表于 2025-8-20 15:59
您好方便问一下您这是chemdraw哪个版本吗,我的ChemDraw 22.0.0 64未找到该工具

你能给某个原子标正负电荷,就能标上那个*

我用的很旧了,还是2012版的
又菜又爱玩

73

帖子

0

威望

435

eV
积分
508

Level 4 (黑子)

24#
发表于 Post on 2025-8-20 18:12:13 | 只看该作者 Only view this author
打扰您了,我这个两个任务正在进行是只有完全结束才会显示在下面的任务历史的吗

73

帖子

0

威望

435

eV
积分
508

Level 4 (黑子)

25#
发表于 Post on 2025-8-20 18:17:53 | 只看该作者 Only view this author
科研小白0126 发表于 2025-8-20 18:12
打扰您了,我这个两个任务正在进行是只有完全结束才会显示在下面的任务历史的吗

这两个任务是我的吗老师,我看下面历史记录和我提交的时间不一样

task.PNG (32.28 KB, 下载次数 Times of downloads: 8)

task.PNG

36

帖子

4

威望

352

eV
积分
468

Level 3 能力者

26#
 楼主 Author| 发表于 Post on 2025-8-20 20:12:31 | 只看该作者 Only view this author
科研小白0126 发表于 2025-8-19 21:50
大佬我这是smile格式不对吗,纯小白
Failed to run notebook: 2_Polymer_chg_and_Polymer_creation_ Linea ...

后台发现您这边输入的单体SMILES过于复杂,在转化为SMILES转化为3D结构的过程出现了问题,导致失败,目前正在想方法解决。
复旦大学 高分子科学系 博士在读 理论计算与人工智能方向
谷歌学术:https://scholar.google.com/citations?user=s4Z-rWoAAAAJ&hl=zh-CN

73

帖子

0

威望

435

eV
积分
508

Level 4 (黑子)

27#
发表于 Post on 2025-8-20 20:42:14 | 只看该作者 Only view this author
王纪峰 发表于 2025-8-20 20:12
后台发现您这边输入的单体SMILES过于复杂,在转化为SMILES转化为3D结构的过程出现了问题,导致失败,目前 ...

好的谢谢您

36

帖子

4

威望

352

eV
积分
468

Level 3 能力者

28#
 楼主 Author| 发表于 Post on 2025-8-21 11:18:01 | 只看该作者 Only view this author
科研小白0126 发表于 2025-8-20 15:59
您好方便问一下您这是chemdraw哪个版本吗,我的ChemDraw 22.0.0 64未找到该工具

其实不需要使用工具来写键接位点,直接使用文本编辑,在键接位点处用文本写入*即可(注意对其位点)
复旦大学 高分子科学系 博士在读 理论计算与人工智能方向
谷歌学术:https://scholar.google.com/citations?user=s4Z-rWoAAAAJ&hl=zh-CN

88

帖子

0

威望

385

eV
积分
473

Level 3 能力者

29#
发表于 Post on 2025-8-22 16:15:47 | 只看该作者 Only view this author
您好,感谢您的分享!请问我在构建mPEG44-NH2和聚氨基酸的复合物时报这个错误是什么原因,这是我的SMILES
Name        SMILES                                        Repeating Unit Number       
CO           CO[*]                                                        1
PEG         [*]CCO[*]                                                 44
CCN         [*]CCNH[*]                                                1
Tyr [*]NH3+[C@@H](Cc1ccc(O)cc1)C(=O)[*]              20





Failed to run notebook: 2_Polymer_chg_and_Polymer_creation_ Linear_polymer.ipynb
Return Code: 1
Standard Output:

Standard Error:
[NbConvertApp] Converting notebook /data/jupyternotebook_public/Project15_AI_ML_BMS_JZZ/cemp/media/Polymer/GeneratePolymer/20250822_154837_7f5274/2_Polymer_chg_and_Polymer_creation_ Linear_polymer.ipynb to notebook
Traceback (most recent call last):
  File "/data/jiazheju/anaconda3/envs/cemp_env/bin/jupyter-nbconvert", line 10, in
    sys.exit(main())
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/jupyter_core/application.py", line 283, in launch_instance
    super().launch_instance(argv=argv, **kwargs)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/traitlets/config/application.py", line 1075, in launch_instance
    app.start()
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/nbconvertapp.py", line 420, in start
    self.convert_notebooks()
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/nbconvertapp.py", line 597, in convert_notebooks
    self.convert_single_notebook(notebook_filename)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/nbconvertapp.py", line 563, in convert_single_notebook
    output, resources = self.export_single_notebook(
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/nbconvertapp.py", line 487, in export_single_notebook
    output, resources = self.exporter.from_filename(
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/exporters/exporter.py", line 201, in from_filename
    return self.from_file(f, resources=resources, **kw)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/exporters/exporter.py", line 220, in from_file
    return self.from_notebook_node(
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/exporters/notebook.py", line 36, in from_notebook_node
    nb_copy, resources = super().from_notebook_node(nb, resources, **kw)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/exporters/exporter.py", line 154, in from_notebook_node
    nb_copy, resources = self._preprocess(nb_copy, resources)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/exporters/exporter.py", line 353, in _preprocess
    nbc, resc = preprocessor(nbc, resc)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/preprocessors/base.py", line 48, in __call__
    return self.preprocess(nb, resources)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/preprocessors/execute.py", line 103, in preprocess
    self.preprocess_cell(cell, resources, index)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbconvert/preprocessors/execute.py", line 124, in preprocess_cell
    cell = self.execute_cell(cell, index, store_history=True)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/jupyter_core/utils/__init__.py", line 165, in wrapped
    return loop.run_until_complete(inner)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete
    return future.result()
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbclient/client.py", line 1062, in async_execute_cell
    await self._check_raise_for_error(cell, cell_index, exec_reply)
  File "/data/jiazheju/anaconda3/envs/cemp_env/lib/python3.9/site-packages/nbclient/client.py", line 918, in _check_raise_for_error
    raise CellExecutionError.from_cell_and_msg(cell, exec_reply_content)
nbclient.exceptions.CellExecutionError: An error occurred while executing the following cell:
------------------
# 创建聚合物块序列
block_sequence = []
for _ in range(number_of_blocks):
    for name, repeats in polymer_repeating_unit.items():
        block_sequence.extend([name] * repeats)
------------------


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[5], line 3
      1 # 创建聚合物块序列
      2 block_sequence = []
----> 3 for _ in range(number_of_blocks):
      4     for name, repeats in polymer_repeating_unit.items():
      5         block_sequence.extend([name] * repeats)

TypeError: 'numpy.float64' object cannot be interpreted as an integer

36

帖子

4

威望

352

eV
积分
468

Level 3 能力者

30#
 楼主 Author| 发表于 Post on 2025-8-23 12:03:43 | 只看该作者 Only view this author
milk_q 发表于 2025-8-22 16:15
您好,感谢您的分享!请问我在构建mPEG44-NH2和聚氨基酸的复合物时报这个错误是什么原因,这是我的SMILES
...

您的CO只有一个键接位点,无法满足“首尾相连”的条件,所有输入的SMILES必须包含且仅包含2个键接位点*,请考虑CO的SMILES是否正确
复旦大学 高分子科学系 博士在读 理论计算与人工智能方向
谷歌学术:https://scholar.google.com/citations?user=s4Z-rWoAAAAJ&hl=zh-CN

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-1-23 17:52 , Processed in 0.810366 second(s), 24 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list