Merge branch 'main' into add/contributing

This commit is contained in:
Irfan Alibay
2025-10-15 13:29:03 +01:00
committed by GitHub
4 changed files with 18 additions and 12 deletions

View File

@@ -145,13 +145,9 @@ html_theme_options = {
],
"accent_color": "cantina-purple",
"navigation_with_keys": False,
"navbar_end": ["navbar-icon-links"], # TODO: add "theme-switcher" to add back dark mode toggle
}
html_logo = "_static/OFE-color-icon.svg"
html_favicon = '_static/OFE-color-icon.svg'
html_context = {
"default_mode": "light"
}
# temporary fix, see https://github.com/pydata/pydata-sphinx-theme/issues/1662
html_sidebars = {
"installation": [],

View File

@@ -27,7 +27,7 @@ dependencies:
- tqdm
- pip:
- git+https://github.com/OpenFreeEnergy/gufe@main
- git+https://github.com/OpenFreeEnergy/ofe-sphinx-theme@v0.3.0
- git+https://github.com/OpenFreeEnergy/ofe-sphinx-theme@v0.3.1
# pip install these so that conda-forge gufe doesn't pull in ambertools and cause a memory error
- git+https://github.com/OpenFreeEnergy/kartograf@main
- git+https://github.com/OpenFreeEnergy/konnektor@main

View File

@@ -710,7 +710,7 @@ class SepTopProtocolResult(gufe.ProtocolResult):
return production_lengths
def restraint_geometries(self) -> tuple[list[dict[str, Any]], list[dict[str, Any]]]:
def restraint_geometries(self) -> tuple[list[BoreschRestraintGeometry], list[BoreschRestraintGeometry]]:
"""
Get a list of the restraint geometries for the
complex simulations. These define the atoms that have
@@ -726,11 +726,15 @@ class SepTopProtocolResult(gufe.ProtocolResult):
in the system that are involved in the restraint of ligand B.
"""
geometry_A = [
pus[0].outputs["restraint_geometry_A"]
BoreschRestraintGeometry.model_validate(
pus[0].outputs["restraint_geometry_A"]
)
for pus in self.data["complex_setup"].values()
]
geometry_B = [
pus[0].outputs["restraint_geometry_B"]
BoreschRestraintGeometry.model_validate(
pus[0].outputs["restraint_geometry_B"]
)
for pus in self.data["complex_setup"].values()
]

View File

@@ -30,6 +30,7 @@ from openfe.protocols.openmm_septop.equil_septop_method import (
)
from openfe.protocols.openmm_septop.utils import deserialize
from openfe.protocols.openmm_utils import system_validation
from openfe.protocols.restraint_utils.geometry.boresch import BoreschRestraintGeometry
from openfe.tests.protocols.conftest import compute_energy
from openff.units import unit as offunit
from openff.units.openmm import ensure_quantity, from_openmm
@@ -1434,7 +1435,12 @@ class TestProtocolResult:
assert isinstance(geom, tuple)
assert len(geom) == 2
assert isinstance(geom[0], list)
assert isinstance(geom[0][0], dict)
assert list(geom[0][0].keys()) == [
'guest_atoms', 'host_atoms', 'r_aA0', 'theta_A0', 'theta_B0', 'phi_A0', 'phi_B0', 'phi_C0',
]
assert isinstance(geom[0][0], BoreschRestraintGeometry)
assert geom[0][0].guest_atoms == [1779, 1778, 1777]
assert geom[0][0].host_atoms == [802, 801, 800]
assert pytest.approx(geom[0][0].r_aA0) == 0.774170 * offunit.nanometer
assert pytest.approx(geom[0][0].theta_A0) == 1.793181 * offunit.radian
assert pytest.approx(geom[0][0].theta_B0) == 1.501008 * offunit.radian
assert pytest.approx(geom[0][0].phi_A0) == 0.939174 * offunit.radian
assert pytest.approx(geom[0][0].phi_B0) == -1.504071 * offunit.radian
assert pytest.approx(geom[0][0].phi_C0) == -0.745093 * offunit.radian