Comments (3)
I know this isn't supported, but any guidance on how to go about this? Any precaultions ?
That will "just work" if we add OpenMM-ML
support to https://github.com/openmm/openmmforcefields -- which I haven't looked into, but before doing that I would just hack apart the protocol and see if you can get a system parameterized with openmm-ml to run, that should be around here (if you ignore partial charge assignment) https://github.com/OpenFreeEnergy/openfe/blob/main/openfe/protocols/openmm_rfe/equil_rfe_methods.py#L740
As of now this isn't something on our roadmap so we can't support it or devote time to it, but I am happy to provide some pointers and advice if you want to try and hack this in, I would aim first for a proof-of-concept before trying to do it The Right Way ™️
from openfe.
Unfortunately from a scientific standpoint, this won't work (for alchemical transformations) - even if the code was made to allow it (which would require large changes to the hybrid topology factory too).
Very briefly, the main issue is that ML potentials, such as ANI, do not have a defined functional form that can be decoupled in the same way that classical FFs can. There are means to go around this, either through approaches such as AToM or the work of Rufa et al., but none that would work "today" in OpenFE.
from openfe.
@mikemhenry Thank you for the pointers,
My initial thought was creating mixedSystem using OpenMM-ML and was trying to understand:
# openmmforcefields/generators/system_generators.py
class SystemGenerator:
def create_system(...)
...
# Build the System
system = self.forcefield.createSystem(topology, **forcefield_kwargs)
# Modify other forces as requested
self._modify_forces(system)
...
# openfe/protocols/openmm_rfe/equil_rfe_methods.py
class RelativeHybridTopologyProtocolUnit(gufe.ProtocolUnit):
def run(...):
# c. force the creation of parameters
system_generator.create_system
# create state A
system_generator.create_system
# create state B
system_generator.create_system
how multiple calls to system_generator.create_system
would interact with a mixedSystem.
Next I was going to look deeper into FF and system implementations but,
Unfortunately from a scientific standpoint, this won't work (for alchemical transformations)
@IAlibay thank you - saved me from heading in the wrong direction. I will take a look at AToM
closing this case for now.
from openfe.
Related Issues (20)
- CI faiing with new OMMForceFields release
- Add conda canary
- Remove openmmforcefields 13 gaff test code branches
- `openfe.analysis.plotting.plot_2D_rmsd` does not work for fewer than 5 states
- Mypy fails
- Add support for GPU runners
- 2D RMSD plots are unreadable at high replica counts HOT 2
- 2D RMSD plots leave empty axes when state count is non-divisible by 4
- Cron CI is failing due to timeout
- Add setting indicating simulation is a vacuum state
- Check Network test
- Konnektor - Integration
- [meta] Membrane support in OpenFE Protocols HOT 2
- Docs are not building HOT 2
- Add nvidia-smi step to GPU runners HOT 5
- [docs] we should point out some example(s) on how to read out the trajectories from our output files HOT 1
- https://github.com/conda-forge/cinnabar-feedstock/issues/6
- Capture standard out and standard error (as well as other logs)
- Document supported version of key software
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 openfe.