计算化学公社

 找回密码 Forget password
 注册 Register
Views: 3021|回复 Reply: 9
打印 Print 上一主题 Last thread 下一主题 Next thread

[VMD] 在VMD中采用tcl脚本为碳环(全碳环,苯环)内部填充颜色

[复制链接 Copy URL]

9

帖子

0

威望

304

eV
积分
313

Level 3 能力者

本帖最后由 liucw 于 2022-10-18 23:03 编辑

###绘制颜色设置为红色red
draw color red
###在vmd中按碳环的顺序为原子编号index 365 430 231 447 121 527 分别是碳原子的index
proc dr {C1 C2 C3 C4 C5 C6} {
set 1 $C1
set 2 $C2
set 3 $C3
set 4 $C4
set 5 $C5
set 6 $C6
###将index编号365 430 231 447 121 527 的原子创建研究对象 $sel;
set sel [atomselect top "index $1 or index $2 or index $3 or index $4 or index $5 or index $6"]
###利用$sel get命令得到各原子坐标
set s1 [atomselect top "index $1"]
set s2 [atomselect top "index $2"]
set s3 [atomselect top "index $3"]
set s4 [atomselect top "index $4"]
set s5 [atomselect top "index $5"]
set s6 [atomselect top "index $6"]
###利用measure center $sel命令得到质心坐标;weight mass质心,若不加,则为几何中心;
set com [measure center $sel weight mass]
###利用lindex selection0 num 命令得到x y z 的值;
set xq [lindex $com  0]
set yq [lindex $com  1]
set zq [lindex $com  2]
set ss1 [lindex [$s1 get {x y z}] 0]
set ss2 [lindex [$s1 get {x y z}] 1]
set ss3 [lindex [$s1 get {x y z}] 2]
set ss4 [lindex [$s2 get {x y z}] 0]
set ss5 [lindex [$s2 get {x y z}] 1]
set ss6 [lindex [$s2 get {x y z}] 2]
set ss7 [lindex [$s3 get {x y z}] 0]
set ss8 [lindex [$s3 get {x y z}] 1]
set ss9 [lindex [$s3 get {x y z}] 2]
set ss10 [lindex [$s4 get {x y z}] 0]
set ss11 [lindex [$s4 get {x y z}] 1]
set ss12 [lindex [$s4 get {x y z}] 2]
set ss13 [lindex [$s5 get {x y z}] 0]
set ss14 [lindex [$s5 get {x y z}] 1]
set ss15 [lindex [$s5 get {x y z}] 2]
set ss16 [lindex [$s6 get {x y z}] 0]
set ss17 [lindex [$s6 get {x y z}] 1]
set ss18 [lindex [$s6 get {x y z}] 2]
###分别以六边形一条边上的两个原子和质心画一个三角形平面,绘制六组三角形,自此六边碳环被填充完毕!
draw triangle "$xq $yq $zq" "$ss1 $ss2 $ss3" "$ss4 $ss5 $ss6"
draw triangle "$xq $yq $zq" "$ss7 $ss8 $ss9" "$ss4 $ss5 $ss6"
draw triangle "$xq $yq $zq" "$ss7 $ss8 $ss9" "$ss10 $ss11 $ss12"
draw triangle "$xq $yq $zq" "$ss10 $ss11 $ss12" "$ss13 $ss14 $ss15"
draw triangle "$xq $yq $zq" "$ss13 $ss14 $ss15" "$ss16 $ss17 $ss18"
draw triangle "$xq $yq $zq" "$ss1 $ss2 $ss3" "$ss16 $ss17 $ss18"
}

v2-09d65445b423a47d73aa4b148f580f99_r.jpg (258.5 KB, 下载次数 Times of downloads: 39)

全碳环着色

全碳环着色

评分 Rate

参与人数
Participants 2
eV +10 收起 理由
Reason
丁越 + 5 赞!
乐平 + 5 好物!

查看全部评分 View all ratings

22

帖子

0

威望

1552

eV
积分
1574

Level 5 (御坂)

2#
发表于 Post on 2022-10-19 07:55:25 | 只看该作者 Only view this author
收藏了

28

帖子

0

威望

182

eV
积分
210

Level 3 能力者

3#
发表于 Post on 2023-10-23 21:50:34 | 只看该作者 Only view this author
您好,请问对于碳环数量如何统计?比如五元碳环、六元碳环等。谢谢!

6万

帖子

99

威望

5万

eV
积分
120134

管理员

公社社长

4#
发表于 Post on 2023-10-24 04:55:08 | 只看该作者 Only view this author
xiaoj 发表于 2023-10-23 21:50
您好,请问对于碳环数量如何统计?比如五元碳环、六元碳环等。谢谢!

如下文所说ringsize 5 from AAA选择语句选中的是处于AAA中五元环上的原子。获取相应的原子数,除以5就是这个区域里五元环数目


VMD里原子选择语句的语法和例子
http://sobereva.com/504http://bbs.keinsci.com/thread-14267-1-1.html

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

28

帖子

0

威望

182

eV
积分
210

Level 3 能力者

5#
发表于 Post on 2023-10-24 08:53:35 | 只看该作者 Only view this author
sobereva 发表于 2023-10-24 04:55
如下文所说ringsize 5 from AAA选择语句选中的是处于AAA中五元环上的原子。获取相应的原子数,除以5就是 ...

感谢您的回复。您的博文我看过,通过ringsize/maxringsize可以筛选不同的碳环并着色。但是有两个问题:一是在此基础上是如何获取对应的原子数;二是如果两个碳环共用碳原子的情况,比如石墨烯结构,原子数/5应该不等于五元环数目。谢谢。

6万

帖子

99

威望

5万

eV
积分
120134

管理员

公社社长

6#
发表于 Post on 2023-10-25 00:40:48 | 只看该作者 Only view this author
xiaoj 发表于 2023-10-24 08:53
感谢您的回复。您的博文我看过,通过ringsize/maxringsize可以筛选不同的碳环并着色。但是有两个问题:一 ...

把五元环上的原子作为atomselect对象选中后,就可以得到它们的序号。如果一个原子同时和三个其它这些原子成键,说明是被两个或三个环共享的。再根据它所相连的其它原子与几个这类原子相连,就能判断当前原子是被两个还是三个环共享,等等。诸如此般,被n个环共享的原子就当做有n个,然后再除以5即可。
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

308

帖子

2

威望

3557

eV
积分
3905

Level 5 (御坂)

7#
发表于 Post on 2023-10-25 11:20:51 | 只看该作者 Only view this author
xiaoj 发表于 2023-10-23 21:50
您好,请问对于碳环数量如何统计?比如五元碳环、六元碳环等。谢谢!

可以自行基于vmd的tcl写脚本程序来进行识别,不过需要有一定的编程基础。

28

帖子

0

威望

182

eV
积分
210

Level 3 能力者

8#
发表于 Post on 2023-10-27 14:36:00 | 只看该作者 Only view this author
sobereva 发表于 2023-10-25 00:40
把五元环上的原子作为atomselect对象选中后,就可以得到它们的序号。如果一个原子同时和三个其它这些原子 ...

谢谢老师,基本思路我了解了。

28

帖子

0

威望

182

eV
积分
210

Level 3 能力者

9#
发表于 Post on 2023-10-27 14:36:37 | 只看该作者 Only view this author
lyj714 发表于 2023-10-25 11:20
可以自行基于vmd的tcl写脚本程序来进行识别,不过需要有一定的编程基础。

我也知道基于tcl脚本写。

37

帖子

0

威望

1750

eV
积分
1787

Level 5 (御坂)

10#
发表于 Post on 2024-1-15 21:32:47 | 只看该作者 Only view this author
dr 365 430 231 447 121 527一次只能着色一个环?
若对于大体系结合ringsize/maxringsize筛选不同碳环并快速着上不同色,如何实现呢?

本版积分规则 Credits rule

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

GMT+8, 2025-8-15 05:32 , Processed in 0.170044 second(s), 24 queries , Gzip On.

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