ProDy icon indicating copy to clipboard operation
ProDy copied to clipboard

parse GENESIS DCD

Open jamesmkrieger opened this issue 2 years ago • 1 comments

Currently we get this error:

----> 1 traj = parseDCD("Runs/002492_FlexProtGenesis/extra/output_000001.dcd")

File ~/software/scipion3/software/em/ProDy/prody/trajectory/dcdfile.py:494, in parseDCD(filename, start, stop, step, astype)
    473 def parseDCD(filename, start=None, stop=None, step=None, astype=None):
    474     """Parse CHARMM format DCD files (also NAMD 2.1 and later).  Returns an
    475     :class:`Ensemble` instance. Conformations in the ensemble will be ordered
    476     as they appear in the trajectory file.  Use :class:`DCDFile` class for
   (...)
    491     :arg astype: cast coordinate array to specified type
    492     :type astype: type"""
--> 494     dcd = DCDFile(filename, astype=astype)
    495     time_ = time()
    496     n_frames = dcd.numFrames()

File ~/software/scipion3/software/em/ProDy/prody/trajectory/dcdfile.py:52, in DCDFile.__init__(self, filename, mode, **kwargs)
     50 self._astype = kwargs.get('astype', None)
     51 if not self._mode.startswith('w'):
---> 52     self._parseHeader()

File ~/software/scipion3/software/em/ProDy/prody/trajectory/dcdfile.py:178, in DCDFile._parseHeader(self)
    175 temp = unpack(endian + b'i', dcd.read(rec_scale * calcsize('i')))
    177 if (temp[0] - 4) % 80 != 0:
--> 178     raise IOError('Unrecognized DCD format.')
    180 # Read in an integer '4'
    181 if unpack(endian + b'i', dcd.read(rec_scale * calcsize('i')))[0] != 4:

OSError: Unrecognized DCD format.

jamesmkrieger avatar Sep 05 '23 11:09 jamesmkrieger

See https://github.com/scipion-em/scipion-em-continuousflex/blob/a024a1be83172156715d4883b1f42b060ff47ca0/continuousflex/protocols/utilities/genesis_utilities.py#L102

This may also help with #202

jamesmkrieger avatar Sep 05 '23 12:09 jamesmkrieger