Open victorprincipe opened 3 years ago
In principle it should work for a subset of a molecule, though I haven't tried doing that. One thing to be aware of is that ANI only supports neutral molecules. If any of the residues you're using it for has a charged side chain, it won't work correctly.
Ah that'll be it! I used ANI on a charged Arginine residue so that's probably where it went wrong. I'll try again without using ANI on that residue and see what happens. Thanks!
Currently createMixedSystem
uses the mechanical embedding, where ML and MM regions interact only via non-bonded terms. This means that the peptide bonds of all the residues included into the ML region are cut (https://github.com/openmm/openmm-ml/blob/4f0546678eeb9b2703d28d3fce7f678802640701/openmmml/mlpotential.py#L236).
In principle, it would possible to adapt one of QM/MM schemes to handle the covalent bonds between the different regions, but it isn't trivial. Check these reviews for inspiration (https://link.springer.com/article/10.1007/s00214-006-0143-z, http://iopenshell.usc.edu/chem545/lectures2011/QMMM_Thiel_Review_2009.pdf).
@peastman it would make sense createMixedSystem
to throw an exception if there is a bond between the ML and MM regions.
I don't think that's quite correct. A bond, angle, or torsion only gets removed if all atoms it involves are in the ML region. Bonds that connect an MM atom to an ML atom are preserved. That said, I don't think this will really give correct results unless your ML potential was specifically parametrized for it. Especially with the torsions, you'll get both ML and MM terms contributing to the same torsion which isn't correct.
For the moment, I think it's safest to stick to only using ML for entire molecules.
Thanks for the suggestions. I've just finished running simulations using ANI on only uncharged binding site residues but the protein still unfolded throughout the simulation. As @peastman said, I guess ML can only be used for entire molecules at the moment.
Hopefully we'll eventually be able to go beyond that. But I think it will require potentials that are specifically designed for it.
This is more issues for https://github.com/openmm/openmm-ml. @peastman could you move it there?
Hi,
I'm trying to run hybrid ML/MM simulations of a protein-ligand system in which the ML model is used for the ligand and a handful of binding site residues. However, certain parts of the protein binding site unfold very quickly, whereas this did not happen when the ML model was used on only the ligand. I was just generally wondering if these ML models can be used for only certain atoms within the same macromolecule, or if they can (currently) only be used for the entirety of a molecule? Here is a part of the code for the production simulation: