Commit Graph

196 Commits

Author SHA1 Message Date
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
Josh Horton
9d938576a6 Change the default atom mapping in the CLI to Kartograf 2025-09-22 17:29:40 +01: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
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
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
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
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
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
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
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
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
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
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
Alyssa Travitz
00445dcf5c add support for one repeat per json (#1076)
* add n_protocol_repeats as cli parameter

* add news item

* update tests

* add docstrings

* adding n_repeats test

* switch test to use full --n-protocol-repeats flag

* updating help msg

* updating news entry

* Update openfecli/parameters/misc.py

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

---------

Co-authored-by: Irfan Alibay <IAlibay@users.noreply.github.com>
2025-01-29 14:23:15 -08:00
Josh Horton
4c9a1f0b6f xfail openeye nagl tests, update CLI ref docs 2025-01-29 16:31:35 +00:00
Josh Horton
c46e7c1e5a add charges to cofactor sdf, fix docs, expose overwrite charges to plan CLI 2025-01-24 11:39:39 +00:00
Josh Horton
d16bc3e3ed Update openfecli/commands/generate_partial_charges.py
Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
2025-01-23 14:05:51 +00:00
Josh Horton
c2fc143a83 Update openfecli/commands/generate_partial_charges.py
Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com>
2025-01-23 14:05:43 +00:00
Josh Horton
8602a39aa6 move ncores cli flag, fix tests, add tests for charge generation 2025-01-20 15:53:43 +00:00
Josh Horton
838371875b update flag name, fix tests to use nagl for CI speed 2025-01-17 12:10:20 +00:00
Josh Horton
283d9e9ef0 add process pool, expose charge cli command 2025-01-16 15:57:43 +00:00
Josh Horton
c5f0371a38 Merge branch 'main' into cli-partial-charges 2025-01-16 10:21:18 +00:00
Alyssa Travitz
915d11022c Support outdir created at runtime (#1072)
* adding test

* create directories

* fixing a word

* update news

* update news
2025-01-14 16:50:37 +00:00
IAlibay
45b8025a30 fix up a few things 2025-01-07 20:49:10 +00:00
IAlibay
020ba71b36 fix signature 2025-01-07 20:26:51 +00:00
IAlibay
b716571cbc Testing out what partial charges could look over the CLI 2025-01-07 19:03:03 +00:00
Alyssa Travitz
cfce28f7f6 move import to speed up cli 2025-01-06 15:26:24 -08:00
Alyssa Travitz
66476fda8a Add gather support for parallel dir structure (#1044)
* add docstrings

* Revert "add docstrings"

This reverts commit 6ae5d1d33492c78a95ace4dcc0ef3890c03e2318.

* adding fixture

* whitespace fixes

* added (failing) test for parallel results data

* add back all report types into testing

* include serial and paralell in paramterize

* adding support for raw output type

* expose uncertainty and estimate functions to gather

* pass dGs through - works but isn't pretty

* remove todo

* updating changelog

* updating changelog

* Update openfe/protocols/openmm_rfe/equil_rfe_methods.py

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

* fix type hint

---------

Co-authored-by: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com>
2024-12-20 09:05:14 -08:00
Alyssa Travitz
5e198a1609 Add gather docstrings (#1041) 2024-12-09 10:58:07 -08:00
Alyssa Travitz
c2e4ee9bda 986 input validation for directory names (#1024) 2024-12-06 16:40:31 -08:00
Alyssa Travitz
9e91118c10 move cli readme up one dir 2024-11-08 10:43:56 -08:00
Alyssa Travitz
e174a6d152 remove index column from -raw output 2024-10-22 09:18:14 -07:00
Mike Henry
a1edc4a4b4 Merge branch 'main' into rbfe-raw-report 2024-10-15 13:53:44 -07:00
Alyssa Travitz
0186b3ce92 move slow import inside function call 2024-10-11 16:16:48 -07:00
Francho Nerín Fonz
351e1997f9 zero-indexed repeats output 2024-07-05 12:44:21 +01:00
Francho Nerín Fonz
744c49ce51 'raw' gather report now outputs all PU repeats 2024-07-05 10:40:23 +01:00
Mike Henry
f2acb2ea46 Don't dump all results to std out 2024-04-15 16:26:44 +01:00
Richard Gowers
0a64694fa5 Update fetch results (#779)
* update rbfe_results.tar.gz for new settings schema

* re-enable test_gather tests

* devscript for updating rbfe_results.tar.gz

* cli: gather: rework raw gather to work off protocol_result dict

this allows us to later deduplicate and remove the unit_results key from results dicts

* cli: gather: update expected gather results

current raw results are only one replicate, should probably have multiple repeats to test raw output

* cli: gather: use \t escape code in gather raw test

could instead normalise the whitespace to be more permissive...

* Apply suggestions from code review

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

* rerun ci

---------

Co-authored-by: Mike Henry <11765982+mikemhenry@users.noreply.github.com>
2024-03-26 19:08:02 -07:00