Example #1
0
    def read_single_dcd_step(self,filename,frame):
        '''
        This method reads a single dcd step in the Charmm/Xplor data format.
	
        The method simply reads all frames up until frame and then assigns
        coordinates to the last frame (no seek option is utilizied)

        '''

        infile=dcdio.open_dcd_read(filename)
        num_fixed=0
        result = 1

        print 'calling read dcd header'
        readheaderresult,nnatoms,nset,istart,nsavc,delta,namnf,reverseEndian,charmm=dcdio.read_dcdheader(infile)
        if(readheaderresult!=0):
            print 'failed to read header'
            print 'readheaderresult = ',readheaderresult	

        print 'done with read dcd header'

        coor=numpy.zeros((1,nnatoms,3),numpy.float)	
	
        tx=numpy.zeros(nnatoms,dtype=numpy.float32)
        ty=numpy.zeros(nnatoms,dtype=numpy.float32)
        tz=numpy.zeros(nnatoms,dtype=numpy.float32)

        first = 1  # since num_fixed = 0 ; the "first" variable is inconsequential
		
        print 'calling read_dcdstep'
        for i in xrange(frame):	
            result=dcdio.read_dcdstep(infile,tx,ty,tz,num_fixed,first,reverseEndian,charmm)

        print 'back from read_dcdstep'
        print 'result = ',result

        coor[0,:,0]=tx.astype(numpy.float) ; coor[0,:,1]=ty.astype(numpy.float) ; coor[0,:,2]=tz.astype(numpy.float)
		
        result = dcdio.close_dcd_read(infile)
        self._coor=numpy.array(coor)
	
        if(result!=0):
            print 'failed to read coordinates'	
            print 'result = ',result

        return
Example #2
0
    def read_dcd(self,filename):

        '''
        This method reads data in the Charmm/Xplor data format.
        '''

        infile=dcdio.open_dcd_read(filename)

        nnatoms=0 ; nset=0 ; istart=0 ; nsavc=0 ; delta=0.0
        namnf=0 ; freeindexes=[] ; reverseEndian=0 ; charmm=0

        readheaderresult,nnatoms,nset,istart,nsavc,delta,namnf,reverseEndian,charmm=dcdio.read_dcdheader(infile)
        coor=numpy.zeros((nset,nnatoms,3),numpy.float)	
	
        num_fixed=0 
        result=1

        
        sum=0.0
        print('Reading DCD')
        for i in xrange(nset):
            sys.stdout.write('\r')
            
            eq = int(numpy.ceil(numpy.true_divide(i*100,nset*5)))
            sys.stdout.write("[{:20s}] {}/{} frames  ".format('='*eq, i+1,nset))
            sys.stdout.flush()
            read_start_time=time.time()
            tx=numpy.zeros(nnatoms,dtype=numpy.float32)
            ty=numpy.zeros(nnatoms,dtype=numpy.float32)
            tz=numpy.zeros(nnatoms,dtype=numpy.float32)
		
            result=dcdio.read_dcdstep(infile,tx,ty,tz,num_fixed,i,reverseEndian,charmm)
            read_end_time=time.time()
	
            sum+=read_end_time-read_start_time

            coor[i,:,0]=tx.astype(numpy.float) ; coor[i,:,1]=ty.astype(numpy.float) ; coor[i,:,2]=tz.astype(numpy.float)
        print	
        result = dcdio.close_dcd_read(infile)
        self._coor=numpy.array(coor)

        print

        return
Example #3
0
    def open_dcd_read(self,filename):
        '''
        This method opens a file to read in the Charmm/Xplor data format.
        by calling a pre-compiled C module (dcdio).
        '''

        filepointer=dcdio.open_dcd_read(filename)

        num_fixed=0
        result = 1

        readheaderresult,nnatoms,nset,istart,nsavc,delta,namnf,reverseEndian,charmm=dcdio.read_dcdheader(filepointer)
        if(readheaderresult!=0):
            print 'failed to read header'
            print 'readheaderresult = ',readheaderresult	
	
        dcdfile = [filepointer,nnatoms,nset,reverseEndian,charmm]
	
        return dcdfile
Example #4
0
    def read_dcd(self,filename):

        '''
        This method reads data in the Charmm/Xplor data format.
        '''

        infile=dcdio.open_dcd_read(filename)

        nnatoms=0 ; nset=0 ; istart=0 ; nsavc=0 ; delta=0.0
        namnf=0 ; freeindexes=[] ; reverseEndian=0 ; charmm=0

        readheaderresult,nnatoms,nset,istart,nsavc,delta,namnf,reverseEndian,charmm=dcdio.read_dcdheader(infile)
        coor=numpy.zeros((nset,nnatoms,3),numpy.float)	
	
        num_fixed=0 
        result=1

        sum=0.0
        for i in xrange(nset):
            print '.',
            sys.stdout.flush()
            read_start_time=time.time()
            tx=numpy.zeros(nnatoms,dtype=numpy.float32)
            ty=numpy.zeros(nnatoms,dtype=numpy.float32)
            tz=numpy.zeros(nnatoms,dtype=numpy.float32)
		
            result=dcdio.read_dcdstep(infile,tx,ty,tz,num_fixed,i,reverseEndian,charmm)
            read_end_time=time.time()
	
            sum+=read_end_time-read_start_time

            coor[i,:,0]=tx.astype(numpy.float) ; coor[i,:,1]=ty.astype(numpy.float) ; coor[i,:,2]=tz.astype(numpy.float)
	
        result = dcdio.close_dcd_read(infile)
        self._coor=numpy.array(coor)

        print

        return
Example #5
0
nnatoms = 0
nset = 0
istart = 0
nsavc = 0
delta = 0.0
namnf = 0
freeindexes = []
reverseEndian = 0
charmm = 0

print 'nnatoms = ', nnatoms
print 'nset = ', nset
print 'freeindexes = ', freeindexes

readheaderresult, nnatoms, nset, istart, nsavc, delta, namnf, reverseEndian, charmm = dcdio.read_dcdheader(
    ifp)

print 'read header result = ', readheaderresult

print 'nnatoms = ', nnatoms
print 'nset = ', nset
print 'istart = ', istart
print 'nsavc = ', nsavc
print 'delta = ', delta
print 'namnf = ', namnf
print 'reverseEndian = ', reverseEndian
print 'charmm = ', charmm

x = numpy.zeros((nset, nnatoms), dtype=numpy.float32)
y = numpy.zeros((nset, nnatoms), dtype=numpy.float32)
z = numpy.zeros((nset, nnatoms), dtype=numpy.float32)
Example #6
0
dcdio.close_dcd_write(fp)


filename='200c.dcd'
filename='c7.dcd'

ifp=dcdio.open_dcd_read(filename)

nnatoms=0 ; nset=0 ; istart=0 ; nsavc=0 ; delta=0.0
namnf=0 ; freeindexes=[] ; reverseEndian=0 ; charmm=0

print 'nnatoms = ',nnatoms
print 'nset = ',nset
print 'freeindexes = ',freeindexes

readheaderresult,nnatoms,nset,istart,nsavc,delta,namnf,reverseEndian,charmm=dcdio.read_dcdheader(ifp)

print 'read header result = ',readheaderresult

print 'nnatoms = ',nnatoms
print 'nset = ',nset
print 'istart = ',istart
print 'nsavc = ',nsavc
print 'delta = ',delta
print 'namnf = ',namnf
print 'reverseEndian = ',reverseEndian
print 'charmm = ',charmm

x=numpy.zeros((nset,nnatoms),dtype=numpy.float32)
y=numpy.zeros((nset,nnatoms),dtype=numpy.float32)
z=numpy.zeros((nset,nnatoms),dtype=numpy.float32)