* all the profiling
* make progress bar pretty
* revert typing thing
* news
* all the profiling
* make progress bar pretty
* revert typing thing
* news
* update expected outputs
* update expected outputs
* NAGL can no longer be used with oechem installed if you are using the rdkit backend.
---------
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>
* 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>
* 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>
* 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>
* 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.
I've seen a few cases in the wild where CI fails because a file failed
to download. I think we should try bumping to 5 since with each retry it
increases the wait time and I think that ~3s might be too fast so I want
to try 5s.
Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
* add pandas construction
* removing csv writer
* replicating original behavior
* add rich table
* split into function
* make names clearer
* adding adjustments from rebase
* put it in a box
* adding tsv flag
* update tests to use tsv flag
* add smoke test for pretty print
* adding file creation test
* adding news item
---------
Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com>