Python中的分子动力学模拟
我正在寻找一个 python 包,我可以用它来模拟非平衡情况下的分子动力学。我需要一种装置,能够以主要动力学理论的方式处理相当大量的分子,并且能够处理存在的固体表面。关于表面,我需要能够创建任意形状并监控压力和分子作用产生的其他变量。或者,如果我有可以处理它的分子,我可以自己添加表面部分。
有谁知道有什么可能合适的套餐吗?
I am searching for a python package that I can use to simulate molecular dynamics in non-equilibrium situations. I need a setup that can handle a fairly large number of molecules in a primarily kinetic theory manner, and that can handle having solid surfaces present. With regards to the surfaces, I would need to be able to create arbitrary shapes and monitor pressure and other variables resulting from the molecular action. Alternatively, I could add the surface parts myself if I had molecules that could handle it.
Does anyone know of any packages that might be suitable?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
您是否考虑过SimPy? SimPy 是一个相当通用的离散事件模拟包,但可以满足您的需求。
更好的是分子建模工具包 (MMTK)似乎更专业...
我都没有用过,但这听起来很有趣。 Python 作为一种语言,似乎在仿真软件中处于有利地位,人们可以通过脚本编写模型的具体细节,同时依赖所有常见逻辑的框架,例如调度、可视化、监控等。当使用与生物模型相称的代理数量时,此类工具包的扩展能力如何(顺便说一句,那有多大?)
Have you considered SimPy? SimPy is a rather generic Discrete Event Simulation package, but could feasibly meet your needs.
Better yet the Molecular Modelling ToolKit (MMTK) seems more specialized...
I have used neither, but this sounds like fun. Python, as a language, seems to be in privileged position for use in simulation software, whereby people can script the specific details of their model while relying on the framework for all the common logic, such as scheduling, visualization, monitoring etc. The unknown is how well such toolkits scale when fed with agent counts commensurate with biology models (BTW, how "big" is that?)
Lampps 和 gromacs 是两个众所周知的分子动力学代码。这些代码都有一些基于 python 的包装器,但我不确定包装器公开了多少功能。它们可能无法让您对模拟进行足够的控制。
谷歌搜索“GromacsWrapper”或谷歌搜索“lammps”和“pizza.py”
数字材料和ASE是两个分子动力学代码,公开了很多功能,但上次我看时,它们都相当专业。他们可能不允许您使用您希望
Google 搜索“数字材料”和“康奈尔”或 google 搜索“ase”和 dtu 的
力势MJV 注意:普通 MD 代码一次采取一个步骤,并且它们会移动每个时间步中的所有粒子。大部分时间都花在计算每个原子上的总力上。这涉及迭代相邻原子对的列表。我认为最好的想法是用 c++ 或 fortran 进行力计算和更多基础知识,然后将该功能包装在 python 中。 (但是看看使用 numpy 矩阵能走多远可能会很有趣)
Lampps and gromacs are two well known molecular dynamics codes. These codes both have some python based wrapper stuff, but I am not sure how much functionality the wrappers expose. They may not give you enough control over the simulation.
Google for "GromacsWrapper" or google for "lammps" and "pizza.py"
Digital material and ASE are two molecular dynamics codes that expose a lot of functionality, but last time I looked, they were both fairly specialized. They may not allow you to use the force potentials that you want
Google for "digital material" and "cornell" or google for "ase" and dtu
Note to MJV: Normal MD-codes take one time step at a time, and they move all particles in each time step. Most of the time is spend calculating the total force on each atom. This involves iterating over a list of pairs of neighboring atoms. I think the best idea is to do the force calculation and a few more basics in c++ or fortran and then wrap that functionality in python. (But it could be fun to see how far one can get by using numpy matrices)
以下程序可用于运行 MD 仿真:
以下 Python 包对于准备和分析 MD 轨迹非常有用:
The following programs can be used to run MD symulations:
The following Python packages are useful for preparing and analysing MD trajectories:
另一个通用模拟框架是我自己的 GarlicSim。你可以尝试一下。如果你是认真的,我可以帮你弄一个简单的包。
Another generic simulations framework is my own GarlicSim. You can try that. I could help you get a simpack up if you're serious about it.
我不知道该程序是否具有您需要的所有功能,但是 kde 程序中有 avogadro,我认为它是可扩展的,并且由于它是开源的,您可以用它做任何事情。 http://www.kde-apps.org/content/ show.php/Avogadro?content=59521
它确实很先进,是我的一个朋友编写的
I don't know if that programs does all the features you need but there is avogadro in the kde programs, i think it is extendable and since it is open source you could do anything with it. http://www.kde-apps.org/content/show.php/Avogadro?content=59521
It is really advanced and programmed by a friend of mine
我第二个MMTK,但看看VMD,这是最好的MD软件据我所知,并且可以用 Python 编写脚本(除了 Tk 之外)。请参阅此内容 获取示例和教程。
I second MMTK, but take a look at VMD, which is the best MD software I'm aware of, and is Python-scriptable (in addition to Tk). See this for examples and tutorials.
我建议使用分子动力学软件来运行 MD 模拟,例如 Gromacs。该软件针对该特定目的进行了高度优化。您还可以在 GPU 上运行,并且能够在更短的时间内运行更大的系统。
然后,您只需使用生成的轨迹通过 python 包运行分析。
mdtraj
pmx
I recommend to use molecular dynamics software to run MD simulations like Gromacs. This software is highly optimized for that particular purpose. You can also run on GPU's and you will be able to run larger systems in less time.
Afterwards, you run only the analysis with python packages using the generated trajectories.
mdtraj
pmx