Replies: 6 comments
-
Hi @yabmtm, Thanks for the thorough and detailed report! I'm able to get both examples running on my machine with some minor modifications (CUDA -> CPU, since I don't have an NVIDIA GPU; OpenBabel -> OpenEye, since I get segfaults with OpenBabel and I don't want to investigate them). One thing I noticed was that the I'm less in tune with I don't have OpenMM set up to use my GPU, so this runs pretty slowly for me and I haven't been able to isolate the issue yet. Let us know how 0.8.3 works and that can help us pin down the issue. |
Beta Was this translation helpful? Give feedback.
-
Thanks for your response. Everything looks fine with
Output looks normal. I have attached a tarball of the working directory for this test including the full environment: |
Beta Was this translation helpful? Give feedback.
-
Thanks for testing out that case - it rules out a lot of potential causes. I'll look into this more tomorrow, it's not immediately clear what the problem is. There might be other differences in |
Beta Was this translation helpful? Give feedback.
-
Thanks for the awesome reproducing example, @yabmtm. I was able to reproduce this on my computer. It looks like the problem is that the old script sets a hydrogen mass of 3 amu, while the new one sets a hydrogen mass of 4 amu. Since the hydrogen mass is subtracted from its bonded heavy atom, it looked like the crashes were being caused by a methyl carbon having too much mass subtracted by its three hydrogens, leading to unstable dynamics. I'm able to run the equilibration using the openff-toolkit-produced system with a hydrogen mass of 3 amu instead of 4. I don't know what best practices for hydrogen mass repartitioning are, but a 3 amu carbon simulated with a 4 fs timestep seems dangerous. I'm seeing this |
Beta Was this translation helpful? Give feedback.
-
Nice catch, @j-wags! I actually thought all my scripts used 4amu/4fs, but you're right. Using I didn't realize that hydrogen masses are subtracted from their bonded heavy atom. Is that generally true across MD engines, e.g. Gromacs? As long as the forces and integration are stable with 3amu/4fs I see no problem using that for our simulations, but it would still nice to be able to use the more widely accepted mass partitioning scheme of |
Beta Was this translation helpful? Give feedback.
-
I'm not steeped in HMR but I think that's the convention. (Of course there's no enforceable standard here, so it's hard to tell what is and is not followed.) I forget the physics behind it, but I vaguely recall there being a physical justification for it (and it seems intuitive to me, having not thought about it too deeply). The blind default value for HMR seems to be adjusting masses by 3 amu so that the hydrogens have 4 amu mass. Intuition aside, it doesn't appear to fundamentally be out of the norm to use these masses. I'm not sure GROMACS has a one-step HMR command in its system preparation tools; I think everybody runs their own solution for that. Amber does seem to have a program do this this, though. From some Amber manual floating around my Google searches:
I also noticed that your old and new tarballs use different force field versions. The notebook pulls |
Beta Was this translation helpful? Give feedback.
-
Description
I have recently ported over my workflow to use openff.toolkit instead of the old openforcefield module.
This is meant to take in a small molecule mol2 file and a receptor pdb file, parameterize them, minimize, equilibrate, and export to Gromacs (gro/top).
The old version (openforcefield) still works just fine, but the new version (openff-toolkit) produces bad coordinate files after equilibration. Both directories can be found in the attached tarball:
openff-issue.tar.gz
The resulting topology files look very similar, with seemingly minor changes to the ligand parameters, but the structure file (conf.gro) for the openff-toolkit script seems to explode after equilibration! Note that the ligand name "<0>" is NOT an issue and is present in both cases.
Steps To Reproduce
All files needed to re-produce including the requirements.txt for re-creating the exact conda environments used in both cases are included in their respective directories. Only necessary files for running each one are the ligand mol2 file and receptor pdb file, at which point the output files can be generated by running example.py.
Output
No error message is shown. The issue is found in the output files after equilibration as noted above.
Computing environment (please complete the following information):
conda list
: Environments are found in the requirements.txt files in the attached directories.Beta Was this translation helpful? Give feedback.
All reactions