Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use interchange in some code paths #8

Open
wants to merge 26 commits into
base: main
Choose a base branch
from

Conversation

mattwthompson
Copy link

No description provided.

@pep8speaks
Copy link

pep8speaks commented Mar 8, 2024

Hello @mattwthompson! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

Line 15:80: E501 line too long (88 > 79 characters)
Line 33:80: E501 line too long (88 > 79 characters)
Line 36:80: E501 line too long (88 > 79 characters)
Line 123:80: E501 line too long (82 > 79 characters)
Line 149:80: E501 line too long (81 > 79 characters)
Line 152:80: E501 line too long (81 > 79 characters)
Line 224:80: E501 line too long (80 > 79 characters)
Line 226:80: E501 line too long (80 > 79 characters)
Line 290:80: E501 line too long (86 > 79 characters)
Line 294:80: E501 line too long (80 > 79 characters)
Line 355:80: E501 line too long (92 > 79 characters)
Line 387:80: E501 line too long (80 > 79 characters)
Line 413:80: E501 line too long (82 > 79 characters)
Line 421:80: E501 line too long (80 > 79 characters)
Line 423:80: E501 line too long (83 > 79 characters)
Line 432:80: E501 line too long (82 > 79 characters)
Line 436:57: E203 whitespace before ':'
Line 436:80: E501 line too long (85 > 79 characters)
Line 439:57: E203 whitespace before ':'
Line 439:80: E501 line too long (85 > 79 characters)
Line 444:80: E501 line too long (80 > 79 characters)
Line 480:80: E501 line too long (80 > 79 characters)
Line 481:80: E501 line too long (80 > 79 characters)
Line 484:80: E501 line too long (80 > 79 characters)
Line 485:80: E501 line too long (84 > 79 characters)

Line 483:17: E225 missing whitespace around operator
Line 484:21: E251 unexpected spaces around keyword / parameter equals
Line 484:23: E251 unexpected spaces around keyword / parameter equals
Line 508:80: E501 line too long (94 > 79 characters)
Line 510:80: E501 line too long (82 > 79 characters)
Line 516:80: E501 line too long (85 > 79 characters)
Line 518:80: E501 line too long (81 > 79 characters)
Line 521:80: E501 line too long (114 > 79 characters)
Line 522:80: E501 line too long (107 > 79 characters)
Line 524:80: E501 line too long (116 > 79 characters)
Line 526:80: E501 line too long (137 > 79 characters)
Line 529:80: E501 line too long (84 > 79 characters)
Line 530:80: E501 line too long (95 > 79 characters)
Line 535:80: E501 line too long (90 > 79 characters)
Line 536:1: W293 blank line contains whitespace
Line 537:80: E501 line too long (90 > 79 characters)
Line 539:80: E501 line too long (86 > 79 characters)
Line 540:80: E501 line too long (88 > 79 characters)
Line 555:26: E251 unexpected spaces around keyword / parameter equals
Line 555:28: E251 unexpected spaces around keyword / parameter equals
Line 556:24: E251 unexpected spaces around keyword / parameter equals
Line 556:26: E251 unexpected spaces around keyword / parameter equals
Line 571:80: E501 line too long (90 > 79 characters)
Line 583:80: E501 line too long (85 > 79 characters)
Line 585:80: E501 line too long (84 > 79 characters)
Line 588:9: E303 too many blank lines (2)
Line 637:80: E501 line too long (94 > 79 characters)

Line 146:80: E501 line too long (80 > 79 characters)

Line 66:1: E302 expected 2 blank lines, found 1
Line 69:80: E501 line too long (119 > 79 characters)

Line 72:5: E129 visually indented line with same indent as next logical line
Line 72:80: E501 line too long (83 > 79 characters)
Line 175:9: E129 visually indented line with same indent as next logical line

Line 27:9: E124 closing bracket does not match visual indentation
Line 38:41: E231 missing whitespace after ','
Line 56:9: E124 closing bracket does not match visual indentation
Line 67:41: E231 missing whitespace after ','
Line 88:80: E501 line too long (80 > 79 characters)
Line 205:80: E501 line too long (94 > 79 characters)
Line 218:1: W293 blank line contains whitespace
Line 226:80: E501 line too long (81 > 79 characters)
Line 241:80: E501 line too long (92 > 79 characters)
Line 242:80: E501 line too long (86 > 79 characters)
Line 243:80: E501 line too long (96 > 79 characters)
Line 244:80: E501 line too long (92 > 79 characters)
Line 245:80: E501 line too long (113 > 79 characters)

Line 55:80: E501 line too long (85 > 79 characters)
Line 323:1: W293 blank line contains whitespace
Line 369:80: E501 line too long (81 > 79 characters)
Line 689:80: E501 line too long (109 > 79 characters)
Line 690:80: E501 line too long (81 > 79 characters)
Line 691:80: E501 line too long (108 > 79 characters)
Line 692:80: E501 line too long (81 > 79 characters)
Line 715:80: E501 line too long (109 > 79 characters)
Line 716:80: E501 line too long (81 > 79 characters)
Line 717:80: E501 line too long (108 > 79 characters)
Line 718:80: E501 line too long (81 > 79 characters)
Line 748:80: E501 line too long (87 > 79 characters)

Comment last updated at 2024-04-18 18:09:50 UTC

mattwthompson and others added 13 commits March 22, 2024 09:15
this is a bit thorny as currently we have confusing between two instances of BaseSolvationSettings, skunkworks is shadowing the OG one.  Explicitly use Union here to avoid headaches, in future can use either Union or BaseSolvationSettings approach, they are functionally equivalent
avoids potential SNAFU with namespace clash on OpenMMSolvationSettings
@mattwthompson
Copy link
Author

This is mostly working - re-running it with the slightly non-trivial molecule COC(=O)c1ccccc1

$ python devscripts/compare.py
Volumes differ by more than 10%, but densities are close (92.38 and 100.07 particles/nm^3)
Ewald error tolerances differ:
	force1.getEwaldErrorTolerance()=0.0005
	force2.getEwaldErrorTolerance()=0.0001
Ewald error tolerances differ:
	force1.getEwaldErrorTolerance()=0.0005
	force2.getEwaldErrorTolerance()=0.0001

The following were identified as needing strict equality:

  • barostat
  • thermostat
  • small molecule forces
  • FF applied to water (as close as I can get it)
  • constraint distances
  • masses

The following are noted as "fuzziness allowed (all due to solvation)":

  • sigma on hydrogens (these are 0)
  • system volume dimensions
    • See padding note below
  • number of waters
    • Just comparing density within 10% (fairly arbitrary)
  • position of waters
    • Not possible with just openmm.System XMLs

We've identified a handful of details that require a little bit more looking into

Comment on lines +539 to +541
# TODO: Either update solvation_topology to actually use non-water solvent
# or use pack_box to add the solvent or make a new function altogether

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the function that is meant be used to solvate non-water; it's a bit different than the water one since "water" really means "water and Na+/Cl-"

https://github.com/openforcefield/openff-interchange/blob/v0.3.26/openff/interchange/components/_packmol.py#L893

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants