示例#1
0
def xtc_coords(filename,idxs=None):
    """ Get the coordinates """

    try:
        import xdrfile.libxdrfile2 as libxdr
    except ImportError:
        raise ImportError("libxdrfile2 library needed for xtc trajectories!")

    file = libxdr.xdrfile_open(filename, "r")
    natoms = libxdr.read_xtc_natoms(filename)
    nframes, offsets = libxdr.read_xtc_numframes(filename)
    box = np.zeros((3,3),dtype=np.float32)
    config = np.zeros((natoms,3),dtype=np.float32)

    if idxs is not None:
        # Seek to read frames specified by idxs.
        nframes = len(idxs)
        coords = np.zeros((nframes,3,natoms),dtype="float")
        for i in xrange(nframes):
            libxdr.xdr_seek(file,offsets[idxs[i]],0)
            status,step,timestmp,prec = libxdr.read_xtc(file, box, config)
            coords[i,:,:] = config.astype("float").T
    else:
        coords = np.zeros((nframes,3,natoms),dtype=np.float32)
        status = libxdr.exdrOK
        i = 0
        while status == libxdr.exdrOK:
            status,step,timestmp,prec = libxdr.read_xtc(file, box, config)
            coords[i,:,:] = config.astype("float").T
            i += 1

    libxdr.xdrfile_close(file)

    return coords
示例#2
0
def xtc_nframes(filename):
    """ Get the coordinates """

    try:
        import xdrfile.libxdrfile2 as libxdr
    except ImportError:
        raise ImportError("libxdrfile2 library needed for xtc trajectories!")

    file = libxdr.xdrfile_open(filename, "r")
    natoms = libxdr.read_xtc_natoms(filename)
    nframes, offsets = libxdr.read_xtc_numframes(filename)
    return nframes, natoms
示例#3
0
    def __init__(self, filename, **kwargs):
        raise NotImplementedError
        try:
            import xdrfile.libxdrfile2 as libxdr
        except ImportError:
            raise ImportError("libxdrfile2 library needed for xtc trajectories!")

        self.filename = filename
        self.velocities = False
        self.file = libxdr.xdrfile_open(filename, 'r')
        self.natoms = libxdr.read_xtc_natoms(self.filename)
        self.nframes, self.offsets = libxdr.read_xtc_numframes(self.filename)
        self.box = np.zeros((3,3),dtype=np.float32)
        self.config = np.zeros((self.natoms,3),dtype=np.float32)
示例#4
0
    def __init__(self, filename, **kwargs):
        raise NotImplementedError
        try:
            import xdrfile.libxdrfile2 as libxdr
        except ImportError:
            raise ImportError(
                "libxdrfile2 library needed for xtc trajectories!")

        self.filename = filename
        self.velocities = False
        self.file = libxdr.xdrfile_open(filename, 'r')
        self.natoms = libxdr.read_xtc_natoms(self.filename)
        self.nframes, self.offsets = libxdr.read_xtc_numframes(self.filename)
        self.box = np.zeros((3, 3), dtype=np.float32)
        self.config = np.zeros((self.natoms, 3), dtype=np.float32)
示例#5
0
文件: trajectory.py 项目: proc0/ngl
 def _read_numframes(self, file_name):
     return libxdrfile2.read_xtc_numframes(file_name)
示例#6
0
 def _read_numframes( self, file_name ):
     return libxdrfile2.read_xtc_numframes( file_name )