CodeEntropy 2.6.1__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/levels/axes.py +11 -72
- CodeEntropy/levels/nodes/covariance.py +1 -8
- {codeentropy-2.6.1.dist-info → codeentropy-2.7.1.dist-info}/METADATA +7 -8
- {codeentropy-2.6.1.dist-info → codeentropy-2.7.1.dist-info}/RECORD +11 -11
- {codeentropy-2.6.1.dist-info → codeentropy-2.7.1.dist-info}/WHEEL +1 -1
- {codeentropy-2.6.1.dist-info → codeentropy-2.7.1.dist-info}/entry_points.txt +0 -0
- {codeentropy-2.6.1.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
|
|
CodeEntropy/levels/axes.py
CHANGED
|
@@ -82,15 +82,14 @@ class AxesCalculator:
|
|
|
82
82
|
* Translational axes are principal axes of data_container.
|
|
83
83
|
* Find edge heavy atom (i.e. heavy atoms bonded to neighbour residue).
|
|
84
84
|
Compute rotation centre and axes as in get_terminal_axes.
|
|
85
|
-
Compute custom MOI, using
|
|
86
|
-
heavy atom + hydrogen masses.
|
|
85
|
+
Compute custom MOI, using all atoms positions and masses.
|
|
87
86
|
|
|
88
87
|
- If bonded to at least two other residues:
|
|
89
88
|
* Translational axes are principal axes of data_container.
|
|
90
89
|
* Find edge heavy atoms (i.e. heavy atoms bonded to neighbour residues).
|
|
91
90
|
Compute rotation centre and axes as in get_non_terminal_axes.
|
|
92
|
-
Compute
|
|
93
|
-
|
|
91
|
+
Compute custom MOI, using all atoms positions and masses.
|
|
92
|
+
|
|
94
93
|
|
|
95
94
|
Args:
|
|
96
95
|
data_container (MDAnalysis.Universe or AtomGroup):
|
|
@@ -134,19 +133,8 @@ class AxesCalculator:
|
|
|
134
133
|
f"resindex {index_next})"
|
|
135
134
|
)
|
|
136
135
|
|
|
137
|
-
uas = residue.select_atoms("mass 2 to 999")
|
|
138
|
-
ua_masses = self.get_UA_masses(residue)
|
|
139
|
-
|
|
140
136
|
if len(edge_atom_set) == 0:
|
|
141
|
-
|
|
142
|
-
center_of_mass=np.array(residue.center_of_mass()),
|
|
143
|
-
positions=uas.positions,
|
|
144
|
-
masses=ua_masses,
|
|
145
|
-
dimensions=data_container.dimensions[:3],
|
|
146
|
-
)
|
|
147
|
-
rot_axes, moment_of_inertia = self.get_principal_axes_from_tensor(
|
|
148
|
-
moi_tensor
|
|
149
|
-
)
|
|
137
|
+
rot_axes, moment_of_inertia = self.get_molecule_axes(residue)
|
|
150
138
|
trans_axes = rot_axes # per original convention
|
|
151
139
|
rot_center = np.array(residue.center_of_mass())
|
|
152
140
|
else:
|
|
@@ -167,8 +155,8 @@ class AxesCalculator:
|
|
|
167
155
|
)
|
|
168
156
|
moment_of_inertia = self.get_custom_residue_moment_of_inertia(
|
|
169
157
|
center_of_mass=rot_center,
|
|
170
|
-
positions=
|
|
171
|
-
masses=
|
|
158
|
+
positions=residue.atoms.positions,
|
|
159
|
+
masses=residue.atoms.masses,
|
|
172
160
|
custom_rot_axes=rot_axes,
|
|
173
161
|
dimensions=data_container.dimensions[:3],
|
|
174
162
|
)
|
|
@@ -181,7 +169,6 @@ class AxesCalculator:
|
|
|
181
169
|
mol,
|
|
182
170
|
residue_atoms,
|
|
183
171
|
topology,
|
|
184
|
-
box: np.ndarray | None,
|
|
185
172
|
):
|
|
186
173
|
"""Compute residue axes using cached static topology.
|
|
187
174
|
|
|
@@ -195,7 +182,6 @@ class AxesCalculator:
|
|
|
195
182
|
mol: Current-frame molecule fragment.
|
|
196
183
|
residue_atoms: AtomGroup for the residue in the current frame.
|
|
197
184
|
topology: Cached ``ResidueAxesTopology`` for this residue.
|
|
198
|
-
box: Current periodic box lengths. If omitted, ``u.dimensions`` is used.
|
|
199
185
|
|
|
200
186
|
Returns:
|
|
201
187
|
Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]:
|
|
@@ -204,24 +190,10 @@ class AxesCalculator:
|
|
|
204
190
|
- center: Residue centre, shape ``(3,)``.
|
|
205
191
|
- moment_of_inertia: Principal moments, shape ``(3,)``.
|
|
206
192
|
"""
|
|
207
|
-
dimensions = (
|
|
208
|
-
np.asarray(box, dtype=float)
|
|
209
|
-
if box is not None
|
|
210
|
-
else np.asarray(u.dimensions[:3], dtype=float)
|
|
211
|
-
)
|
|
212
193
|
center = residue_atoms.center_of_mass(unwrap=True)
|
|
213
194
|
|
|
214
195
|
if not topology.has_neighbor_bonds:
|
|
215
|
-
|
|
216
|
-
moment_of_inertia_tensor = self.get_moment_of_inertia_tensor(
|
|
217
|
-
center_of_mass=center,
|
|
218
|
-
positions=heavy_atoms.positions,
|
|
219
|
-
masses=topology.residue_ua_masses,
|
|
220
|
-
dimensions=dimensions,
|
|
221
|
-
)
|
|
222
|
-
rot_axes, moment_of_inertia = self.get_principal_axes_from_tensor(
|
|
223
|
-
moment_of_inertia_tensor
|
|
224
|
-
)
|
|
196
|
+
rot_axes, moment_of_inertia = self.get_molecule_axes(residue_atoms)
|
|
225
197
|
trans_axes = rot_axes
|
|
226
198
|
else:
|
|
227
199
|
make_whole(mol.atoms)
|
|
@@ -277,7 +249,7 @@ class AxesCalculator:
|
|
|
277
249
|
|
|
278
250
|
index = int(index) # UA bead index
|
|
279
251
|
heavy_atoms = data_container.select_atoms("mass 2 to 999")
|
|
280
|
-
# use the same
|
|
252
|
+
# use the same trans axes as the residue level
|
|
281
253
|
if len(heavy_atoms) > 1:
|
|
282
254
|
if len(data_container.residues) == 1:
|
|
283
255
|
# only the one residue => use principal axes
|
|
@@ -411,16 +383,7 @@ class AxesCalculator:
|
|
|
411
383
|
heavy_atom = u.atoms[int(topology.heavy_atom_index)]
|
|
412
384
|
|
|
413
385
|
if len(heavy_atoms) > 1:
|
|
414
|
-
|
|
415
|
-
moment_of_inertia_tensor = self.get_moment_of_inertia_tensor(
|
|
416
|
-
center_of_mass=center,
|
|
417
|
-
positions=heavy_atoms.positions,
|
|
418
|
-
masses=topology.residue_ua_masses,
|
|
419
|
-
dimensions=dimensions,
|
|
420
|
-
)
|
|
421
|
-
trans_axes, _moment_of_inertia = self.get_principal_axes_from_tensor(
|
|
422
|
-
moment_of_inertia_tensor
|
|
423
|
-
)
|
|
386
|
+
trans_axes = self.get_principal_axes_from_group(residue_atoms)
|
|
424
387
|
else:
|
|
425
388
|
make_whole(residue_atoms)
|
|
426
389
|
trans_axes = self.get_principal_axes_from_group(residue_atoms)
|
|
@@ -921,8 +884,8 @@ class AxesCalculator:
|
|
|
921
884
|
|
|
922
885
|
Args:
|
|
923
886
|
center_of_mass: (3, ) COM for bead
|
|
924
|
-
positions: (N,3) positions of the
|
|
925
|
-
masses: (N,) masses of the
|
|
887
|
+
positions: (N,3) positions of the atoms in the bead
|
|
888
|
+
masses: (N,) masses of the atoms in the bead
|
|
926
889
|
custom_rot_axes: (3,3) array of residue rotation axes
|
|
927
890
|
dimensions: (3,) simulation_box_dimensions
|
|
928
891
|
|
|
@@ -1137,30 +1100,6 @@ class AxesCalculator:
|
|
|
1137
1100
|
)
|
|
1138
1101
|
return principal_axes
|
|
1139
1102
|
|
|
1140
|
-
def get_UA_masses(self, molecule) -> list[float]:
|
|
1141
|
-
"""Return united-atom (UA) masses for a molecule.
|
|
1142
|
-
|
|
1143
|
-
For a given molecule, return a list of masses of UAs (combination of the
|
|
1144
|
-
heavy atoms + bonded hydrogen atoms). This list is used to get the moment
|
|
1145
|
-
of inertia tensor for molecules larger than one UA.
|
|
1146
|
-
|
|
1147
|
-
Args:
|
|
1148
|
-
molecule: MDAnalysis AtomGroup representing the molecule.
|
|
1149
|
-
|
|
1150
|
-
Returns:
|
|
1151
|
-
list[float]: UA masses for each heavy atom.
|
|
1152
|
-
"""
|
|
1153
|
-
ua_masses: list[float] = []
|
|
1154
|
-
for atom in molecule:
|
|
1155
|
-
if atom.mass > 1.1:
|
|
1156
|
-
ua_mass = float(atom.mass)
|
|
1157
|
-
bonded_atoms = molecule.select_atoms(f"bonded index {atom.index}")
|
|
1158
|
-
bonded_h_atoms = bonded_atoms.select_atoms("mass 1 to 1.1")
|
|
1159
|
-
for h in bonded_h_atoms:
|
|
1160
|
-
ua_mass += float(h.mass)
|
|
1161
|
-
ua_masses.append(ua_mass)
|
|
1162
|
-
return ua_masses
|
|
1163
|
-
|
|
1164
1103
|
def get_chain(self, residue, first, last):
|
|
1165
1104
|
"""
|
|
1166
1105
|
For a given MDAnalysis AtomGroup and two given heavy atoms
|
|
@@ -578,7 +578,6 @@ class FrameCovarianceNode:
|
|
|
578
578
|
relative_res_i=relative_res_i,
|
|
579
579
|
axes_manager=axes_manager,
|
|
580
580
|
axes_topology=axes_topology,
|
|
581
|
-
box=box,
|
|
582
581
|
customised_axes=customised_axes,
|
|
583
582
|
)
|
|
584
583
|
|
|
@@ -615,7 +614,6 @@ class FrameCovarianceNode:
|
|
|
615
614
|
relative_res_i: int,
|
|
616
615
|
axes_manager: Any,
|
|
617
616
|
axes_topology: Any | None,
|
|
618
|
-
box: np.ndarray | None,
|
|
619
617
|
customised_axes: bool,
|
|
620
618
|
) -> tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray]:
|
|
621
619
|
"""Return axes, centre, and inertia data for a residue bead.
|
|
@@ -630,7 +628,6 @@ class FrameCovarianceNode:
|
|
|
630
628
|
might differ from residue index of first residue in topology.
|
|
631
629
|
axes_manager: Axes helper used to select axes, centres, and moments.
|
|
632
630
|
axes_topology: Optional cached axes topology generated during static setup.
|
|
633
|
-
box: Optional periodic box vector.
|
|
634
631
|
customised_axes: Whether customised residue axes should be used.
|
|
635
632
|
|
|
636
633
|
Returns:
|
|
@@ -644,11 +641,7 @@ class FrameCovarianceNode:
|
|
|
644
641
|
|
|
645
642
|
if residue_topology is not None:
|
|
646
643
|
return axes_manager.get_residue_axes_from_topology(
|
|
647
|
-
u=u,
|
|
648
|
-
mol=mol,
|
|
649
|
-
residue_atoms=res.atoms,
|
|
650
|
-
topology=residue_topology,
|
|
651
|
-
box=box,
|
|
644
|
+
u=u, mol=mol, residue_atoms=res.atoms, topology=residue_topology
|
|
652
645
|
)
|
|
653
646
|
|
|
654
647
|
return axes_manager.get_residue_axes(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: CodeEntropy
|
|
3
|
-
Version: 2.
|
|
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,15 +12,15 @@ 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
|
|
20
20
|
CodeEntropy/entropy/nodes/orientational.py,sha256=yPN_XRJ1LOxJ7hOE2cnsjIbgQlI2avM1g3mFbGhW6fM,2481
|
|
21
21
|
CodeEntropy/entropy/nodes/vibrational.py,sha256=3uhRqaMpK8u7QK2SDQ6RLRcr2rS3sPh6-GlTaNdTFWw,16978
|
|
22
22
|
CodeEntropy/levels/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
CodeEntropy/levels/axes.py,sha256=
|
|
23
|
+
CodeEntropy/levels/axes.py,sha256=2ws9a_n45ZHH4ya4DCttqEosHSqN_TrJO6dPHSbEeKE,47839
|
|
24
24
|
CodeEntropy/levels/forces.py,sha256=c7XnNIBTFCHHXllr1WxTIrxEV_CkUB2b1vdFO8hUofY,11595
|
|
25
25
|
CodeEntropy/levels/hierarchy.py,sha256=3cd4t6Tywg7VMgw4TboFF5VAHdhG4FaGBXsMptchisY,5158
|
|
26
26
|
CodeEntropy/levels/linalg.py,sha256=PJlrKtIOYcYDycW3Tbetm6k94FKFZTq-hm28qiu_tS0,3565
|
|
@@ -47,7 +47,7 @@ CodeEntropy/levels/nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
|
47
47
|
CodeEntropy/levels/nodes/accumulators.py,sha256=XM7phCAIo0RK9YAtx2wrdo2oinmpwXYrH9mp1_LQD7U,6259
|
|
48
48
|
CodeEntropy/levels/nodes/axes_topology.py,sha256=QzrWbCL9YA8fzF4_WWpQGaIAAsOnjY6cVH7INDE40dk,11285
|
|
49
49
|
CodeEntropy/levels/nodes/beads.py,sha256=9Ow065FY4jrIqPKCZJCvDNfIekJ17OBSX-bmEFsxtbc,8010
|
|
50
|
-
CodeEntropy/levels/nodes/covariance.py,sha256=
|
|
50
|
+
CodeEntropy/levels/nodes/covariance.py,sha256=T42iaL3AEswDp6qvI5uuTTKzksnjaJdEuQvNqsQjT_M,30100
|
|
51
51
|
CodeEntropy/levels/nodes/detect_levels.py,sha256=YrM5SSceLiMqbOhr8Fy6SV-E_zkKRpvgHfDT8Grbin8,1864
|
|
52
52
|
CodeEntropy/levels/nodes/detect_molecules.py,sha256=jILCddEicVngA7FjvQzafbG8HslaRICpT6hj2Uyi6YY,3059
|
|
53
53
|
CodeEntropy/molecules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -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.
|
|
62
|
-
codeentropy-2.
|
|
63
|
-
codeentropy-2.
|
|
64
|
-
codeentropy-2.
|
|
65
|
-
codeentropy-2.
|
|
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
|