Support multi-residue molecules in template generator and improve performance#430
Support multi-residue molecules in template generator and improve performance#430epretti merged 44 commits intoopenmm:mainfrom
Conversation
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
Co-authored-by: Josh Horton <joshua.horton@openforcefield.org>
Co-authored-by: Jeff Wagner <jwagnerjpl@gmail.com>
…s into smirnoff-vsites
for more information, see https://pre-commit.ci
…s into smirnoff-vsites
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #430 +/- ##
==========================================
+ Coverage 83.70% 84.73% +1.02%
==========================================
Files 5 5
Lines 798 799 +1
==========================================
+ Hits 668 677 +9
+ Misses 130 122 -8 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
for more information, see https://pre-commit.ci
j-wags
left a comment
There was a problem hiding this comment.
I've been stress-testing this extensively over the past few days and haven't found any significant issues. Details of my testing are here. Other than yielding an issue with the new constraint functionality in OpenMM this behaves well in every situation I can think of. Thanks for all the hard work and attention to detail, @epretti! This is good to merge as far as I can tell.
|
Thanks for the detailed look at this. If no other concerns come up between now and our check-in tomorrow, I'll plan on merging this afterwards. |
|
No concerns from me |
| # Cache molecules | ||
| self._molecules.update({molecule.to_smiles(): molecule for molecule in molecules}) | ||
| # Store the molecule by its formula for faster lookup | ||
| formula = tuple(sorted(collections.Counter(atom.atomic_number for atom in molecule.atoms).items())) |
There was a problem hiding this comment.
toolkit molecules also have a to_hill_formula() method incase that is prefered.
| formula = tuple(sorted(collections.Counter(atom.atomic_number for atom in molecule.atoms).items())) | |
| formula = molecule.to_hill_formula() |
There was a problem hiding this comment.
Ah never mind you need it to be consistent with the formula method below for the openmm residue.
|
This should be ready to merge. |
|
As usual, I don't have the permissions to merge in this repository, so someone else will have to be responsible for pressing the approve button :) |
|
I'm not quite sure why it doesn't let you. I tried to change the settings, and that seems to have caused it to be merged automatically. Let's see what happens on the next PR. |
|
OK. From what I recall in the past, the repository was set up so that PRs could not be merged without "one approving review from someone with write access". And (as makes sense when this feature is enabled) you cannot approve your own PR. |
|
That makes sense. I'm ok with not requiring an approval if you are. |
|
I think it's fine if you want to disable the check (since we don't have it on the main repository). I will always wait for approval before merging anyway; it's just that sometimes this happens in a comment or a conversation. |
SMIRNOFFTempalteGeneratorand proteins #415)TemplateGenerator._match_residue()is too slow #426, and openmmforcefields can automatically take advantage of any future performance improvements to OpenMM template matching)Todo: