Commit Graph

3322 Commits

Author SHA1 Message Date
IAlibay
617f6e4b2c remove extra file 2025-12-05 04:06:13 +00:00
IAlibay
09202537d2 general layout 2025-12-05 04:05:01 +00:00
IAlibay
f520fe585d Merge branch 'main' into multiunit-rfe 2025-12-04 18:47:51 +00:00
Alyssa Travitz
2c8feff5a8 feat: experimental openfe gather-septop & openfe gather-abfe support (#1710)
* feat: support `openfe gather` for septop (#1638)

* copy septop analysis notebook over

* add todos

* add plan and test

* format

* add failing tests

* comment out secondary tests

* add cli tmp

* clean up imports

* fix type hints in gather.py

* test passes for gather raw

* test passes for ddg

* tests pass for dg

* pull more error handling into septop

* condense code a bit

* MBAR uncertainty

* remove planning stub

* Revert "MBAR uncertainty"

This reverts commit bf32aa3c6e.

* format

* test with tolerances

* precommit format

* remove accidentally committed file

* Apply suggestions from code review

Co-authored-by: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com>

---------

Co-authored-by: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com>

* feat: add abfe gathering support first draft (#1686)

* add abfe MVP with tests

* Apply suggestions from code review

Co-authored-by: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com>

* fix incorrect var name

* fix abfe legs extraction

* fix merge bug

* remove unused import

---------

Co-authored-by: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com>

* gather: fix septop rounding (#1696)

* only apply precision rounding at the end

* clean up code

* gather: update names parsing (septop and abfe) (#1698)

* update abfe names parsing

* update septop names parsing

* add todo

* get names from alchemical_components

* remove todo

* gather: refactor/unify rounding behavior (#1697)

* format septop outputs with format_df_with_precision

* only apply precision rounding at the end

* update gather abfe formatting to use format_df_with_precision

* remove unused import

* switch back to checking final outputs for abfes

* clean up code

* add rounding for dg mle

* simplify code

* gather: unify code structure between rbfe, septop, & abfe (#1700)

* format septop outputs with format_df_with_precision

* only apply precision rounding at the end

* update gather abfe formatting to use format_df_with_precision

* remove unused import

* switch back to checking final outputs for abfes

* clean up code

* add rounding for dg mle

* simplify code

* make gather_septop.py code more similar to gather.py

* make gather_abfe.py code more similar to gather.py

* remove unused function

* add stdout message for experimental gathering support (#1703)

* add warnings for experimental gathering

* use click to make output look nicer, not a true warning

* add warning text

* make yellow

* add tests

* remove unused code

* add news item

* speed up names gathering

* names should always return str

* add single repeat tests for abfe and septop

* remove unused imports

* make `gather septop/abfe` output headers accurately reflect error type (#1712)

* gather septop/abfe output headers accurately reflect error type

* split into func

* label all uncertainty columns more specifically

* add docstring

* update test data

* update error calculation

---------

Co-authored-by: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com>
2025-12-04 07:34:20 -08:00
Alyssa Travitz
7a905d986c xfail for test_openmm_run_engine if openeye and nagl are both present (#1733) 2025-12-03 16:48:04 -08:00
Alyssa Travitz
b57d3e12a6 remove unused fetch command (#1732) 2025-12-04 00:07:48 +00:00
Mike Henry
e0756309e1 Comment out uploading files from feedstock package test (#1714) 2025-12-03 13:12:54 -08:00
Mike Henry
f491184b58 Disable JAX acceleration by default (#1694)
* Disable JAX acceleration by default

* ruff fmt

* add logging info

* fix url

* fix list

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

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

* add example of error message

* added note about disabling jax acel by default

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-12-02 21:12:24 +00:00
Alyssa Travitz
78d0f901f8 make sure all names are returned as strings (#1711) 2025-12-02 07:07:55 -08:00
Josh Horton
6a9e7e75f4 Check user charges are not changed by espaloma (#1707)
* Add test to check if user charges are changed by espaloma

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
2025-12-02 11:48:42 +00:00
Alyssa Travitz
44a3f7df3b updating install recommendations to prioritize miniconda and conda-lock (#1692)
* updating install recommendations to prioritize miniconda and conda-lock

* fix formatting

* Update docs/installation.rst

Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com>

* recommend openfe test

* remove miniforge

* update language and clean up install instructions

* add link

* adding news item

* add back miniforge instructions at the end

* make testing its own section

* clearer language and  formatting

* why is rst like this

* why is rst like this??

* one sentence per line!

Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com>

---------

Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com>
2025-12-01 10:24:55 -08:00
Alyssa Travitz
8ab0f8668d pull names directly from ligandmapping (#1702)
* pull names directly from ligandmapping

* update news entry
2025-12-01 18:01:33 +00:00
Josh Horton
35a999907e Add CMAPTorsionForce support (#1695)
Adds support for CMAPTorsionForce in relative hybrid topology simulations.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@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-12-01 14:19:54 +00:00
Alyssa Travitz
013b4b3213 fix pandas applymap deprecation warning (#1701) 2025-11-26 21:49:29 +00:00
IAlibay
9af370cfec more work 2025-11-26 20:33:49 +00:00
IAlibay
07d54388b6 start at updating RFE Protocol 2025-11-26 00:56:02 +00:00
Alyssa Travitz
f0f968f4b3 add manual tests to PR template (#1624)
* add manual tests to PR template

* adding clarifying note for irfan, specifically
2025-11-24 09:27:49 -08:00
Alyssa Travitz
12815c8ac9 add links to ecosystem on docs landing page (#1619)
* add links to ecosystem on docs landing page

* switch some docs links to github

* formatting

* address comments

* ordering

* fix typo and formatting

* typo

* links syntax

* update datryllic link

* oxford comma
2025-11-24 09:26:48 -08:00
David W.H. Swenson
20ae9f88a0 Add docstring to explain the rounding in gather (#1687)
* Add docstring to explain the rounding in gather

* Update openfecli/commands/gather.py

Co-authored-by: David W.H. Swenson <david.swenson@omsf.io>

* formatting: one sentence per line

* Apply suggestions from code review

Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>

---------

Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
Co-authored-by: Alyssa Travitz <alyssa.travitz@omsf.io>
2025-11-24 07:16:26 -08:00
Alyssa Travitz
f710d3c1e9 Feat/improve names gathering (#1691)
* first pass at querying names from gufe objects

* code clean up

* adding (bloated) test, needs trimming still

* fix unit_results error handling

* updating test data

* Apply suggestion from @jthorton

Co-authored-by: Josh Horton <Josh.Horton@newcastle.ac.uk>

* use ChemicalSystem

* add news item

---------

Co-authored-by: Josh Horton <Josh.Horton@newcastle.ac.uk>
2025-11-22 00:01:49 +00:00
Alyssa Travitz
82703bec21 Refactor/gather use pandas (#1690)
* add return type hints

* first pass at using pd dataframes

* add helper function

* it works but is ugly

* fix copy pasta

* do it better with pandas

* docstrings

* var names

* add docstring

* add example to docstring

* make string check more rigorous
2025-11-21 20:49:59 +00:00
Mike Henry
b0789ff0ae Add logging control (#1585)
* do we test this at all?

* start of logging improvements

* first pass at logging, worried about performance

* setup a base class + add type hints

* add placeholder url ref

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

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

* update to new logging control

* Fix imports

* remove bit left over from being able to delete these log controlers

* looks like ... is used more than pass

* formatting fix

* Grab new format rule from main

* run ruff check --fix on conflicting files

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

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

* Added tests

* see if this fixes the doc build

* add back debugging code

* update openmm doc url

* add note about jax warning

* bump

* Remove debugging code to see if that fixes doc build

* ruff format

* Add url

* switch to using module instead of class w/ static methods

* Update docs/guide/troubleshooting.rst

Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>

* ruff fixes

* Ruff fix

* Added news entry

* Refactor to move things to private namespace

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
2025-11-21 07:30:53 -08:00
Alyssa Travitz
36481541e9 add ruff formatting commits to git-blame-ignore-revs (#1669)
* add ruff formatting commits to git-blame-ignore-revs

* add another entry
2025-11-11 23:32:33 +00:00
Alyssa Travitz
b693d37c8a ruff: address pycodestyle changes (#1668)
* apply E741: ambiguous variable name check

* apply E713: 'not in' fixes

* address E721 with isintance() checks

* fix bare excepts

* precommit
2025-11-11 11:34:29 -07:00
Alyssa Travitz
18f211db97 ruff linting: f-strings and whitespace (#1667)
* apply F541: unused f-strings

* apply W29: whitespace fixes

* add pyflakes check

* [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-11-11 00:19:12 +00:00
Alyssa Travitz
588f552ca9 add ruff isort linting rule (#1665)
* isort for docs and utils

* isort for top-level openfe, analysis, setup

* isort setup/

* isort storage/

* isort protocols

* isort openn_afe

* isort openmm_rfe

* isort all protocols

* apply isort to openfe/tests

* apply isort to openfecli

* apply isort to devtools/

* add TODO for setup init
2025-11-10 21:58:30 +00:00
Mike Henry
12e1f9d531 Test example notebooks on demand (#1613)
* Test example notebooks on demand

* match upstream

---------

Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
2025-11-09 18:16:05 -07:00
Mike Henry
aa83a6194e Update conda pkg test + test to see if it catches missing files (#1630)
* check to see if test catches missing files

* can't reproduce failure with manifest, trying another way

* set min python to 3.11, should break conda-forge package test

* use better shell settings + cancel duplicate jobs

* revert test

* add feedback from https://github.com/OpenFreeEnergy/openfe/pull/1630#issuecomment-3470491702

* Update .github/workflows/test-feedstock-pkg-build.yaml

Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>

---------

Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
2025-11-09 15:20:37 -07:00
Irfan Alibay
d46db57e32 expose the septop and abfe analysis tutorials (#1664)
Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
2025-11-07 07:25:27 -08:00
Irfan Alibay
9be9f877bd gzip the 6CZJ (#1659) 2025-11-04 15:00:37 -08:00
Mike Henry
728a6810b3 Create Pooch Cache (#1647)
* Create Pooch Cache

* not exactly sure where the cache will be on osx

* print some debug info

* update cache clearing action

* Debug osx location now

* allow errors when deugging

* lets see what is in the cache

* see if the cache actually works

* since the cache is in 2 different locations, we need to include the OS in the key

* test cache

* it works!!!
2025-11-03 08:12:08 -08:00
Alyssa Travitz
fcf0229c89 allow ci to run on all branches, not just main (#1649)
* allow ci to run on all branches, not just main

* griffe back to pull_request_target

* remove 'branches'
2025-10-30 16:43:51 -07:00
Alyssa Travitz
a7c68fdfc3 add workflow_dispatch event trigger for cleaning up cache by branch (#1644) 2025-10-30 11:31:22 -07:00
Mike Henry
932f9f0b8b Fix import error from pr# 1640 (#1642)
* tuck import inside test that gets skiped if perses is missing

* fmt
2025-10-30 00:13:08 +00:00
Mike Henry
0a5265fa65 Switch to using skip_if_missing (#1640) 2025-10-29 14:48:51 -07:00
Alyssa Travitz
e48d6410c4 store 6CZJ.pdb in git repo (#1634)
* store 6CZJ.pdb in git repo

* precommit format
2025-10-29 01:16:41 +00:00
Alyssa Travitz
53c16a884f pin openmm to <8.3 (#1633)
* pin openmm to <8.3

* pin to ~=8.2.0

* min pin dask to debug

* make comment clearer
2025-10-28 16:03:59 -07:00
Alyssa Travitz
7b585fec5d add yaml syntax check precommit hooks (#1567)
* add more checks

* make precommit manual

* apply formatting to pyproject.toml

* add TODO

* remove unneeded, add a few more

* exclude contruct.yaml from precommit check
2025-10-28 08:08:50 -07:00
Mike Henry
1152edd752 Only run itergration tests on AWS GPU and CPU runners (#1538)
* only run the intergration tests on AWS CPU runners (not all the tests + intergration tests

* skip tests when editing only AWS runner actions

* fixes #1537

* keep CPU runner behavior the same, only run intergration tests on GPU runner

* I just can't spell

* update to newest ami

* See if pinning to an older cuda-version works

* Just run slow tests on CPU runner

* run slow and normal test on CPU runner

* make it more clear what runs with the GPU tests

* fix flag name

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
2025-10-27 18:36:07 +00: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