def __init__(self, outfilename, **kwargs): super(GMSReader, self).__init__(outfilename, **kwargs) # the filename has been parsed to be either b(g)zipped or not self.outfile = util.anyopen(self.filename, 'r') # note that, like for xtc and trr files, _n_atoms and _n_frames are used quasi-private variables # to prevent the properties being recalculated # this is because there is no indexing so the way it measures the number of frames is to read the whole file! self._n_atoms = None self._n_frames = None self._runtyp = None self.ts = self._Timestep(0) # need for properties initial calculations # update runtyp property self.runtyp if not self.runtyp in ['optimize', 'surface']: raise AttributeError('Wrong RUNTYP= '+self.runtyp) self.ts = self._Timestep(self.n_atoms, **self._ts_kwargs) # update n_frames property self.n_frames # Read in the first timestep self._read_next_timestep()
def __init__(self, outfilename, **kwargs): super(GMSReader, self).__init__(outfilename, **kwargs) # the filename has been parsed to be either b(g)zipped or not self.outfile = util.anyopen(self.filename) # note that, like for xtc and trr files, _n_atoms and _n_frames are used quasi-private variables # to prevent the properties being recalculated # this is because there is no indexing so the way it measures the number of frames is to read the whole file! self._n_atoms = None self._n_frames = None self._runtyp = None self.ts = self._Timestep(0) # need for properties initial calculations # update runtyp property self.runtyp if not self.runtyp in ['optimize', 'surface']: raise AttributeError('Wrong RUNTYP= ' + self.runtyp) self.ts = self._Timestep(self.n_atoms, **self._ts_kwargs) # update n_frames property self.n_frames # Read in the first timestep self._read_next_timestep()
def open_trajectory(self): if not self.outfile is None: raise IOError(errno.EALREADY, 'GMS file already opened', self.filename) if not os.path.exists(self.filename): # must check; otherwise might segmentation fault raise IOError(errno.ENOENT, 'GMS file not found', self.filename) self.outfile = util.anyopen(self.filename, 'r') # reset ts ts = self.ts ts.frame = -1 return self.outfile
def open_trajectory(self): if self.outfile is not None: raise IOError(errno.EALREADY, 'GMS file already opened', self.filename) if not os.path.exists(self.filename): # must check; otherwise might segmentation fault raise IOError(errno.ENOENT, 'GMS file not found', self.filename) self.outfile = util.anyopen(self.filename, 'rt') # reset ts ts = self.ts ts.frame = -1 return self.outfile