Closed fjclark closed 1 year ago
Hi there.
Have you tried running this using the Exscientia fork? There have been a few one-way synchronisations (from us to them) recently, which have passed all of their internal checks, but there haven't been any synchronisations the other way. I've not written (or tested) any of this part of the codebase, so I'm not the best placed to answer.
However, the mdp files generated contained the line couple-moltype = , which should have been couple-moltype = LIG. mol._sire_object.name().value() was returning an empty string here.
This part of the code is identical in their fork, so presumably the same issue would occur. (Unless the name is being returning an empty string due to some Sire API changes?)
Tagging @xiki-tempula. Feel free to move this issue over to your fork if needed.
Thanks for the reply. I've just tried with the Exscientia fork and I still get the empty couple-moltype issue.
If you save the lig = BSS.Align.decouple(system[0])
into a gromacs topology, does it has a name?
Yes, its name is LIG
, as with the input generated above. The end of the topology file shows
[ molecules ]
;molecule name nr.
LIG 1
Thanks.
@fjclark Can you load this topology file back in. Replacing the line system = BSS.IO.readMolecules(["input/SYSTEM.top", "input/SYSTEM.crd"])
and do everything again to see if it works?
@xiki-tempula that solves the issue. Now couple-moltype = LIG
, and the gradients with respect to coul-lambdas and vdw-lambdas are non-zero. Thanks very much!
Thanks for solving. I'd suggest adding some fallback in case the input was generated via another means, since not all of the parsers apply a molecule name in this way, e.g. I'm not sure if it would always be persistent on save/load depending on the format.
Hello,
I'm attempting to run an absolute binding free energy calculation using GROMACS using the functionality in the Exscientia sandpit. However, the mdp files generated contained the line
couple-moltype =
, which should have beencouple-moltype = LIG
.mol._sire_object.name().value()
was returning an empty string here.I manually changed all the mdp files to contain
couple-moltype = LIG
, but the decoupling lambda windows for all simulations still produced no free energy changes (as checked by running BAR and checking the gradients with respect to coul-lambdas and vdw-lambdas). This was not true for the bonded-lambda windows, where the Boresch restraints were introduced - there was a free energy change / gradients with respect to bonded-lambdas was non-zero, as expected.I set up the calculations with:
The required input, and some example output directories are here.
I'm using BSS version 2023.0.0+174.g8b7d476d with Sire 2023.0.2 on Linux, installed through Conda, with GROMACS 2022.
This is my first time using GROMACS, so there may well be something trivial wrong with my set-up code.
Thanks.