Commit Graph

3284 Commits

Author SHA1 Message Date
Alyssa Travitz
fdea483f1c pin to python < 3.14 in pyproject.toml 2025-10-27 10:19:26 -07:00
Alyssa Travitz
fe2d11c479 add git-blame-ignore-revs for large formatting PRs (#1609)
* add git-blame-ignore-revs for large formatting PRs

* add other ruff formatters

* add other ruff formatters

* whitespace
2025-10-27 08:59:12 -07:00
Alyssa Travitz
036869ae81 Ci/add ruff format part4 - the final format! (#1623)
* format cli tests top level

* format cli commands tests

* format cli parameters tests
2025-10-24 23:50:52 +00:00
Alyssa Travitz
d7196d119e Ci/add ruff format part3 (#1622)
* top directory level

* top level utils

* format tests/utils

* format tests/storage

* format tests/setup

* format top-level tests/protocols

* format tests/protocols/restraints

* format tests/protocols/openmm_septop

* format tests/protocols/openmm_rfe

* format tests/protocols/openmm_abfe

* format tests/protocols/openmm_ahfe

* format tests/protocols/openmm_md

* precommit

* remove openfe/tests/dev from exclude

* remove openfe/tests/data from exclude
2025-10-24 14:44:21 -07:00
Alyssa Travitz
2311a2f2d9 ruff formatting part 2 - everything but the tests (#1610)
* add more checks

* make precommit manual

* apply formatting to pyproject.toml

* add TODO

* remove unneeded, add a few more

* add ruff, but turn everything off

* add openfe known first party

* format highest-level files

* first half of openfe protocols

* second half of openfe protocols

* openfe protocols formatting, with alyssa's fmt skips

* add ruff formatter to precommit

* fmt: off all vendored _rfe_utils code

* addressing review comments

* format openfe/utils

* format openfe/setup

* first batch of cli formatting

* second batch of cli formatting

* formatting the rest of openfecli commands

* format openfecli/parameters

* format openfe/storage

* run precommit

* Update openfecli/commands/gather.py

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>

* update example notebooks branch for v1.7.0 docs changes (#1615)

* bump example notebooks branch

* add ipykernel to env

* roll back to fixing septop branch

* i dont think we want ipykernel

* bump to tmp_fix_docs branch

* point to branch revert-237-v1.7_cookbooks

* point to latest example notebooks release

* remove colab button, point to updated example notebooks, reorg landing page (#1618)

* remove colab button from example notebooks in docs

* point to example notebooks 2025.10.2

* replace 'try' with CLI

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
2025-10-24 14:09:45 -07:00
Alyssa Travitz
25933de40b fix docs links for cli and api on landing page (#1620)
* fix links for cli and api

* fix cli link

* clearer language
2025-10-24 12:14:56 -07:00
Alyssa Travitz
59bedc0535 drop scipy intersphinx link (#1621)
* drop scipy as intersphinx link

* clean up comments
2025-10-24 12:08:27 -07:00
Alyssa Travitz
d7d6f9dbb4 remove colab button, point to updated example notebooks, reorg landing page (#1618)
* remove colab button from example notebooks in docs

* point to example notebooks 2025.10.2

* replace 'try' with CLI
2025-10-24 19:06:25 +01:00
Alyssa Travitz
dcc457d825 update example notebooks branch for v1.7.0 docs changes (#1615)
* bump example notebooks branch

* add ipykernel to env

* roll back to fixing septop branch

* i dont think we want ipykernel

* bump to tmp_fix_docs branch

* point to branch revert-237-v1.7_cookbooks

* point to latest example notebooks release
2025-10-24 07:20:00 -07:00
Mike Henry
80cbc22f0c Update docker image to use python 3.12 and rdkit==2025.09.1 (#1611)
* Let's use python 3.12 on the docker image

* try installing the rdkit version I want to test

* free up diskspace

* include source

* Apply suggestion from @atravitz

* fix indent

---------

Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
2025-10-23 14:56:34 -07:00
Mike Henry
3af5d2271b test if conda-forge package will build (#1612) 2025-10-23 14:03:59 -07:00
Alyssa Travitz
3a08b6809f Ci/add ruff format to openfe protocols (#1604)
* add more checks

* make precommit manual

* apply formatting to pyproject.toml

* add TODO

* remove unneeded, add a few more

* add ruff, but turn everything off

* add openfe known first party

* format highest-level files

* first half of openfe protocols

* second half of openfe protocols

* openfe protocols formatting, with alyssa's fmt skips

* add ruff formatter to precommit

* fmt: off all vendored _rfe_utils code

* addressing review comments
2025-10-22 16:04:13 -07:00
Alyssa Travitz
135393e193 add .txt data files to manifest (#1608) v1.7.0 2025-10-22 14:48:16 -07:00
Alyssa Travitz
3ba06b5e89 min python 3.10 (#1606)
* min python 3.10

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-10-22 12:36:47 -07:00
Alyssa Travitz
6e2f068952 add notes about dropping 3.10 maintenance (#1605)
* add notes about dropping 3.10 maintenance

* add version

* formatting
2025-10-22 11:35:26 -07:00
Alyssa Travitz
96960e3535 add test data to manifest (#1603) 2025-10-22 15:12:44 +01:00
Irfan Alibay
84e090bfbe Prepare for release v1.7 (#1601)
* Updated CHANGELOG for 1.7.0

---------

Co-authored-by: Alyssa Travitz <alyssa.travitz@omsf.io>
2025-10-21 17:52:37 +01:00
Irfan Alibay
66d14f61bc ABFE protocol (#1045)
Add an Absolute Binding Free Energy Protocol to openfe.

Key features & limitations:
* Automatic Boresch restraint assignment.
* Does not handle net charge corrections yet.

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
Co-authored-by: hannahbaumann <hbaumann@uci.edu>
Co-authored-by: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com>
2025-10-21 11:45:37 +01:00
Irfan Alibay
b7a49df039 Update expected atom count in test case (#1598) 2025-10-21 09:19:37 +01:00
Alyssa Travitz
141960944b deprecate openfe utils 3dviz in favor of gufe method (#1592)
* deprecate openfe utils 3dviz in favor of gufe method

* add news item

* update news

* fix deprecation warning capture

* update guide

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
2025-10-20 23:56:23 +00:00
Hannah Baumann
9ae1f08b78 [SepTop] fix docs and validations for the lambda schedules (#1597)
Fix docs & validation of lambda restraints schedules for septop.
2025-10-20 22:18:46 +01:00
Josh Horton
774c42ed48 Fast/ adaptive settings (#1523)
* add adaptive settings method

* remove env file change

* expose the adaptive settings via the CLI

* fix indent, stop using frozen copy

* pr feedback

* typo

* gj pycharm

* update tests

* update base settings

* fix tests, add option to supply input settings

* fix tests, remove redundant septop settings changes

* Update openfe/protocols/openmm_rfe/equil_rfe_methods.py

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>

* fix nb tests, add news

* Update news/rbfe_settings_update.rst

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>

* Apply suggestion from @IAlibay

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>

* Apply suggestion from @IAlibay

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
Co-authored-by: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com>
2025-10-20 11:32:16 -07:00
Irfan Alibay
7f93af79ec Make CUDA the default compute platform (#1576)
* Make CUDA the default compute platform
2025-10-20 14:10:34 +01:00
Hannah Baumann
3ebf7e326a Fix sampler setup for dry runs (#1590)
Fix disabling minimization when doing dry runs.
---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
2025-10-20 10:37:21 +01:00
Hugo MacDermott-Opeskin
b145b8d961 Update DOI badge link in README.md (#1593) 2025-10-19 00:52:27 +01:00
Irfan Alibay
ec229cc590 Remove thermostat when getting restrained system in SepTop (#1584)
Co-authored-by: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com>
2025-10-17 17:40:39 +00:00
Irfan Alibay
e7977021bb Add the standard correction to the error estimate in SepTop (#1588)
* rename to `standard_state_correction`

* fix up a few things
2025-10-17 13:53:04 +00:00
Irfan Alibay
e595b81c6e Fix inline comment in slow septop test (#1587)
Removed comments about creating DAG and dry running solvent unit.
2025-10-17 11:24:24 +01:00
Irfan Alibay
371441ff23 Remove duplicate available_platforms fixture from septop slow tests (#1586)
Removed the 'available_platforms' fixture from the test.
2025-10-17 01:58:48 +01:00
Alyssa Travitz
e14f2de71f rename gufe.settings.types -> gufe.settings.typing (#1583) 2025-10-16 02:28:51 +01:00
Josh Horton
f681d5160b add a note on the equilibration method (#1581) 2025-10-15 13:16:06 +00:00
Irfan Alibay
b9ab139ae8 Expose geometry objects as the BoreschRestraintGeometry objects (#1578)
* Expose geometry objects as the BoreschRestraintGeometry objects
2025-10-15 11:58:06 +01:00
Alyssa Travitz
e81f2bcda1 add dark mode to docs (#1565)
* fix nb link

* bump examplenotebooks version

* add dark mode option back in

* temporary pin to working ofe theme branch

* remove unused code

* bump ci

* bump ofe-sphinx-theme pin
2025-10-14 20:10:13 -07:00
Irfan Alibay
a2f08ac3d3 Fix validation in AHFE Protocol (#1572)
* AHFE protocol: add net charge check and reformat to use validate
2025-10-14 17:45:58 +00:00
Josh Horton
78aee37fc6 General HTF improvments and speed ups! (#1566)
* speed up the htf, fix new/old positions functions

* add tests for old/new positions in the htf

* simplify tests, add topology regression test
2025-10-14 16:34:38 +01:00
Alyssa Travitz
d87dd8ffc0 fix nb link (#1574)
* fix nb link

* bump examplenotebooks version
2025-10-13 18:56:26 +01:00
Alyssa Travitz
b9f7593b2d migrate to pydantic v2 (#1535) 2025-10-10 23:02:57 +00:00
Mike Henry
a312bc2f39 Fix test to check if we are printing --allow-partial when a user uses --allow-partial (#1564)
* escape string correctly

* Fix test to check if string is printed

This test used to use pytest.warns to check if we printed a string to
the terminal. This isn't the right way to test if things get printed to
terminal since it only checks warnings raised in python-land. The test
passed since the regex used to match warnings ended up matching warnings
raised since it was a negated character class which matches a single
character that is not any of the characters listed inside.
2025-10-10 20:16:45 +00:00
Irfan Alibay
6581c95423 Disable user supplied host & guest atoms in restraint settings (#1557)
* Disable user supplied host & guest atoms in restraint settings

* disable validator

* Fix some tests

* Store selection indices

* Add partial test

* Update serialized results

* try to make mypy happy

* Update equil_septop_method.py
2025-10-09 15:20:17 +01:00
Hannah Baumann
fb6ac950da Add SepTop to gen serialized results (#1560)
* Add SepTop in gen serialized results
2025-10-09 09:37:57 +01:00
Mike Henry
34988bf51f add espaloma tests (#1450)
* install espaloma on long tests

* espaloma != espaloma_charge

* rename HAS_ESPALOMA to HAS_ESPALOMA_CHARGE

To disambiguate between esaplaoma and espaloma charge, we need to track
HAS_ESPALOMA separately from HAS_ESPALOMA_CHARGE

* skip test if espaloma is not installed

* fix HAS_ESPALOMA import

* see if installing espaloma gives us any issue

* import HAS_ESPALOMA

* only install espaloma when python != 3.13

* fix syntax

* Update openfe/tests/protocols/openmm_md/test_plain_md_protocol.py

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
2025-10-08 15:18:39 -07:00
Josh Horton
0cbfee282e Merge pull request #1530 from OpenFreeEnergy/default_atom_mapper
Change the default atom mapping in the CLI to Kartograf
2025-10-08 10:21:17 +01:00
Josh Horton
aeb26c8a30 Merge branch 'main' into default_atom_mapper 2025-10-08 09:41:41 +01:00
Alyssa Travitz
2d3af6a058 Release prep v1.6.1 (#1544)
* update partial charge tests now that a production NAGL model is available (#1506)

* update tests now that a production NAGL model is available

* fix mock

* clean up mocking

* add nagl test news item

* debug slow python 3.13 tests (#1468)

* Turn off minimization when we do a dry run
---------

Co-authored-by: IAlibay <IAlibay@users.noreply.github.com>

* update quickrun execution docs and add MPS link (#1483)

* add jq cookbook (#1488)

* add jq code blocks

* use tutorial data

* news

* debug docs build (#1489)

* don't build openmm

* mambaforge->miniconda for rtd

* artifically small build for debugging

* dont build env

* just build python

* add channels

* add sphinx packages to env

* add all non-openfe-ecosystem deps

* remove shim channel

* add openfe package

* add everything except openmm and toolkit

* add openmm

* add openff-toolkit

* only openff-toolkit

* try openff-toolkit-base

* try latest openff

* everybody back in

* build without openmm

* build with openff-toolkit-base

* bump rtd

* add pip build

* remove any openff-toolkit

* build w/o openmm

* add pip install

* build everything without pip install

* try no deps

* try custom build

* only python and pip

* try openfe-toolkit-base

* add temp deps for build with openff-toolkit-base

* add temp deps for build with openff-toolkit-base

* mock imports

* dont mock with toolkit base

* bump toolkit version

* Revert "bump toolkit version"

This reverts commit 6e3108a836.

* add mocks

* try pinnint to toolkit-base 0.13.0, no mocks

* back to >= 0.13.0 toolkit to make sure it wasn't a fluke

* mock imports

* add pipe example for jq (#1505)

* add pipe example for jq

* pin to docutil 0.20

* try to avoid memory error

* debug rtd build memory error (#1510)

* try mambaforge build

* Revert "try mambaforge build"

This reverts commit 683e07f1ea.

* try explicit build

* try removing ambertools

* use the right env

* just add gufe pip install back

* add back openfe eco packages

* mock py3dmol

* add note for pip installs

* fix quote

* temporarily resort to SettingsBaseModel to get build

* specific imports

* dont use base settings placeholder

* temp pin numpy (#1542)

* Removing unnecessary limit on resids (#1539)

* Removing unnecessary limit on resids indices gathering

* Updated CHANGELOG for 1.6.1

* add summary

* update docs theme (#1545)

* adding new branding assets

* remove images

* update theme branch

* CantinaPurple accent

* lowercase convention

* updating text

* remove dark mode for now

* fix sidebars

* fix formatting

* capitalization

* don't break spaces

* bump ci

* favicon!

* whitespace :(

* pin to sphinx release

* pin to gufe 1.6.1

* move env info before test imports

* bump single file installer to 3.12.11 to match colab

---------

Co-authored-by: IAlibay <IAlibay@users.noreply.github.com>
Co-authored-by: Iván Pulido <2949729+ijpulidos@users.noreply.github.com>
2025-10-07 18:41:50 +00:00
Josh Horton
00d7c458d7 Merge pull request #1529 from OpenFreeEnergy/constraint_key_error
Add clear error for constraint KeyError
2025-10-07 15:51:30 +01:00
Josh Horton
3453c57fb3 Update openfecli/parameters/plan_network_options.py
Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
2025-10-07 14:35:49 +01:00
Josh Horton
695c7b7d3a Merge branch 'main' into constraint_key_error 2025-10-07 14:15:55 +01:00
Alyssa Travitz
786c38087d Merge branch 'main' into default_atom_mapper 2025-10-07 09:09:25 -04:00
Alyssa Travitz
0d4fabb0e3 add comment to explain gufe pin in env yamls (#1553) 2025-10-07 08:56:35 -04:00
Josh Horton
0e496ef280 Merge remote-tracking branch 'origin/constraint_key_error' into constraint_key_error 2025-10-07 13:47:44 +01:00