From 10754afb4a73a3cda65162677895cef7de65b029 Mon Sep 17 00:00:00 2001 From: Maciej Bartkowiak Date: Mon, 18 Mar 2024 13:28:54 +0000 Subject: [PATCH] Improve the performance of ASE converter --- MDANSE/Src/MDANSE/Framework/Converters/ASE.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/MDANSE/Src/MDANSE/Framework/Converters/ASE.py b/MDANSE/Src/MDANSE/Framework/Converters/ASE.py index b166e94442..cd5c031e37 100644 --- a/MDANSE/Src/MDANSE/Framework/Converters/ASE.py +++ b/MDANSE/Src/MDANSE/Framework/Converters/ASE.py @@ -136,6 +136,9 @@ def run_step(self, index): try: frame = self._input[index] except TypeError: + frame = next(self._input) + else: + print("ASE using the slower way") frame = read(self.configuration["trajectory_file"]["value"], index=index) time = self._timeaxis[index] @@ -195,15 +198,15 @@ def parse_first_step(self, mapping): try: self._input = ASETrajectory(self.configuration["trajectory_file"]["value"]) except: - self._input = iread( - self.configuration["trajectory_file"]["value"], index="[:]" - ) first_frame = read(self.configuration["trajectory_file"]["value"], index=0) last_iterator = 0 generator = iread(self.configuration["trajectory_file"]["value"]) for _ in generator: last_iterator += 1 generator.close() + self._input = iread( + self.configuration["trajectory_file"]["value"] # , index="[:]" + ) self._total_number_of_steps = last_iterator else: first_frame = self._input[0]