CodeEntropy 2.7.0__py3-none-any.whl → 2.7.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- CodeEntropy/__init__.py +1 -1
- CodeEntropy/config/argparse.py +9 -1
- CodeEntropy/entropy/water.py +11 -5
- CodeEntropy/entropy/workflow.py +6 -1
- {codeentropy-2.7.0.dist-info → codeentropy-2.7.1.dist-info}/METADATA +7 -8
- {codeentropy-2.7.0.dist-info → codeentropy-2.7.1.dist-info}/RECORD +9 -9
- {codeentropy-2.7.0.dist-info → codeentropy-2.7.1.dist-info}/WHEEL +1 -1
- {codeentropy-2.7.0.dist-info → codeentropy-2.7.1.dist-info}/entry_points.txt +0 -0
- {codeentropy-2.7.0.dist-info → codeentropy-2.7.1.dist-info}/licenses/LICENSE +0 -0
CodeEntropy/__init__.py
CHANGED
CodeEntropy/config/argparse.py
CHANGED
|
@@ -129,9 +129,17 @@ ARG_SPECS: dict[str, ArgSpec] = {
|
|
|
129
129
|
help="Force partitioning",
|
|
130
130
|
),
|
|
131
131
|
"water_entropy": ArgSpec(
|
|
132
|
+
type=bool,
|
|
133
|
+
default=False,
|
|
134
|
+
help="If set to True, enables the calculation of water entropy",
|
|
135
|
+
),
|
|
136
|
+
"water_entropy_parallel": ArgSpec(
|
|
132
137
|
type=bool,
|
|
133
138
|
default=True,
|
|
134
|
-
help=
|
|
139
|
+
help=(
|
|
140
|
+
"If set to False, disables the parallel calculation of "
|
|
141
|
+
"water entropy and switches to serial"
|
|
142
|
+
),
|
|
135
143
|
),
|
|
136
144
|
"grouping": ArgSpec(
|
|
137
145
|
type=str,
|
CodeEntropy/entropy/water.py
CHANGED
|
@@ -35,6 +35,7 @@ class WaterEntropyInput:
|
|
|
35
35
|
end: int
|
|
36
36
|
step: int
|
|
37
37
|
temperature: float
|
|
38
|
+
parallel: bool
|
|
38
39
|
group_id: int | None = None
|
|
39
40
|
|
|
40
41
|
|
|
@@ -53,7 +54,7 @@ class WaterEntropy:
|
|
|
53
54
|
self,
|
|
54
55
|
args: Any,
|
|
55
56
|
reporter: Any,
|
|
56
|
-
solver: Callable[..., tuple[dict, Any, Any, Any, Any]] = (
|
|
57
|
+
solver: Callable[..., tuple[dict, Any, Any, Any, Any, Any]] = (
|
|
57
58
|
GetSolvent.get_interfacial_water_orient_entropy
|
|
58
59
|
),
|
|
59
60
|
) -> None:
|
|
@@ -77,6 +78,7 @@ class WaterEntropy:
|
|
|
77
78
|
start: int,
|
|
78
79
|
end: int,
|
|
79
80
|
step: int,
|
|
81
|
+
parallel: bool,
|
|
80
82
|
group_id: int | None = None,
|
|
81
83
|
) -> None:
|
|
82
84
|
"""Compute water entropy and write results to the data logger.
|
|
@@ -95,6 +97,7 @@ class WaterEntropy:
|
|
|
95
97
|
step=step,
|
|
96
98
|
temperature=float(self._args.temperature),
|
|
97
99
|
group_id=group_id,
|
|
100
|
+
parallel=parallel,
|
|
98
101
|
)
|
|
99
102
|
self._calculate_and_log_from_inputs(inputs)
|
|
100
103
|
|
|
@@ -119,10 +122,12 @@ class WaterEntropy:
|
|
|
119
122
|
Tuple of solver outputs.
|
|
120
123
|
"""
|
|
121
124
|
logger.info(
|
|
122
|
-
"[WaterEntropy] Computing water entropy (start=%s, end=%s, step=%s
|
|
125
|
+
"[WaterEntropy] Computing water entropy (start=%s, end=%s, step=%s, "
|
|
126
|
+
"parallel=%s)",
|
|
123
127
|
inputs.start,
|
|
124
128
|
inputs.end,
|
|
125
129
|
inputs.step,
|
|
130
|
+
inputs.parallel,
|
|
126
131
|
)
|
|
127
132
|
return self._solver(
|
|
128
133
|
inputs.universe,
|
|
@@ -130,7 +135,7 @@ class WaterEntropy:
|
|
|
130
135
|
inputs.end,
|
|
131
136
|
inputs.step,
|
|
132
137
|
inputs.temperature,
|
|
133
|
-
parallel
|
|
138
|
+
inputs.parallel,
|
|
134
139
|
)
|
|
135
140
|
|
|
136
141
|
def _log_orientational_entropy(
|
|
@@ -144,8 +149,9 @@ class WaterEntropy:
|
|
|
144
149
|
"""
|
|
145
150
|
for _resid, resname_dict in Sorient_dict.items():
|
|
146
151
|
for resname, values in resname_dict.items():
|
|
147
|
-
if isinstance(values,
|
|
148
|
-
entropy
|
|
152
|
+
if isinstance(values, dict):
|
|
153
|
+
entropy = values["Sorient_Nw_ave"]
|
|
154
|
+
count = values["tot_count"]
|
|
149
155
|
self._reporter.add_residue_data(
|
|
150
156
|
group_id, resname, "Water", "Orientational", count, entropy
|
|
151
157
|
)
|
CodeEntropy/entropy/workflow.py
CHANGED
|
@@ -105,7 +105,11 @@ class EntropyWorkflow:
|
|
|
105
105
|
reduced_universe, groups
|
|
106
106
|
)
|
|
107
107
|
|
|
108
|
-
if self._args.water_entropy and water_groups
|
|
108
|
+
if self._args.water_entropy and water_groups:
|
|
109
|
+
if not nonwater_groups:
|
|
110
|
+
logger.warning(
|
|
111
|
+
"You are running waterEntropy on bulk water, this will be slow!"
|
|
112
|
+
)
|
|
109
113
|
self._compute_water_entropy(frame_selection, water_groups)
|
|
110
114
|
else:
|
|
111
115
|
nonwater_groups.update(water_groups)
|
|
@@ -394,6 +398,7 @@ class EntropyWorkflow:
|
|
|
394
398
|
start=start,
|
|
395
399
|
end=end,
|
|
396
400
|
step=step,
|
|
401
|
+
parallel=self._args.water_entropy_parallel,
|
|
397
402
|
group_id=group_id,
|
|
398
403
|
)
|
|
399
404
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: CodeEntropy
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.1
|
|
4
4
|
Summary: CodeEntropy is a Python package for computing the configurational entropy of macromolecular systems using forces sampled from molecular dynamics (MD) simulations. It implements the multiscale cell correlation method to provide accurate and efficient entropy estimates, supporting a wide range of applications in molecular simulation and statistical mechanics.
|
|
5
5
|
Keywords: entropy,macromolecular systems,MD simulation
|
|
6
6
|
Author-email: Arghya 'Argo' Chakravorty <arghyac@umich.edu>, Donald Chung-HK <donald.chung@stfc.ac.uk>, Sarah Fegan <sarah.fegan@stfc.ac.uk>, James Gebbie-Rayet <james.gebbie@stfc.ac.uk>, Sarah Harris <sarah.harris@sheffield.ac.uk>, Richard Henchman <rhen7213@uni.sydney.edu.au>, Jonathan Higham <j.higham4@lancaster.ac.uk>, Jas Kalayan <jas.kalayan@stfc.ac.uk>, Ioana Papa <iapapa1@sheffield.ac.uk>
|
|
@@ -24,7 +24,7 @@ Requires-Dist: PyYAML>=6.0.3,<7.0
|
|
|
24
24
|
Requires-Dist: rich>=13.0.0,<16.0
|
|
25
25
|
Requires-Dist: art>=5.0,<7.0
|
|
26
26
|
Requires-Dist: networkx>=2.8,<4.0
|
|
27
|
-
Requires-Dist: waterEntropy>=2,<3.0
|
|
27
|
+
Requires-Dist: waterEntropy>=2.3.0,<3.0
|
|
28
28
|
Requires-Dist: requests>=2.32.2,<3.0
|
|
29
29
|
Requires-Dist: rdkit>=2025.3.4,<2027
|
|
30
30
|
Requires-Dist: numba>=0.63.0,<0.70
|
|
@@ -32,9 +32,8 @@ Requires-Dist: dask>=2025.7.0,<2027.1.0
|
|
|
32
32
|
Requires-Dist: dask-jobqueue>=0.9.0,<1.0
|
|
33
33
|
Requires-Dist: distributed>=2025.7.0,<2027.1.0
|
|
34
34
|
Requires-Dist: sphinx>=8.0.0,<10.0 ; extra == "docs"
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
Requires-Dist: furo>=2025.12.19,<2026.0 ; extra == "docs"
|
|
35
|
+
Requires-Dist: sphinx-autoapi>=3.8,<4.0 ; extra == "docs"
|
|
36
|
+
Requires-Dist: ccpbiosim-sphinx-theme>=1.3.0,<1.4.0 ; extra == "docs"
|
|
38
37
|
Requires-Dist: markupsafe>=3.0,<4.0 ; extra == "docs"
|
|
39
38
|
Requires-Dist: pre-commit>=3.5.0,<5.0 ; extra == "pre-commit"
|
|
40
39
|
Requires-Dist: ruff>=0.15.2,<1.0 ; extra == "pre-commit"
|
|
@@ -56,7 +55,7 @@ CodeEntropy
|
|
|
56
55
|
|
|
57
56
|
| Category | Badges |
|
|
58
57
|
|----------------|--------|
|
|
59
|
-
| **Build** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/pr.yaml) [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/pr.yaml) [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-tests.yaml) |
|
|
60
59
|
| **Regression** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-regression.yaml) |
|
|
61
60
|
| **Documentation** | [](https://github.com/CCPBioSim/CodeEntropy/actions/workflows/weekly-docs.yaml) [](https://codeentropy.readthedocs.io/en/latest/?badge=latest) |
|
|
62
61
|
| **Citation** | [](https://doi.org/10.5281/zenodo.17570721) |
|
|
@@ -67,8 +66,8 @@ CodeEntropy
|
|
|
67
66
|
CodeEntropy is a Python package for computing the configurational entropy of macromolecular systems using forces sampled from molecular dynamics (MD) simulations. It implements the multiscale cell correlation method to provide accurate and efficient entropy estimates, supporting a wide range of applications in molecular simulation and statistical mechanics.
|
|
68
67
|
|
|
69
68
|
<p align="center">
|
|
70
|
-
<img src="docs/_static/logos/biosim-codeentropy_logo_light.png#gh-dark-mode-only" alt="CodeEntropy logo" width="300"/>
|
|
71
|
-
<img src="docs/_static/logos/biosim-codeentropy_logo_dark.png#gh-light-mode-only" alt="CodeEntropy logo" width="300"/>
|
|
69
|
+
<img src="docs/source/_static/logos/biosim-codeentropy_logo_light.png#gh-dark-mode-only" alt="CodeEntropy logo" width="300"/>
|
|
70
|
+
<img src="docs/source/_static/logos/biosim-codeentropy_logo_dark.png#gh-light-mode-only" alt="CodeEntropy logo" width="300"/>
|
|
72
71
|
</p>
|
|
73
72
|
|
|
74
73
|
See [CodeEntropy’s documentation](https://codeentropy.readthedocs.io/en/latest/) for more information.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
CodeEntropy/__init__.py,sha256=
|
|
1
|
+
CodeEntropy/__init__.py,sha256=3IcxfleI07bxBR3P5EA6vG13VTtfYGCe1q41Cg4gCSE,404
|
|
2
2
|
CodeEntropy/__main__.py,sha256=5i_ZrxQaq0q2aPllbB4SZ6BApV6oUFCgx0cGyjfMPrU,108
|
|
3
3
|
CodeEntropy/cli.py,sha256=nSshc8P7F7n3jAW36vzwXsFdffLfFdCpkfLvA-tJb3c,1318
|
|
4
4
|
CodeEntropy/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
CodeEntropy/config/argparse.py,sha256=
|
|
5
|
+
CodeEntropy/config/argparse.py,sha256=gCIUlQzMnUAYm7o-Mk2QKOP_HItc7-c1WGCe-YgEvbE,19927
|
|
6
6
|
CodeEntropy/config/runtime.py,sha256=1lfLy57vv6nF6ND0cspGpIWQdfwj_ZiZpU9GohfvkwI,14914
|
|
7
7
|
CodeEntropy/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
CodeEntropy/core/dask_clusters.py,sha256=FsvLyYQPImTWRf9J4x7wUILqf3syS0Ji5JUsJN-Qp1A,8992
|
|
@@ -12,8 +12,8 @@ CodeEntropy/entropy/configurational.py,sha256=3erd1Ul4sGL5BMBDYq33f27aRTZqiEb6hv
|
|
|
12
12
|
CodeEntropy/entropy/graph.py,sha256=LeDF2KxxNVgpetrIE9j0dnW64UhGywDLqoBJEf54vtc,4612
|
|
13
13
|
CodeEntropy/entropy/orientational.py,sha256=gfpYqCKQjAAx22rrUdbiLvzfEIXy1nwJoub1rgYKCvY,3415
|
|
14
14
|
CodeEntropy/entropy/vibrational.py,sha256=WeQJ1bKQPSxPrREJ8CDhk9Ph2xeunrWZ0zu76y-H6Ow,9733
|
|
15
|
-
CodeEntropy/entropy/water.py,sha256=
|
|
16
|
-
CodeEntropy/entropy/workflow.py,sha256=
|
|
15
|
+
CodeEntropy/entropy/water.py,sha256=B2VbMYFH8umXO8r2KXHIsq26MpX5Q6w76LjABNg_KDU,8401
|
|
16
|
+
CodeEntropy/entropy/workflow.py,sha256=Xypn5Gd7LpVXgoO_sawUBNXehEGv0F8paZ658VnQTF4,16311
|
|
17
17
|
CodeEntropy/entropy/nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
18
|
CodeEntropy/entropy/nodes/aggregate.py,sha256=4SyXP1_bM0IesOuqflRLvPgEfFu0PmKiEm4EFgnNxwg,3062
|
|
19
19
|
CodeEntropy/entropy/nodes/configurational.py,sha256=-3j2ji_p-twPjZyjQ1T3tgN0pYLSIof9any1w5NI2as,7135
|
|
@@ -58,8 +58,8 @@ CodeEntropy/trajectory/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
|
|
|
58
58
|
CodeEntropy/trajectory/frames.py,sha256=MSx_swzFjo4TgkZTR1y6W-1zuKNPg_C36I_uFqvOKpk,4354
|
|
59
59
|
CodeEntropy/trajectory/mda.py,sha256=epKpAzxkNQi3rE7HJc_tsK_ZY4c575LdXmWewJoP1qE,16954
|
|
60
60
|
CodeEntropy/trajectory/source.py,sha256=NfYsdm1amr29h2tmJP-RKyCp3phb1SOAtAELJmGm740,1475
|
|
61
|
-
codeentropy-2.7.
|
|
62
|
-
codeentropy-2.7.
|
|
63
|
-
codeentropy-2.7.
|
|
64
|
-
codeentropy-2.7.
|
|
65
|
-
codeentropy-2.7.
|
|
61
|
+
codeentropy-2.7.1.dist-info/entry_points.txt,sha256=8Oa3H9ErsrGtx5Hc6hIHOw73wK3Ylkvfgtl_4cBb_GU,52
|
|
62
|
+
codeentropy-2.7.1.dist-info/licenses/LICENSE,sha256=hgMaAAVW1Q6dL586OHoz8vFO-6BYn-d2aAFBpVQylFc,1072
|
|
63
|
+
codeentropy-2.7.1.dist-info/WHEEL,sha256=rLJE8OLPBZbz7tqxs1yD-wA-ADa1Ec5PuYU-Y_PNWDI,81
|
|
64
|
+
codeentropy-2.7.1.dist-info/METADATA,sha256=_vGCZ5Gsa404J5KCRQreC2fmA6LMH1zEwnhO_imSeyw,6336
|
|
65
|
+
codeentropy-2.7.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|