Open j-wags opened 3 years ago
I'd love to see the PACKMOL wrapper moved somewhere else (maybe split off into its own tiny package) if it's going to be used outside of evaluator long-term (I think it will be).
test_forcefields/tip3p.offxml
into some pseudo-approved state (which is a topic that should be spun out into another issue if we want to do that).I'd say putting TIP3P parameters somewhere "official" (or, you know, just providing a little more polished way of accessing them) ought to be a high priority. It would make rolling out this sort of script in industry a lot more frictionless (avoiding a lot of 🤔🙄 and associated thinking that things "aren't ready yet"...)
Pain points were:
packmol
on its own and reading the PDB output was not handled directly by the toolkit, leading to using Simon's really nice solvation wrapper that returns an mdtraj.trajectory
.C
is an unusual molecule..." or the first atom in the first water molecule "O
is an unusual molecule..."openff-evaluator
.Molecule
or Topology
by SMARTS pattern and then get those atom names or indices. If I go through this workflow and then, for example, want to monitor hydrogen bonds made by a particular atom, I'm not sure if there is a programmatic way of finding/selecting it by atom name or index (e.g., "what are the assigned atom names for the atoms matching hydroxyl SMARTS [OX2H]
?")Hi @slochower, thanks for sharing the code. BTW, when I tried to reproduce the code, I couldn't import evaluator.packmol. I'm using openff0.9.0. Which version of openff do you use? Thanks,
Hi @iwatobipen and thanks for sharing your code, which I've benefited from multiple times. Exactly right, this won't (yet) work with the latest OpenFF toolkit. The next version of openff-evaluator
will support the latest version of openff-toolkit
, but for this, I had to step back to toolkit version 0.7.0. I think @SimonBoothroyd is going to post a new release of openff-evaluator
in the next few days.
Hi @iwatobipen -- You should be able to make an environment that can run this by calling
conda create -n evaluator -c conda-forge -c omnia openff-evaluator
conda activate evaluator
Apologies for the rough edges -- We'll clear up the dependencies and versioning once this gets packaged as a full example notebook!
Hi @j-wags, Thanks for your suggestion! I could reproduce the code on my PC after installing openff-evaluator and cmiles!!!! It's cool. Looking forward to update example notebook ;) Thanks
I have yoinked this into an example in Interchange: https://github.com/openforcefield/openff-interchange/blob/v0.2.0-rc.2/examples/ligand_in_water/ligand_in_water.ipynb
I think this issue should be closed unless there are plans to duplicate that effort into an example that lives here as well.
@slochower shared the following script with me, which seems to touch on some very useful areas.
We should polish in into a full-fledged example!
Some complications toward making this into an example are:
openff-evaluator
, which is a non-standard dependency, for the packmol functionality. So either we'll need to decide on a pattern for specifying non-standard deps in examples, or we could make this anopenff-evaluator
example. I'd go with the former unless we get explicit approval from @SimonBoothroyd.openff-evaluator
are currently only compatible with the OLDopenforcefield
namespace, instead ofopenff-toolkit
, though this will probably be resolved in the next release (so this will resolve itself in a few days/weeks)test_forcefields/tip3p.offxml
, which isn't "approved for production", but it's used in internal code so frequently that may as well be. So someone will need to lead the charge on how we approve it, and an clear versioning scheme so we can make updates to it if necessary.