Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ Lomap API guide


.. autofunction:: lomap.generate_lomap_network

.. autofunction:: lomap.default_lomap_score
4 changes: 2 additions & 2 deletions lomap/gufe_bindings/scorers.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand All @@ -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
-------
Expand Down
15 changes: 13 additions & 2 deletions lomap/tests/test_scorer.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand All @@ -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
24 changes: 24 additions & 0 deletions news/charge_change_score.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
**Added:**

* <news item>

**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:**

* <news item>

**Removed:**

* <news item>

**Fixed:**

* <news item>

**Security:**

* <news item>
Loading