Commit Graph

366 Commits

Author SHA1 Message Date
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
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
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
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
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
c7428f8f33 check the default CLI settings in testing 2025-09-25 09:37:38 +01:00
Josh Horton
9d938576a6 Change the default atom mapping in the CLI to Kartograf 2025-09-22 17:29:40 +01:00
Mike Henry
a0154ef488 Bump number of retires when fetching data with pooch (#1487)
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>
2025-08-26 07:38:49 -07:00
Alyssa Travitz
b63d63761b try using as_file wrapper 2025-07-15 10:52:56 -07:00
Alyssa Travitz
7be2225ff7 update docs to show default as element_change=True (#1380)
* update docs to show default as element_change=True

* Update openfecli/commands/plan_rbfe_network.py

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

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
2025-06-23 10:14:40 -07:00
Alyssa Travitz
cdfead0616 make tutorial data use parallel repeats instead of serial repeats 2025-06-12 09:12:49 -07:00
Alyssa Travitz
9f386ab933 Update CLI help messages (#1265)
* updating misc help messages

* add view ligand network help message and docstirng

* minor language changes

* whitespace :(

* fixing whitespace
2025-06-05 13:12:02 -07:00
Alyssa Travitz
098c0a8a84 updating syntax for click 8.2 (#1276) 2025-05-27 18:35:44 +00:00
Mike Henry
d2e84eef9e Exit with return value from pytest.main (#1297)
* exit with the return value of pytest.main when running openfe test

* always restore env
2025-05-27 08:27:04 -07:00
Alyssa Travitz
0bd14c7b79 add retries for flaky notebooks (#1278) 2025-05-21 17:11:16 +00:00
Alyssa Travitz
e4cced26c3 updating nb name (#1281) 2025-05-21 09:28:10 -07:00
Alyssa Travitz
148af2694c Update cli docs (#1264) 2025-04-30 13:46:11 -07:00
Alyssa Travitz
b6c7f19c81 immediate print planning cli output (#1254)
* immediate print planning cli output

* adding news item
2025-04-24 14:35:03 -07:00
Alyssa Travitz
3dc10653d1 require -o option for CLI charge generation (#1255)
* require -o option for charge generator

* adding a test for missing -o
2025-04-24 14:08:12 -07:00
Alyssa Travitz
e42432d5b0 pretty print tables with rich (#1246)
* 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>
2025-04-24 10:02:26 -07:00
Alyssa Travitz
aedc719aa5 Single repeat error handling (#1243)
* fail on first leg with too few repeats

* pass through all failed edges

* adding news entry

* improve error message

* fix test
2025-04-23 17:58:21 +00:00
Alyssa Travitz
38f0c6a3ef print message to stderr when no valid results files are found (#1245)
* print message to stderr when no valid results files are found

* fix check

* move check into main function to keep single responsibility

* fix cmet test bug

* adding test
2025-04-23 17:33:52 +00:00
Alyssa Travitz
1bbe2d9299 use pandas (#1244)
* add pandas construction

* replicate current behavior, but with pandas

* removing csv writer

* fixing type check

* replicating original behavior
2025-04-23 09:23:06 -07:00
Alyssa Travitz
d811614e8c fixing test's allow partial test (#1247) 2025-04-23 07:44:10 -07:00
Alyssa Travitz
e640424817 Pass through failed simulations to output (#1227)
* reorg for clarity

* moving try/except into function for clarity

* reorg data parsing for clarity

* remove unused function

* add try/except to pass through info about failed edges

* updating tests for new expected failed simulation checking behavior

* pass through for raw and ddg

* pass through failures for dgs

* remove unused import

* adding a missing check

* docstrings

* cleaning up logic

* cleaning up logic

* docstrings and formatting

* fixing conditionals bug

* more docstrings

* make 'name' a tuple for consistency

* make functions private

* updating output statement for clarity (hopefully)

* remove unused dg raw expected output

* adding comment description

* updating tests

* cleaning up test to not use tmp dir

* only use non-None legs for deciding whether to do rbfe/rhfe

* fix typo

* pass empty list instead of None through to ddg

* add cmet data

* add assert success tests - still need output validation

* light reordering for clarity

* adding pytest regressions

* don't include stderr in file regression

* making output more legible

* switch from runtime error to exit(1)

* add missing complex legs test

* adding regressoin tsvs  to manifest

* reordering functions for clarity

* updating tests

* adding test for disconnected network

* updating warning message, not throwing error for now

* updating tests for missing runs

* add disconnected network check

* switch from NaN to Error

* removing unused regression files

* fixing typo

* adding test coverage

* fix typo

* adding news entry
2025-04-22 07:24:31 -07:00
Alyssa Travitz
0dfa9a2e50 Merge branch 'main' into fix/charge_molecules_cli_formatting 2025-04-07 07:14:02 -07:00
Alyssa Travitz
8cc3c4f291 cli gather should allow lists of filepaths (#1212)
* allowing multiple paths

* first pass at allowing filepaths and wildcards

* updating docstring

* adding missing /

* add tests and sorting

* add news

* updating docstring

* updating docs

* fixing whitespace diff

---------

Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com>
2025-04-07 07:13:08 -07:00
Alyssa Travitz
be13099aee fix formatting 2025-04-04 16:27:24 -07:00
Alyssa Travitz
d7f89cd6e2 making it look better in sphinx 2025-04-04 10:41:09 -07:00
Alyssa Travitz
f58e5372ec fix cli list formatting 2025-04-04 10:22:50 -07:00
Alyssa Travitz
cd219bc002 only show --allow-partial suggestion if user hasn't used it (#1208)
* only show --allow-partial suggestion if user hasn't used it

* adding a test
2025-03-27 13:31:16 -07:00
Alyssa Travitz
01c3b5601e 1002: improve missing data error handling (#1199)
* add check for missing protocol result data

* renaming vars for  clarity

---------

Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com>
2025-03-27 07:18:30 -07:00
Alyssa Travitz
e044ec4a61 pooch - add triplicate retries (#1213)
* add triplicate retries

* use openfe cache

* add internet check to openfe

* isort as a treat

* whitespace :(

* remove unused pytest.mark.download
2025-03-26 14:54:27 -07:00
Alyssa Travitz
66ac2bdc64 migrate json loading to new gufe syntax (#1177)
* updates to cli from_json

* replacing dump instances with to_json

* Remove unnecessary imports of JSON_HANDLER

* addressing review

---------

Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com>
Co-authored-by: David L. Dotson <dotsdl@gmail.com>
2025-03-25 23:32:26 +00:00
Alyssa Travitz
b798454425 1104 gather check json files (#1112)
* adding output for failed edges

* adding print statements, tests don't pass yet because of extra output

* remove straggler

* Update openfecli/commands/gather.py

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

* comment out exception check temporarily

* adding exception check back (test data was wrong)

* adding tests in progress

* trying different mocking

* adding unit tests

* cleaning up

* updating zenodo doi to use correct parallel rbfe dataset

---------

Co-authored-by: Josh Horton <Josh.Horton@newcastle.ac.uk>
2025-03-19 17:53:00 +00:00
Alyssa Travitz
a823546bab fix rbfe parallel results dataset (#1196)
* placeholder

* move to new zenodo community
2025-03-18 13:54:15 -07:00
Alyssa Travitz
984ba90116 Fix breaking tests from gufe updates (#1107)
* switch to assert_click_success to make debugging easier

* fixing tests to look for logger.INFO instead of warnings (due to gufe change)

* updating expected output due to gufe changes

* updating expected transformations

* remove easy prefix, passing 2fe7741b9448

* define _settings_cls, tests pass against g3c6d5f9

* update string match for partial charge logging
2025-03-04 06:57:27 -08:00
Alyssa Travitz
b5eb3e227e move test data to zenodo (#1148)
* test out pooch

* adding zenodo dois

* remove unused import

* delete rbfe_result data from local storage

* move into a fixture factory

* updating missing legs tests

* Revert "delete rbfe_result data from local storage"

This reverts commit 1211200947e38ad17df50ebc3e67eb801e0bf0a4.

* updating failed edges tests

* updating test names to rbfe

* adding zenodo fetchable

* splitting out docs func

* move data out of fixture

* Revert "adding zenodo fetchable"

This reverts commit 5c72321e0e60d09339aee726c06bcda1190a6beb.

* add check for data cache

* cleaning up straggling changes

* remove data that's now on zenodo

* adding correctly compressed results data
2025-02-21 10:19:15 -08:00
Alyssa Travitz
d0427382fb adding unzipped cdk8 data (#1151)
* adding unzipped cdk8 data

* removing cdk zip from manifest

* updating fixture to not look for zip file
2025-02-20 13:57:44 -08:00
Alyssa Travitz
829ce37fe0 adding user message for --n-protocol-repeats transparency (#1137)
* adding user message for transparency

* fixing formatting for clarity, adding to rhfe planner

* Update openfecli/commands/plan_rbfe_network.py

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

* Update plan_rhfe_network.py

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
2025-02-18 12:35:47 -08:00
Mike Henry
ebb3a7ee43 Fix issue 1128 & 1129 (#1135)
* be able to manually trigger package tests

* run package tests on each pr, no reason not to

* we should be installing from conda forge

* skip some openfecli tests if we don't have nagl installed

* plz lets use conda-forge
2025-02-14 15:37:36 -07:00
Josh Horton
54a4d2b8da Merge branch 'main' into charge_warning 2025-02-12 10:49:26 +00:00
Alyssa Travitz
f7b11d45b1 remove "easy_" prefix from cli output (#1121)
* easy_rbfe -> rbfe

* remove addressed TODO

* adding news item

* easy_rhfe -> rhfe prefix
2025-02-11 14:43:21 -08:00
Josh Horton
0abc72d3ce reorder tutorials and add links to cli tutorial 2025-02-11 13:41:11 +00:00
Alyssa Travitz
56c491b45f updating news entry for clarity (#1118) 2025-02-10 11:10:28 -08:00
Alyssa Travitz
5b2b6334c3 Add lomap network generator (#1082)
* add lomap_network_generator

* add news item

* switching to lomap as custom yaml test

* renaming var for clarity

* switch to cdk8 data
2025-01-31 12:23:35 -08:00
Alyssa Travitz
1c2d40d4aa Merge branch 'main' into cli-partial-charges 2025-01-30 08:31:59 -08:00
Alyssa Travitz
01417442c2 gather - show all failed edges in error message (#1095)
* add type annotations

* use assert_click_success

* rename set_vals to leg_types for clarity

* formatting stdout whitespace for clarity

* formatting output to handle multiple legs in a clearer way

* docstring

* adding news item

* updating test match strings

* simplify legs error message

* updating tests for new error handling
2025-01-30 08:29:54 -08:00
Josh Horton
fe5de586ef Merge branch 'main' into cli-partial-charges
# Conflicts:
#	openfecli/commands/plan_rbfe_network.py
#	openfecli/commands/plan_rhfe_network.py
#	openfecli/parameters/__init__.py
#	openfecli/parameters/misc.py
#	openfecli/tests/commands/test_plan_rbfe_network.py
#	openfecli/tests/commands/test_plan_rhfe_network.py
2025-01-30 11:07:09 +00:00