From 6eb8eea3ae05dbc62d48816188efd5931bfd76b9 Mon Sep 17 00:00:00 2001 From: hannahbaumann Date: Fri, 19 Sep 2025 14:50:28 +0200 Subject: [PATCH 1/7] Adapt default charge change score to allow for charge changing transformations --- lomap/gufe_bindings/scorers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lomap/gufe_bindings/scorers.py b/lomap/gufe_bindings/scorers.py index 81e702a..564230c 100644 --- a/lomap/gufe_bindings/scorers.py +++ b/lomap/gufe_bindings/scorers.py @@ -411,7 +411,7 @@ def gen_ringdict(mol): def default_lomap_score(mapping: LigandAtomMapping, - charge_changes_score=0.0) -> float: + charge_changes_score=0.1) -> float: """The default score function from Lomap2 @@ -426,7 +426,7 @@ def default_lomap_score(mapping: LigandAtomMapping, charge_changes_score: float The electrostatic score to be assigned for mappings of ligands that differ in net charge. - Default: 0.0 (e.g. not allowing net charge changes) + Default: 0.1 (e.g. allowing net charge changes) Returns ------- From 5a09aa85dc8161b93b7075a51e4747b6f51df828 Mon Sep 17 00:00:00 2001 From: hannahbaumann Date: Wed, 15 Oct 2025 11:28:25 +0200 Subject: [PATCH 2/7] Update test --- lomap/tests/test_scorer.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lomap/tests/test_scorer.py b/lomap/tests/test_scorer.py index ac9b45d..205e523 100644 --- a/lomap/tests/test_scorer.py +++ b/lomap/tests/test_scorer.py @@ -29,10 +29,12 @@ def test_unconnected_lomap_network(smcs): def test_connected_lomap_network(smcs): + # The default charge_changes_score is now 0.1, so a network of ligands + # with different net charges should now always be connected network = lomap.generate_lomap_network( molecules=smcs, mappers=lomap.LomapAtomMapper(), - scorer=partial(lomap.default_lomap_score, charge_changes_score=0.1), + scorer=partial(lomap.default_lomap_score), ) assert network.is_connected() == True From dd68b7a809d944f90db9513ac4ead2d49b930401 Mon Sep 17 00:00:00 2001 From: hannahbaumann Date: Wed, 15 Oct 2025 11:33:58 +0200 Subject: [PATCH 3/7] Add news entry --- news/TEMPLATE.rst | 23 +++++++++++++++++++++++ news/charge_change_score.rst | 24 ++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 news/TEMPLATE.rst create mode 100644 news/charge_change_score.rst diff --git a/news/TEMPLATE.rst b/news/TEMPLATE.rst new file mode 100644 index 0000000..790d30b --- /dev/null +++ b/news/TEMPLATE.rst @@ -0,0 +1,23 @@ +**Added:** + +* + +**Changed:** + +* + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +* diff --git a/news/charge_change_score.rst b/news/charge_change_score.rst new file mode 100644 index 0000000..541c37f --- /dev/null +++ b/news/charge_change_score.rst @@ -0,0 +1,24 @@ +**Added:** + +* + +**Changed:** + +* Changed the default `charge_changes_score` from 0.0 to 0.1 in the gufe bindings to enable connected networks for + ligands of different net charge by default. + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +* From d761ddb94b62453787df3b845cb1f068909c38b6 Mon Sep 17 00:00:00 2001 From: Hannah Baumann <43765638+hannahbaumann@users.noreply.github.com> Date: Thu, 6 Nov 2025 09:17:46 +0100 Subject: [PATCH 4/7] Update news/charge_change_score.rst Co-authored-by: Alyssa Travitz <31974495+atravitz@users.noreply.github.com> --- news/charge_change_score.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/news/charge_change_score.rst b/news/charge_change_score.rst index 541c37f..38b6f30 100644 --- a/news/charge_change_score.rst +++ b/news/charge_change_score.rst @@ -4,7 +4,7 @@ **Changed:** -* Changed the default `charge_changes_score` from 0.0 to 0.1 in the gufe bindings to enable connected networks for +* Changed the default ``charge_changes_score`` from 0.0 to 0.1 in the gufe bindings to enable connected networks for ligands of different net charge by default. **Deprecated:** From 95515fb4356beeaaac597fea23b7dedeb98881f7 Mon Sep 17 00:00:00 2001 From: hannahbaumann Date: Thu, 6 Nov 2025 09:46:00 +0100 Subject: [PATCH 5/7] Test default charge change score --- lomap/tests/test_scorer.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lomap/tests/test_scorer.py b/lomap/tests/test_scorer.py index 205e523..21e6d9f 100644 --- a/lomap/tests/test_scorer.py +++ b/lomap/tests/test_scorer.py @@ -36,7 +36,6 @@ def test_connected_lomap_network(smcs): mappers=lomap.LomapAtomMapper(), scorer=partial(lomap.default_lomap_score), ) - assert network.is_connected() == True @@ -59,3 +58,13 @@ def test_ecr_consistency(smcs): assert_equal(score_zero, score_dbmol) assert not any(score_zero) assert all([i == 0.1 for i in score_nonzero]) + + +def test_default_and_explicit_charge_change_score_same(smcs): + mapper = lomap.LomapAtomMapper() + mapping = next(mapper.suggest_mappings(smcs[0], smcs[1])) + result_default = lomap.default_lomap_score(mapping) + result_explicit = lomap.default_lomap_score(mapping, + charge_changes_score=0.1) + + assert result_default == result_explicit From 453ff118ffdeee698926236ed9493c82832ae75f Mon Sep 17 00:00:00 2001 From: hannahbaumann Date: Mon, 17 Nov 2025 15:37:25 +0100 Subject: [PATCH 6/7] Add default_lomap_score to api docs --- docs/api.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/api.rst b/docs/api.rst index f1c9a77..57d56a9 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -8,3 +8,5 @@ Lomap API guide .. autofunction:: lomap.generate_lomap_network + +..autofunction:: lomap.default_lomap_score From 56cd273bc5b617ee7171f0631d3335cac5f243e7 Mon Sep 17 00:00:00 2001 From: hannahbaumann Date: Mon, 17 Nov 2025 15:38:07 +0100 Subject: [PATCH 7/7] Small fix --- docs/api.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api.rst b/docs/api.rst index 57d56a9..fb3c596 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -9,4 +9,4 @@ Lomap API guide .. autofunction:: lomap.generate_lomap_network -..autofunction:: lomap.default_lomap_score +.. autofunction:: lomap.default_lomap_score