* 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>
* 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>
* 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>
* 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
* 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>
* 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!!!
* 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
* 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>
* 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
* 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>
* 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
* 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>
* 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