Repository navigation
Add advice on running plainMD to troubleshooting - #2326
Conversation
hannahbaumann
left a comment
There was a problem hiding this comment.
Thanks @jthorton , lgtm, just left some small comments!
| Many of the errors above (e.g. parameter assignment failures, ``NaN`` errors during simulation, box size errors) are due problems with the input structures which are not identified until protocol execution. | ||
| A quick way to check this *before* running an expensive free energy protocol is to run a short, MD simulation of your system with the :class:`.PlainMDProtocol` (see the :doc:`Plain MD protocol guide <protocols/plainmd>`). | ||
|
|
||
| This confirms that: |
There was a problem hiding this comment.
Maybe something like This helps check that since it does not necessarily confirm that the system won't crash in equilibration, e.g. as we saw the more careful equilibration in the MD protocol can remove some clashed with close waters that lead to Nans in the RBFE protocol.
There was a problem hiding this comment.
Good point changed this.
| dag, | ||
| shared_basedir=output_dir, | ||
| scratch_basedir=output_dir, | ||
| keep_shared=False, |
There was a problem hiding this comment.
would the users want to keep files to inspect in case it crashes or since it's so short it wouldn't be worth it?
There was a problem hiding this comment.
I think all they would get by default is the pdbs as the default write frequency is 20 ps would could change this though?
IAlibay
left a comment
There was a problem hiding this comment.
Couple of small things, otherwise lgtm
| This confirms that: | ||
|
|
||
| - The receptor can be parameterized together with the ligand (e.g. no missing residues, caps or unsupported chemistry) by the same force fields you intend to use in your production protocol. | ||
| - The system can be minimized and equilibrated producing a stable simulation without clashes or ``NaN`` errors. |
There was a problem hiding this comment.
"non alchemical system" - this might be a repeat of what Hannah suggested though
| from openfe.protocols.openmm_md.plain_md_methods import PlainMDProtocol | ||
| import pathlib | ||
|
|
||
| ligand = openfe.SmallMoleculeComponent.from_sdf_file("ligand.sdf") |
There was a problem hiding this comment.
[nit] because it's documentation, adding a comment here about loading their own files (and maybe the example including a cofactor), could be useful.
Co-authored-by: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com>
hannahbaumann
left a comment
There was a problem hiding this comment.
Thanks @jthorton , lgtm!
Description
Fixes #2309.
Also cleans up some of the example error messages to render them in a clearer way.
LLM / AI generated code disclosure
LLMs or other AI-powered tools (beyond simple IDE use cases) were used in this contribution:
Small clean up edits of my draft by GPT-6 Luna
Checklist
pre-commit.ci autofix.newsentry, or the changes are not user-facing.Manual Tests: these are slow so don't need to be run every commit, only before merging and when relevant changes are made (generally at reviewer-discretion).
Developers certificate of origin