diff --git a/openfold/np/relax/amber_minimize.py b/openfold/np/relax/amber_minimize.py index a8327572..dfc09849 100644 --- a/openfold/np/relax/amber_minimize.py +++ b/openfold/np/relax/amber_minimize.py @@ -28,10 +28,18 @@ from openfold.np.relax import cleanup, utils import ml_collections import numpy as np -from simtk import openmm -from simtk import unit -from simtk.openmm import app as openmm_app -from simtk.openmm.app.internal.pdbstructure import PdbStructure +try: + # openmm >= 7.6 + import openmm + from openmm import unit + from openmm import app as openmm_app + from openmm.app.internal.pdbstructure import PdbStructure +except ImportError: + # openmm < 7.6 (requires DeepMind patch) + from simtk import openmm + from simtk import unit + from simtk.openmm import app as openmm_app + from simtk.openmm.app.internal.pdbstructure import PdbStructure ENERGY = unit.kilocalories_per_mole LENGTH = unit.angstroms diff --git a/openfold/np/relax/cleanup.py b/openfold/np/relax/cleanup.py index a1f59a48..472068bf 100644 --- a/openfold/np/relax/cleanup.py +++ b/openfold/np/relax/cleanup.py @@ -20,8 +20,14 @@ import io import pdbfixer -from simtk.openmm import app -from simtk.openmm.app import element +try: + # openmm >= 7.6 + from openmm import app + from openmm.app import element +except ImportError: + # openmm < 7.6 (requires DeepMind patch) + from simtk.openmm import app + from simtk.openmm.app import element def fix_pdb(pdbfile, alterations_info): diff --git a/openfold/np/relax/utils.py b/openfold/np/relax/utils.py index f453d16a..b844953c 100644 --- a/openfold/np/relax/utils.py +++ b/openfold/np/relax/utils.py @@ -18,8 +18,14 @@ from openfold.np import residue_constants from Bio import PDB import numpy as np -from simtk.openmm import app as openmm_app -from simtk.openmm.app.internal.pdbstructure import PdbStructure +try: + # openmm >= 7.6 + from openmm import app as openmm_app + from openmm.app.internal.pdbstructure import PdbStructure +except ImportError: + # openmm < 7.6 (requires DeepMind patch) + from simtk.openmm import app as openmm_app + from simtk.openmm.app.internal.pdbstructure import PdbStructure def overwrite_pdb_coordinates(pdb_str: str, pos) -> str: