计算化学公社

标题: 分子动力学模拟结构如何统计物质形成的链状及环状结构数量 [打印本页]

作者
Author:
计算新手1.0版    时间: 2024-6-26 09:06
标题: 分子动力学模拟结构如何统计物质形成的链状及环状结构数量
各位老师好!本人在使用分子动力学模拟盐溶液,最终结果如何统计盐溶液中离子形成接触离子对进一步形成的链状及环状结构呢?是使用脚本还是在VMD中使用语句命令?谢谢老师!

作者
Author:
平湖片帆    时间: 2024-6-28 11:15
这个问题我没有太理解,你是说统计化合物的构象嘛?
如果是的话,我推荐直接写一个脚本,统计下物质内部或者物质之间的distance,angle等信息,定量地判断
作者
Author:
计算新手1.0版    时间: 2024-6-29 22:43
平湖片帆 发表于 2024-6-28 11:15
这个问题我没有太理解,你是说统计化合物的构象嘛?
如果是的话,我推荐直接写一个脚本,统计下物质内部或 ...

感谢您的回答,以氯化锂为例,有没有可能形成Li-Cl-Li-Cl....这样的链状呢?谢谢
作者
Author:
Graphite    时间: 2024-6-29 23:39
本帖最后由 Graphite 于 2024-6-29 23:46 编辑

你需要自己写一个程序:
1、首先通过搜索近邻,获得各原子的近邻列表,如果水或者别的分子不关心,可以忽略它们。
2、根据近邻列表和距离判据,建立连接性。由于是非共价结构,这个连接性判据会比较长,可能有3-4 A
3、根据连接性建立团簇的图(图论意义的图,Graph)
4、根据图上顶点(vertix)的原子类型,和图的边(edge)的连通性,判断是否构成A-B-A-B的链状或A1-B-....B-A1这样的环,或者多条连通路线的笼

python中可以用mdanalysis库读取各类文件获得原子坐标(当然也可以手写,这个无所谓),搜索近邻列表可以用KD-Tree或者八叉树等算法,也有现成的库,搜出来之后用networkx库先建立团簇图,然后分析图的连通性。

当然如果有一点编程经验,稍微了解下图论,可以用任何语言手写,也不用调什么库。

作者
Author:
计算新手1.0版    时间: 2024-6-30 14:36
Graphite 发表于 2024-6-29 23:39
你需要自己写一个程序:
1、首先通过搜索近邻,获得各原子的近邻列表,如果水或者别的分子不关心,可以忽 ...

谢谢您提供的建议,非常感谢

作者
Author:
tjuptz    时间: 2024-6-30 18:52
Graphite 发表于 2024-6-29 23:39
你需要自己写一个程序:
1、首先通过搜索近邻,获得各原子的近邻列表,如果水或者别的分子不关心,可以忽 ...

请问python 中现成的库可以推荐下吗,想学习了解下
作者
Author:
Graphite    时间: 2024-6-30 22:54
tjuptz 发表于 2024-6-30 18:52
请问python 中现成的库可以推荐下吗,想学习了解下

这个需求(轨迹文件分析链、环、笼之类)就我所知本身没有现成的库,也没有太好的开箱即用的软件。最好还是自己实现,主要可能用到的库就是上面说到的。

题外话,其实一些可视化软件,底层是有识别链、环、笼之类的模块,但是只是为了上层应用搭的功能,不是专门搞这个的。

另外VMD脚本应该也可以实现(毕竟只要能循环控制、能用递归函数就可以搞图论分析),这样就不用自己写读入轨迹、键的创建之类基础又很无聊的功能了。
作者
Author:
tjuptz    时间: 2024-7-1 08:15
Graphite 发表于 2024-6-30 22:54
这个需求(轨迹文件分析链、环、笼之类)就我所知本身没有现成的库,也没有太好的开箱即用的软件。最好还 ...

搜索近邻和更新bond angle dihedral 这块呢?请问有推荐吗
作者
Author:
Graphite    时间: 2024-7-1 12:42
tjuptz 发表于 2024-7-1 08:15
搜索近邻和更新bond angle dihedral 这块呢?请问有推荐吗

搜索近邻用KDTree搜即可(其实只是为了减小暴力搜索(N*N迭代)的开销,如果体系只有几千个原子,也完全可以暴力搜),bond本质上就是距离小于r(a-b)的原子对a-b,angle就是连续的两个bond,dihedral就是连续的三个bond而已,逻辑量和代码量少,不需要库。
作者
Author:
tjuptz    时间: 2024-7-1 13:42
Graphite 发表于 2024-7-1 12:42
搜索近邻用KDTree搜即可(其实只是为了减小暴力搜索(N*N迭代)的开销,如果体系只有几千个原子,也完全 ...

好的,我之前写过暴力搜索并更新bond angle dihedral 的代码,处理量确实就几千原子,因为比较初级想学习学习高级的,看来还没那么迫切,谢谢您的解答




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3