Comments (3)
How stringent a check are we talking here? The most naive check that comes to mind is checking that the number of particles in the system matches the number of atoms in the topology. (This could be massaged slightly to only consider massive particles, since virtual sites don't exist in OpenFF's topologies.) I imagine that should cover most cases of accidentally passing in the wrong variables.
That sounds great. openmm.System
seems to have a isVirtualSite(index)
method, which might be preferable to checking mass because OpenMM's recommended way to freeze atoms is to set their mass to zero.
I agree connectivity has all sorts of bugbears that are likely to get worse in the future!
from openff-interchange.
I imagine virtual sites might make this a pain.
Your imagination is correct - but that's implicitly unsupported right now so it's worthwhile to make it explicitly unsupported.
How stringent a check are we talking here? The most naive check that comes to mind is checking that the number of particles in the system matches the number of atoms in the topology. (This could be massaged slightly to only consider massive particles, since virtual sites don't exist in OpenFF's topologies.) I imagine that should cover most cases of accidentally passing in the wrong variables.
I think connectivity checks would be trickier to implement (rigid water often doesn't have bonds in OpenMM models, for example) and risk some false negatives, so I don't think I'd go for that in the first pass here.
from openff-interchange.
#923 & 0.2.23
from openff-interchange.
Related Issues (20)
- Electrostatics key mismatch after combination HOT 3
- Positions of `MonovalentLonePair` virtual sites is incorrect (does not affect simulations) HOT 1
- Virtual site parameters can clash if looked up using only SMIRKS HOT 4
- `experimental/openmmforcefields/gaff.ipynb` and `ligand_in_water.ipynb` notebooks broken on OpenFF Docs HOT 1
- units for `Interchange.collection['Bonds'].get_system_parameters()` HOT 2
- Support GROMACS's `3fad` virtual sites
- `get_positions_with_virtual_sites` does not collate virtual sites with molecules HOT 1
- Some combinations of Interchanges do not commute HOT 2
- Improved LAMMPS support. HOT 1
- LAMMPS versions prior to 2023.08.02 are incompatible with Interchange, but may be installed with it HOT 2
- Interchange.to_gromacs() creates a topology with far too many atomtypes, which influences GROMACS performance HOT 4
- Syncing topology and `Interchange` attributes
- Easier indexing into collections
- Look into ordering of charge dictionary
- Combining a Sage interchange with one loaded from OpenMM fails because the electrostatics cutoff is not set by the OpenMM importer, but is checked by the `combine` method HOT 1
- GROMACS writer chokes without unique molecule names HOT 5
- `experimental/openmmforcefields/gaff.ipynb` is failing on openff-docs HOT 3
- Dihedrals lost in `Interchange.from_gromacs` HOT 1
- PACKMOL wrapper with >100,000 atoms HOT 5
- Make `Interchange.topology` required? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openff-interchange.