diff --git a/devtools/conda-envs/conda.yaml b/devtools/conda-envs/conda.yaml index 0c64bc009..a41a64a96 100644 --- a/devtools/conda-envs/conda.yaml +++ b/devtools/conda-envs/conda.yaml @@ -1,5 +1,6 @@ name: latest-deployment channels: + - conda-forge/label/openff-interchange_rc - conda-forge dependencies: # Base depends diff --git a/devtools/conda-envs/conda_oe.yaml b/devtools/conda-envs/conda_oe.yaml index ad491db0a..d4077595b 100644 --- a/devtools/conda-envs/conda_oe.yaml +++ b/devtools/conda-envs/conda_oe.yaml @@ -1,5 +1,6 @@ name: latest-deployment channels: + - conda-forge/label/openff-interchange_rc - conda-forge - openeye dependencies: diff --git a/devtools/conda-envs/installer.yaml b/devtools/conda-envs/installer.yaml index 93374e815..69a98fb96 100644 --- a/devtools/conda-envs/installer.yaml +++ b/devtools/conda-envs/installer.yaml @@ -1,6 +1,7 @@ name: constructor channels: + - conda-forge/label/openff-interchange_rc - defaults - conda-forge diff --git a/devtools/conda-envs/openeye-examples.yaml b/devtools/conda-envs/openeye-examples.yaml index f4673198a..a46214665 100644 --- a/devtools/conda-envs/openeye-examples.yaml +++ b/devtools/conda-envs/openeye-examples.yaml @@ -1,11 +1,12 @@ name: openeye-examples channels: + - conda-forge/label/openff-interchange_rc - openeye - conda-forge dependencies: # Base depends - python - - pydantic =1 + - pydantic - packaging - numpy - networkx @@ -19,7 +20,7 @@ dependencies: - openff-amber-ff-ports >=0.0.3 - openff-units =0.2.0 - openff-utilities >=0.1.5 - - openff-interchange-base >=0.3.19 + - openff-interchange-base >=0.4.0beta1 - openff-nagl-base ~=0.4.0 - openff-nagl-models ==0.3.0 - typing_extensions @@ -43,3 +44,5 @@ dependencies: - pdbfixer - openmmforcefields >=0.11.2 - gromacs >=2023.3 + - pip: + - git+https://github.com/openforcefield/openff-interchange.git@fix-1052 diff --git a/devtools/conda-envs/openeye.yaml b/devtools/conda-envs/openeye.yaml index 56c35b51a..3b4c4a66d 100644 --- a/devtools/conda-envs/openeye.yaml +++ b/devtools/conda-envs/openeye.yaml @@ -1,11 +1,12 @@ name: openff-toolkit-test-openeye channels: + - conda-forge/label/openff-interchange_rc - openeye - conda-forge dependencies: # Base depends - python - - pydantic =1 + - pydantic - packaging - numpy - networkx @@ -19,7 +20,7 @@ dependencies: - openff-units =0.2.0 - openff-amber-ff-ports - openff-utilities >=0.1.5 - - openff-interchange-base >=0.3.19 + - openff-interchange-base >=0.4.0beta1 - openff-nagl-base ~=0.4.0 - openff-nagl-models ==0.3.0 - typing_extensions @@ -40,3 +41,5 @@ dependencies: - mdtraj - nglview - parmed =3 + - pip: + - git+https://github.com/openforcefield/openff-interchange.git@fix-1052 diff --git a/devtools/conda-envs/rdkit-examples.yaml b/devtools/conda-envs/rdkit-examples.yaml index 34d3a933e..32d7c76e5 100644 --- a/devtools/conda-envs/rdkit-examples.yaml +++ b/devtools/conda-envs/rdkit-examples.yaml @@ -1,10 +1,11 @@ name: rdkit-examples channels: + - conda-forge/label/openff-interchange_rc - conda-forge dependencies: # Base depends - python - - pydantic =1 + - pydantic - packaging - numpy - networkx @@ -18,7 +19,7 @@ dependencies: - openff-amber-ff-ports >=0.0.3 - openff-units =0.2.0 - openff-utilities >=0.1.5 - - openff-interchange-base >=0.3.19 + - openff-interchange-base >=0.4.0beta1 - openff-nagl-base ~=0.4.0 - openff-nagl-models ==0.3.0 - typing_extensions @@ -45,3 +46,5 @@ dependencies: - pdbfixer - openmmforcefields >=0.11.2 - gromacs >=2023.3 + - pip: + - git+https://github.com/openforcefield/openff-interchange.git@fix-1052 diff --git a/devtools/conda-envs/rdkit.yaml b/devtools/conda-envs/rdkit.yaml index 5ff1e2b5f..e0380634a 100644 --- a/devtools/conda-envs/rdkit.yaml +++ b/devtools/conda-envs/rdkit.yaml @@ -1,10 +1,11 @@ name: openff-toolkit-test-rdkit channels: + - conda-forge/label/openff-interchange_rc - conda-forge dependencies: # Base depends - python - - pydantic =1 + - pydantic - packaging - numpy - networkx @@ -18,7 +19,7 @@ dependencies: - openff-units =0.2.0 - openff-amber-ff-ports - openff-utilities >=0.1.5 - - openff-interchange-base >=0.3.19 + - openff-interchange-base >=0.4.0beta1 - openff-nagl-base ~=0.4.0 - openff-nagl-models ==0.3.0 - typing_extensions @@ -39,3 +40,5 @@ dependencies: - qcportal >=0.50 - qcengine - nglview + - pip: + - git+https://github.com/openforcefield/openff-interchange.git@fix-1052 diff --git a/devtools/conda-envs/release-build.yaml b/devtools/conda-envs/release-build.yaml index fe496f143..c48e275d0 100644 --- a/devtools/conda-envs/release-build.yaml +++ b/devtools/conda-envs/release-build.yaml @@ -1,5 +1,6 @@ name: release-build channels: + - conda-forge/label/openff-interchange_rc - conda-forge dependencies: diff --git a/devtools/conda-envs/test_env.yaml b/devtools/conda-envs/test_env.yaml index 881211c47..1a51f8148 100644 --- a/devtools/conda-envs/test_env.yaml +++ b/devtools/conda-envs/test_env.yaml @@ -1,5 +1,6 @@ name: openff-toolkit-test channels: + - conda-forge/label/openff-interchange_rc - openeye - conda-forge dependencies: @@ -19,7 +20,7 @@ dependencies: - openff-units =0.2.0 - openff-amber-ff-ports - openff-utilities >=0.1.5 - - openff-interchange-base >=0.3.19 + - openff-interchange-base >=0.4.0beta1 - openff-nagl-base ~=0.4.0 - openff-nagl-models ==0.3.0 # Toolkit-specific @@ -47,7 +48,7 @@ dependencies: - nomkl - mypy - typing_extensions - - pydantic =1 + - pydantic - pip: - types-setuptools - types-toml @@ -56,3 +57,4 @@ dependencies: - types-xmltodict - types-cachetools - mongo-types + - git+https://github.com/openforcefield/openff-interchange.git@fix-1052 diff --git a/openff/toolkit/_tests/test_forcefield.py b/openff/toolkit/_tests/test_forcefield.py index 5a3cd4e98..4f8702d9d 100644 --- a/openff/toolkit/_tests/test_forcefield.py +++ b/openff/toolkit/_tests/test_forcefield.py @@ -4015,6 +4015,8 @@ def test_fractional_bondorder_invalid_interpolation_method(self): Ensure that requesting an invalid interpolation method leads to a FractionalBondOrderInterpolationMethodUnsupportedError """ + from pydantic import ValidationError + mol = create_ethanol() forcefield = ForceField( @@ -4025,18 +4027,10 @@ def test_fractional_bondorder_invalid_interpolation_method(self): )._fractional_bondorder_interpolation = "invalid method name" topology = Topology.from_molecules([mol]) - # This error will be either from v1 of the package (if v1 is installed) - # or the faked v1 API (if v2 is installed). Ensure the v1 error or a - # mimick of it is imported - try: - from pydantic.v1 import ValidationError - except ImportError: - from pydantic import ValidationError - # If important, this can be a custom exception instead of a verbose ValidationError with pytest.raises( ValidationError, - match="given=invalid method name", + match="Input should be 'linear'.*input_value='invalid method name'", ): forcefield.create_openmm_system( topology, diff --git a/openff/toolkit/typing/engines/smirnoff/forcefield.py b/openff/toolkit/typing/engines/smirnoff/forcefield.py index 731c1cbd1..9f3492bcc 100644 --- a/openff/toolkit/typing/engines/smirnoff/forcefield.py +++ b/openff/toolkit/typing/engines/smirnoff/forcefield.py @@ -1383,8 +1383,6 @@ def get_partial_charges(self, molecule: "Molecule", **kwargs: Any) -> Quantity: charge calculation to be cached. """ - from openff.interchange import Interchange - from openff.toolkit import Molecule, unit if not isinstance(molecule, Molecule): @@ -1396,8 +1394,8 @@ def get_partial_charges(self, molecule: "Molecule", **kwargs: Any) -> Quantity: return Quantity( [ c.m - for c in Interchange.from_smirnoff( - force_field=self, topology=[molecule], **kwargs + for c in self.create_interchange( + topology=molecule.to_topology(), **kwargs, )["Electrostatics"].charges.values() ], unit.elementary_charge,