openmmtools nc file parser for alchemlyb analysis #296
Replies: 7 comments 16 replies
|
Do you know if the openmmtools is API stable? I have a bunch of old codes that I used to parse the openmmtools but I didn't put it here as it is said that openmmtools is not API stable. I will have a dig and see if I can get it here. |
|
Thank you very much for your time. I have uploaded a relevant nc file, yaml file containing estimated FE estimates at various % values of the run, and rest.py file containing a RestraintComposableState class definition used to modify/set lambda values to github: https://github.com/coparks2012/openmmtools_alchemlyb_dev Please let me know if you have any issues accessing the files,, and thank you again. |
|
Sorry, I'm not too familiar with the NC file generated by OpenMMTools, I could retrieve the reduced potential array but I have trouble finding the all other lambda states. |
|
Asking the openmmtools people if they could include the relevant information in the NC file choderalab/openmmtools#652 |
|
No need to apologize. Your responses are quite helpful, and I believe I am nearly there. I have a remaining question that I think resolve the issue fully. For any future readers, here is how I envision the process: step 1: read in openmm written NC file, and extract replica_energies and state_indices replica_energies is an [i,j,k] array where i = replica index, j = state index, and k = step index. So, replica_energies[0,1,3] would give the reduced potential energy of replica 0 evaluated at state 1 at step 3. replica_state_indices gives is an [i,j] array where replica_state_indices[i,j] gives the state index of replica i and step j. For example, if replica 3 is in state 4 at step 3, replica_state_indcies[3,3] = 4 step 2: obtain state vector step 3: extract u_nk for each lambda i, and create data_list array. In the code snippet below, I am grabbing a subset that has replica i evaluated at all states at all timesteps. I do not think this is the right subset to grab, but I just put something in to test if the whole code would work end to end. Could you please help me determine how to parse the replica_energies/replica_state_indices to create the right data_slice for a given lambda i? This would be greatly appreciated. Step4: plot I confirmed that dF_t.pdf was succesfully generated |
|
Hmmm, in case anyone else reads this, I suspect our approach is buggy somehow. I am testing the alchemlyb implementation which produced the following plot: This differs substantially from the plot produced by plotting the openmmtools FE estimate (which is also using mbar) using the same nc file. I am fairly confident in the openmm code, so not sure where the issue is with the openmm/alchemlyb interface. Please note that since I am unable to calculate the reverse FE using openmmtools, I have just been passing in fe to plot_convergence to produce a plot. |
|
Hello everyone! I have been trying to analyze YANK results using alchemlyb. During my calculations I encountered an issue with one of the lambda states, so I was looking for a way to skip or remove it during the analysis. To make this easier, I created a small repository that parses the YANK https://github.com/MartinFuentetaja/Alchemlyb-YANK You only need to provide the path to the directory containing the
I hope this might be useful for others working with YANK outputs. Feedback is very welcome! |

Uh oh!
There was an error while loading. Please reload this page.
Hello,
I am performing ABFE calculation using openmm with the openmmtools toolkit for Hamiltonian replica exchange. I would very much like to be able to process the resulting nc files in a manner that would enable analysis with alchemlyb. In particular, I am interested in plotting the forward and backward convergence.
I am curious regarding whether there is a way to parse the information stored in a MultistateReporter or MultiStateAnalyzer openmmtools variable so that is can be subsequently processed using alchemlyb.
Any help pointing me in the right direction would be greatly appreciated.
All reactions