MobleyLab / alchemical-analysis

An open tool implementing some recommended practices for analyzing alchemical free energy calculations
MIT License
120 stars 60 forks source link

MBAR method fails #33

Closed nividic closed 9 years ago

nividic commented 9 years ago

Hi there,

I was trying to calculate the binding affinity by using the MBAR method but unfortunately it fails with the error:

Traceback (most recent call last): File "/home/gac/local/Common/bin/alchemical_analysis.py", line 1104, in Deltaf_ij, dDeltaf_ij = estimatewithMBAR(u_kln, N_k, P.relative_tolerance, regular_estimate=True) File "/home/gac/local/Common/bin/alchemical_analysis.py", line 240, in estimatewithMBAR (Deltaf_ij, dDeltaf_ij, theta_ij) = MBAR.getFreeEnergyDifferences(uncertainty_method='svd-ew') ValueError: need more than 2 values to unpack

I don't have any problem by selecting TI or BAR.

The link related to the directory that I would like to process is:

https://drive.google.com/open?id=0B4Hyb-RxLkeGTEl4QVltT3NhYkk

Cheers,

Gaetano

FEPanalysis commented 9 years ago

Make sure you are using the latest script. The line that causes the error to pop up is 257 (evidence number 1 that you are using an older script) in the current version and it differs from yours (evidence number 2):

(Deltaf_ij, dDeltaf_ij, theta_ij ) = MBAR.getFreeEnergyDifferences(uncertainty_method='svd-ew', return_theta = True)

that last "return_theta = True" which your line is lacking is what the MBAR function anticipates when asked to extract three variables

Another workaround would be to use an older version of MBAR. The idea here is to keep them, pymbar and analysis-script.py, both at the same degree of freshness.

nividic commented 9 years ago

Thanks,

I updated pymbar to the latest version and it works now.

davidlmobley commented 9 years ago

Marking as resolved.