伞状积分算法。
UmbrellaIntegrate的Python项目详细描述
用python计算pmf的伞形积分算法。
依赖性
- Python3
- Numpy
- pandas用于分析元文件
- Scipy用于trapz集成
用法:
请参阅帮助:
python3 ubint.py -h
输入
元文件
<your-metafile>应采用砍伐形式:
/path/to/your/window/file window_center spring_constant [temperature]
在ubint.py中有一个T变量,如果temperature 在元文件中留空,默认温度将是可变的 T在ubint.py中,或者您可以为一些 窗户。
每个窗口的数据文件
每个窗口的数据文件需要是一个2列文件 time reaction_coordinate,坐标应该是一维的。
输出
输出文件是带2列的free_py.txt。 reaction_coordinate free_energy
警告
单位
我在这个程序中使用kJ/mol。
弹簧常数K
在你的模拟中,有偏的弹簧电位应该是 0.5 * K * (r - r0) ** 2,这里K是 <your-metafile>,对于某些模拟程序,中没有0.5。 偏弹簧势。
屏幕截图
原始数据由的Gaussian distribution生成 每个带有MEAN=window_center和STD=0.8的窗口,中心是 在0.0 ~ 19.5的范围内,按0.5的步骤,这里是结果 与wham[2]相比:
- 原始数据
- 与wham相比
wham中的零点是ui中的最小值和零点 是0。
待办事项
具有A(xi)的高阶项[3]的ui算法是 ubint_ho_devel.py,使用以前的数据结果不理想, 仍在开发中。
标准正态分布出现问题,可能是 四重项即使值很小也会导致 偏离。我应该尝试一些具有非二次势的系统。
{函数1“}”函数“4(2)3”) 积分(标准化因子)给出非常大的值(甚至是inf)。 这还无法解决。结果
参考
- K_stner、Johannes和Walter Thiel。“弥合 热力学积分和伞形采样提供了一种新的 分析方法:“伞式集成”。《化学杂志》 物理学123,第14号(2005年10月8日):144104。内政部:10.1063/1.2052648。
- http://membrane.urmc.rochester.edu/content/wham
- 卡斯特纳,约翰内斯。“带高阶修正的伞形积分 《化学物理学杂志》第136期,第23期(2012年6月21日): 234102个。doi:10.1063/1.4729373。