Skip to content

Commit 9e906f0

Browse files
committed
Minimal reader and corresponding test-suite clean up
1 parent 72fa772 commit 9e906f0

File tree

4 files changed

+12
-19
lines changed

4 files changed

+12
-19
lines changed

imdclient/tests/minimalReader.py

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,12 @@ class minimalReader:
2424
keyword arguments passed to the constructed :class:`IMDClient`
2525
"""
2626

27-
def __init__(self, filename, n_atoms=None, process_stream=False, **kwargs):
27+
def __init__(self, filename, **kwargs):
2828

2929
self.imd_frame = None
3030

3131
# a trajectory of imd frames
32-
self.trajectory = None
33-
34-
self.n_atoms = n_atoms
32+
self.trajectory = []
3533

3634
host, port = parse_host_port(filename)
3735

@@ -42,8 +40,7 @@ def __init__(self, filename, n_atoms=None, process_stream=False, **kwargs):
4240

4341
self._frame = -1
4442

45-
if process_stream:
46-
self._process_stream()
43+
self._process_stream()
4744

4845
def _read_next_frame(self):
4946
try:
@@ -56,20 +53,15 @@ def _read_next_frame(self):
5653

5754
logger.debug(f"minimalReader: Loaded frame {self._frame}")
5855

59-
def _add_frame_to_trajectory(self):
60-
# Add the current frame to the trajectory
61-
if self.trajectory is None:
62-
self.trajectory = []
63-
self.trajectory.append(self.imd_frame)
64-
logger.debug(
65-
f"minimalReader: Added frame {self._frame} to trajectory"
66-
)
67-
56+
return imd_frame
57+
6858
def _process_stream(self):
6959
# Process the stream of frames
7060
while True:
7161
try:
72-
self._read_next_frame()
73-
self._add_frame_to_trajectory()
62+
self.trajectory.append(self._read_next_frame().copy())
63+
logger.debug(
64+
f"minimalReader: Added frame {self._frame} to trajectory"
65+
)
7466
except EOFError:
7567
break

imdclient/tests/test_lammps.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,4 +67,4 @@ def true_u(self, topol, traj, imd_u, tmp_path):
6767

6868
@pytest.fixture()
6969
def imd_u(self, docker_client, topol, tmp_path, port):
70-
u = minimalReader(f"imd://localhost:{port}", process_stream=True)
70+
u = minimalReader(f"imd://localhost:{port}")

imdclient/tests/test_manual.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def load_true_universe(topol_path, traj_path):
9090

9191
def load_imd_universe(topol_path, tmp_path):
9292
# Pass atom_style (ignored if not using LAMMPS topol)
93-
tmp_u = minimalReader(f"imd://localhost:8888", process_stream=True)
93+
tmp_u = minimalReader(f"imd://localhost:8888")
9494
return tmp_u
9595

9696

imdclient/tests/test_namd.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ def test_compare_imd_to_true_traj(self, imd_u, true_u, first_frame):
104104
atol=1e-03,
105105
)
106106

107+
# Since NAMD does not write velocities, forces to the DCD file, we need to do so seperately by extracting that info from theri respective DCD files
107108
# Compare velocities
108109
def test_compare_imd_to_true_traj_vel(self, imd_u, true_u_vel, first_frame):
109110
for i in range(first_frame, len(true_u_vel.trajectory)):

0 commit comments

Comments
 (0)