The umbrella integration algorithm.
Project description
Umbrella Integration[1] algorithm of calculating PMF using Python.
Dependence
 Python3
 Numpy
 pandas for parsing metafile
 Scipy for trapz integration
Usage:
See help:
python3 ubint.py h
Input
Metafile
The <yourmetafile> should be in fellowing form:
/path/to/your/window/file window_center spring_constant [temperature]
There is a variable of T in ubint.py, if the temperature left blank in the metafile, the default temperature would be variable T in the ubint.py, or you can set specific temperature for some window.
Data file for each window
The data file of each window need to be a 2column file with time reaction_coordinate, the coordinate should be 1dimensional.
Output
The output file is free_py.txt with 2column reaction_coordinate free_energy
Warning
Unit
I use kJ/mol in this program.
Spring constant K
In your simulation, the biased spring potential shoud be in form of 0.5 * K * (r  r0) ** 2, here K is the parameter set in your <yourmetafile>, for some simulation program, there is no 0.5 in the biased spring potential.
Screen shots
Raw data was generated by Gaussian distribution for each window with MEAN=window_center and STD=0.8, the centers are in range of 0.0 ~ 19.5 by step of 0.5, here is the result compare with WHAM[2]:
 Raw Data
 Compare with WHAM
The zero point in WHAM is the minimum value and the zero point in UI is 0.
TO DO
The UI algorithm with higher oder terms[3] of A(xi) is ubint_ho_devel.py, the result is not ideal using previous data, still in development.
Problems occurred at standard normal distributions, maybe the quadruplicate term which even possesses a small value could cause a huge deviation. I should try some systems with nonquadratic potentials.
The function ``exp(beta(a1*xi+a2*xi^2+a3*xi^3+a4*xi^4))`` and its integration (Normalization factor) give very large value (even inf), this is unable to solve yet.
Results
Ref
 Kästner, Johannes, and Walter Thiel. “Bridging the Gap between Thermodynamic Integration and Umbrella Sampling Provides a Novel Analysis Method: ‘Umbrella Integration.’” The Journal of Chemical Physics 123, no. 14 (October 8, 2005): 144104. doi:10.1063/1.2052648.
 http://membrane.urmc.rochester.edu/content/wham
 Kästner, Johannes. “Umbrella Integration with HigherOrder Correction Terms.” The Journal of Chemical Physics 136, no. 23 (June 21, 2012): 234102. doi:10.1063/1.4729373.
Project details
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size  File type  Python version  Upload date  Hashes 

Filename, size UmbrellaIntegrate0.41py2.py3noneany.whl (7.4 kB)  File type Wheel  Python version py2.py3  Upload date  Hashes View hashes 
Filename, size UmbrellaIntegrate0.41py3noneany.whl (7.4 kB)  File type Wheel  Python version py3  Upload date  Hashes View hashes 
Filename, size UmbrellaIntegrate0.41.tar.gz (5.5 kB)  File type Source  Python version None  Upload date  Hashes View hashes 
Hashes for UmbrellaIntegrate0.41py2.py3noneany.whl
Algorithm  Hash digest  

SHA256  0b074941fc276c50ed26207c71f7c0f765957bd2c7707a1ac9358ed836102558 

MD5  7bca97e59ad30d2d90898750cbb191ce 

BLAKE2256  2d304bc93340ebb951f2b6601c02fbae8eee0baea12fae4c1bd0049edbed424e 
Hashes for UmbrellaIntegrate0.41py3noneany.whl
Algorithm  Hash digest  

SHA256  c068c648eab7cd7c6c0feda793b12cced51c91b17b0af52fd0292bd5fe0ecc69 

MD5  4c87ec03f9c9b60b9791bea7b9e2e95d 

BLAKE2256  8a5bd03f75892b7f34dff961ef4fd47e4b9bd2f768c2d394c22483f660d7c107 