本文整理汇总了Python中pymbar.MBAR.computePerturbedFreeEnergies方法的典型用法代码示例。如果您正苦于以下问题:Python MBAR.computePerturbedFreeEnergies方法的具体用法?Python MBAR.computePerturbedFreeEnergies怎么用?Python MBAR.computePerturbedFreeEnergies使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pymbar.MBAR
的用法示例。
在下文中一共展示了MBAR.computePerturbedFreeEnergies方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_mbar_computePerturbedFreeEnergeies
# 需要导入模块: from pymbar import MBAR [as 别名]
# 或者: from pymbar.MBAR import computePerturbedFreeEnergies [as 别名]
def test_mbar_computePerturbedFreeEnergeies():
""" testing computePerturbedFreeEnergies """
for system_generator in system_generators:
name, test = system_generator()
x_n, u_kn, N_k_output, s_n = test.sample(N_k, mode='u_kn')
numN = np.sum(N_k[:2])
mbar = MBAR(u_kn[:2,:numN], N_k[:2]) # only do MBAR with the first and last set
fe, fe_sigma = mbar.computePerturbedFreeEnergies(u_kn[2:,:numN])
fe, fe_sigma = fe[0,1:], fe_sigma[0,1:]
print(fe, fe_sigma)
fe0 = test.analytical_free_energies()[2:]
fe0 = fe0[1:] - fe0[0]
z = (fe - fe0) / fe_sigma
eq(z / z_scale_factor, np.zeros(len(z)), decimal=0)
示例2: GetAnalytical
# 需要导入模块: from pymbar import MBAR [as 别名]
# 或者: from pymbar.MBAR import computePerturbedFreeEnergies [as 别名]
print "============================================"
print " Testing computePerturbedFreeEnergies"
print "============================================"
L = numpy.size(K_extra)
(f_k_analytical, Delta_f_ij_analytical, A_k_analytical, A_ij_analytical) = GetAnalytical(beta,K_extra,O_extra,observables)
if numpy.size(O_extra) != numpy.size(K_extra):
raise "O_extra and K_extra mut have the same dimensions."
unew_kln = numpy.zeros([K,L,numpy.max(N_k)],numpy.float64)
for k in range(K):
for l in range(L):
unew_kln[k,l,0:N_k[k]] = (K_extra[l]/2.0) * (x_kn[k,0:N_k[k]]-O_extra[l])**2
(Delta_f_ij_estimated, dDelta_f_ij_estimated) = mbar.computePerturbedFreeEnergies(unew_kln)
Delta_f_ij_error = Delta_f_ij_estimated - Delta_f_ij_analytical
print "Error in free energies is:"
print Delta_f_ij_error
print "Standard deviations away is:"
# mathematical manipulation to avoid dividing by zero errors; we don't care
# about the diagnonals, since they are identically zero.
df_ij_mod = dDelta_f_ij_estimated + numpy.identity(L)
stdevs = numpy.abs(Delta_f_ij_error/df_ij_mod)
for l in range(L):
stdevs[l,l] = 0;
print stdevs
示例3: print
# 需要导入模块: from pymbar import MBAR [as 别名]
# 或者: from pymbar.MBAR import computePerturbedFreeEnergies [as 别名]
print("============================================")
print(" Testing computePerturbedFreeEnergies")
print("============================================")
L = numpy.size(K_extra)
(f_k_analytical, Delta_f_ij_analytical, A_k_analytical, A_ij_analytical) = GetAnalytical(beta,K_extra,O_extra,observables)
if numpy.size(O_extra) != numpy.size(K_extra):
raise ParameterError("O_extra (%d) and K_extra (%d) must have the same dimensions." % (numpy.shape(K_k), numpy.shape(N_k)))
unew_kln = numpy.zeros([K,L,numpy.max(N_k)],numpy.float64)
for k in range(K):
for l in range(L):
unew_kln[k,l,0:N_k[k]] = (K_extra[l]/2.0) * (x_kn[k,0:N_k[k]]-O_extra[l])**2
results = mbar.computePerturbedFreeEnergies(unew_kln)
Delta_f_ij_estimated = results['Delta_f']
dDelta_f_ij_estimated = results['dDelta_f']
Delta_f_ij_error = Delta_f_ij_estimated - Delta_f_ij_analytical
print("Error in free energies is:")
print(Delta_f_ij_error)
print("Standard deviations away is:")
# mathematical manipulation to avoid dividing by zero errors; we don't care
# about the diagnonals, since they are identically zero.
df_ij_mod = dDelta_f_ij_estimated + numpy.identity(L)
stdevs = numpy.abs(Delta_f_ij_error/df_ij_mod)
for l in range(L):
stdevs[l,l] = 0