From dce06b21809382b36252c0756864d59ee6f07c9a Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Wed, 13 Aug 2025 16:23:53 +0100 Subject: [PATCH 1/6] Add parallel flag to getsolvent call This will trigger water entropy to run multithreaded. We should later percolate parallel worker threads into water entropy from CE to save overhead in setting up two lots of schedulers. --- CodeEntropy/entropy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CodeEntropy/entropy.py b/CodeEntropy/entropy.py index 21a7e62..3889a77 100644 --- a/CodeEntropy/entropy.py +++ b/CodeEntropy/entropy.py @@ -405,7 +405,7 @@ def _calculate_water_entropy(self, universe, start, end, step): step (int): Step size. """ Sorient_dict, _, vibrations, _ = ( - GetSolvent.get_interfacial_water_orient_entropy(universe, start, end, step) + GetSolvent.get_interfacial_water_orient_entropy(universe, start, end, step, parallel=True) ) # Log per-residue entropy using helper functions From 4c53a543e8cc315e4efd400e1c2861834c64c34b Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Wed, 13 Aug 2025 16:31:09 +0100 Subject: [PATCH 2/6] Add temperature to water entropy call --- CodeEntropy/entropy.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CodeEntropy/entropy.py b/CodeEntropy/entropy.py index 3889a77..35cb267 100644 --- a/CodeEntropy/entropy.py +++ b/CodeEntropy/entropy.py @@ -405,7 +405,13 @@ def _calculate_water_entropy(self, universe, start, end, step): step (int): Step size. """ Sorient_dict, _, vibrations, _ = ( - GetSolvent.get_interfacial_water_orient_entropy(universe, start, end, step, parallel=True) + GetSolvent.get_interfacial_water_orient_entropy( + universe, + start, + end, + step, + self._args.temperature, + parallel=True) ) # Log per-residue entropy using helper functions From 5fa31393cb6ecec20c72bb23402e841568d0bc1a Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Wed, 13 Aug 2025 16:44:30 +0100 Subject: [PATCH 3/6] fix with black --- CodeEntropy/entropy.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/CodeEntropy/entropy.py b/CodeEntropy/entropy.py index 35cb267..5e9e025 100644 --- a/CodeEntropy/entropy.py +++ b/CodeEntropy/entropy.py @@ -406,12 +406,8 @@ def _calculate_water_entropy(self, universe, start, end, step): """ Sorient_dict, _, vibrations, _ = ( GetSolvent.get_interfacial_water_orient_entropy( - universe, - start, - end, - step, - self._args.temperature, - parallel=True) + universe, start, end, step, self._args.temperature, parallel=True + ) ) # Log per-residue entropy using helper functions From b8aa2a427cfe28d90d62d08aa78b43436fdf9b9a Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Wed, 13 Aug 2025 16:57:39 +0100 Subject: [PATCH 4/6] bump waterentropy to include parallel support --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8fd361a..a0972a6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,7 +39,7 @@ dependencies = [ "PyYAML==6.0.2", "python-json-logger==3.3.0", "tabulate==0.9.0", - "waterEntropy==1.1.0" + "waterEntropy==1.2.0" ] [project.urls] From 2a0edbf1ae178549b34f0633d052088ad9d6284a Mon Sep 17 00:00:00 2001 From: Jas Kalayan Date: Wed, 13 Aug 2025 18:50:32 +0100 Subject: [PATCH 5/6] added reference to extra dict produced from WE update --- CodeEntropy/entropy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CodeEntropy/entropy.py b/CodeEntropy/entropy.py index 5e9e025..7176721 100644 --- a/CodeEntropy/entropy.py +++ b/CodeEntropy/entropy.py @@ -404,7 +404,7 @@ def _calculate_water_entropy(self, universe, start, end, step): end (int): End frame. step (int): Step size. """ - Sorient_dict, _, vibrations, _ = ( + Sorient_dict, _, vibrations, _, _ = ( GetSolvent.get_interfacial_water_orient_entropy( universe, start, end, step, self._args.temperature, parallel=True ) From 15add6fc701c81a91c6a94e1ae83f567b02f7c58 Mon Sep 17 00:00:00 2001 From: James Gebbie-Rayet Date: Wed, 13 Aug 2025 20:35:19 +0100 Subject: [PATCH 6/6] Update test_entropy.py --- tests/test_CodeEntropy/test_entropy.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/test_CodeEntropy/test_entropy.py b/tests/test_CodeEntropy/test_entropy.py index dd31cf6..a1d21f4 100644 --- a/tests/test_CodeEntropy/test_entropy.py +++ b/tests/test_CodeEntropy/test_entropy.py @@ -989,6 +989,7 @@ def test_calculate_water_entropy(self, mock_get_entropy): None, mock_vibrations, None, + None, ) mock_universe = MagicMock() @@ -1018,6 +1019,7 @@ def test_calculate_water_entropy_minimal(self, mock_get_entropy): rotational_S={("ACE_1", "WAT"): 2.0}, ), None, + None, ) # Simulate residue-level results already collected