diff --git a/docs/api.rst b/docs/api.rst index f1c9a77..fb3c596 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 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 ------- diff --git a/lomap/tests/test_scorer.py b/lomap/tests/test_scorer.py index ac9b45d..21e6d9f 100644 --- a/lomap/tests/test_scorer.py +++ b/lomap/tests/test_scorer.py @@ -29,12 +29,13 @@ 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 @@ -57,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 diff --git a/news/charge_change_score.rst b/news/charge_change_score.rst new file mode 100644 index 0000000..38b6f30 --- /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:** + +*