def generate(fin='rna.pdb', fout='rna.dcd', frames=1000): path = os.path.dirname(os.path.realpath(__file__)) fin = os.path.join(path, '../', 'data', 'pdb_common', fin) if not os.path.exists(fin): raise Exception, fin + ' does not exist while generating huge rna dcd files' return #fout = os.path.join(path,'../','data','dcd_common',fout) fout = os.path.join('/tmp/', fout) if os.path.exists(fout): return o = s.SasMol(0) o.read_pdb(fin) outfile = dcdio.open_dcd_write(fout) nset = frames natoms = o._coor[0, :, 0].shape[0] istart = 0 nsavc = 1 delta = 1.0 o.write_dcd_header(outfile, frames) tx = o.coor()[0, :, 0].astype(np.float32) ty = o.coor()[0, :, 1].astype(np.float32) tz = o.coor()[0, :, 2].astype(np.float32) for i in range(frames): dcdio.write_dcdstep(outfile, tx, ty, tz, i + 1) o.close_dcd_write(outfile)
def test_file_doesnt_exist(self): ''' test a dcd which doent exist ''' filename = 'file-notexist.dcd' dcdFile = moduleDataPath+'test-results/'+filename stdoutFile = filename+'.stdiout' pf = dcdio.open_dcd_write(dcdFile) sys.stdout = open(stdoutFile,'w') self.o.close_dcd_write(pf) sys.stdout = sys.__stdout__ code=string.split(open(stdoutFile).read())[2] self.assertEqual(int(code), 0) os.remove(stdoutFile) os.remove(dcdFile)
def test_1CRN(self): ''' test a dcd from a small protein (crambin) ''' # pdbFileName = DataPath+'1CRN.pdb' self.o.read_pdb(pdbFileName) nset = 3 # dcdFileName = moduleDataPath+'test-results/1CRN-writedcd_header-test.dcd' fp = dcdio.open_dcd_write(dcdFileName) self.o.write_dcd_header(fp, nset) dcdio.close_dcd_write(fp) fsize = os.path.getsize(dcdFileName) print fsize self.assertTrue(fsize>0) os.remove(dcdFileName)
def test_2AAD(self): ''' test a dcd with 3 frames based on a 2-aa pdb ''' # pdbFileName = DataPath+'2AAD.pdb' self.o.read_pdb(pdbFileName) nset = 3 # dcdFileName = moduleDataPath+'test-results/2AAD-writedcd_header-test.dcd' fp = dcdio.open_dcd_write(dcdFileName) self.o.write_dcd_header(fp, nset) dcdio.close_dcd_write(fp) fsize = os.path.getsize(dcdFileName) print fsize self.assertTrue(fsize>0) os.remove(dcdFileName)
def test_rna_1to10frames(self): ''' test a dcd of 10 frames based on a rna molecule ''' # pdbFileName = DataPath+'rna.pdb' self.o.read_pdb(pdbFileName) nset = 10 # dcdFileName = moduleDataPath+'test-results/rna-1to10-writedcd_header-test.dcd' fp = dcdio.open_dcd_write(dcdFileName) self.o.write_dcd_header(fp, nset) dcdio.close_dcd_write(fp) fsize = os.path.getsize(dcdFileName) print fsize self.assertTrue(fsize>0) os.remove(dcdFileName)
def test_1KP8(self): ''' test a dcd from a large protein complex (groel) ''' # pdbFileName = DataPath+'1KP8.pdb' self.o.read_pdb(pdbFileName) nset = 3 # dcdFileName = moduleDataPath+'test-results/1KP8-writedcd_header-test.dcd' fp = dcdio.open_dcd_write(dcdFileName) self.o.write_dcd_header(fp, nset) dcdio.close_dcd_write(fp) fsize = os.path.getsize(dcdFileName) print fsize self.assertTrue(fsize>0) os.remove(dcdFileName)
def test_1CRN(self): ''' test a dcd from a small protein (crambin) ''' # pdbFileName = DataPath + '1CRN.pdb' self.o.read_pdb(pdbFileName) nset = 3 # dcdFileName = moduleDataPath + 'test-results/1CRN-writedcd_header-test.dcd' fp = dcdio.open_dcd_write(dcdFileName) self.o.write_dcd_header(fp, nset) dcdio.close_dcd_write(fp) fsize = os.path.getsize(dcdFileName) print fsize self.assertTrue(fsize > 0) os.remove(dcdFileName)
def test_2AAD(self): ''' test a dcd with 3 frames based on a 2-aa pdb ''' # pdbFileName = DataPath + '2AAD.pdb' self.o.read_pdb(pdbFileName) nset = 3 # dcdFileName = moduleDataPath + 'test-results/2AAD-writedcd_header-test.dcd' fp = dcdio.open_dcd_write(dcdFileName) self.o.write_dcd_header(fp, nset) dcdio.close_dcd_write(fp) fsize = os.path.getsize(dcdFileName) print fsize self.assertTrue(fsize > 0) os.remove(dcdFileName)
def test_rna_1to10frames(self): ''' test a dcd of 10 frames based on a rna molecule ''' # pdbFileName = DataPath + 'rna.pdb' self.o.read_pdb(pdbFileName) nset = 10 # dcdFileName = moduleDataPath + 'test-results/rna-1to10-writedcd_header-test.dcd' fp = dcdio.open_dcd_write(dcdFileName) self.o.write_dcd_header(fp, nset) dcdio.close_dcd_write(fp) fsize = os.path.getsize(dcdFileName) print fsize self.assertTrue(fsize > 0) os.remove(dcdFileName)
def test_1KP8(self): ''' test a dcd from a large protein complex (groel) ''' # pdbFileName = DataPath + '1KP8.pdb' self.o.read_pdb(pdbFileName) nset = 3 # dcdFileName = moduleDataPath + 'test-results/1KP8-writedcd_header-test.dcd' fp = dcdio.open_dcd_write(dcdFileName) self.o.write_dcd_header(fp, nset) dcdio.close_dcd_write(fp) fsize = os.path.getsize(dcdFileName) print fsize self.assertTrue(fsize > 0) os.remove(dcdFileName)
def test_1ATM(self): ''' test a dcd with 2 frames based on an 1-atom pdb ''' # filename = '1ATM.dcd' dcdFile = commonDcdDataPath+filename tmpDcdFile = moduleDataPath+'test-results/'+filename shutil.copy(dcdFile, tmpDcdFile) stdoutFile = filename+'.stdiout' pf = dcdio.open_dcd_write(tmpDcdFile) sys.stdout = open(stdoutFile,'w') self.o.close_dcd_write(pf) sys.stdout = sys.__stdout__ code=string.split(open(stdoutFile).read())[2] self.assertEqual(int(code), 0) os.remove(stdoutFile) os.remove(tmpDcdFile)
def test_rna_6point4gb(self): ''' test a dcd of size 6.4gb based on a rna molecule ''' # filename = "rna-6.4g.dcd" dcdFile = os.path.join('/tmp/',filename) tmpDcdFile = moduleDataPath+'test-results/'+filename shutil.copy(dcdFile, tmpDcdFile) stdoutFile = filename+'.stdiout' pf = dcdio.open_dcd_write(tmpDcdFile) sys.stdout = open(stdoutFile,'w') self.o.close_dcd_write(pf) sys.stdout = sys.__stdout__ code=string.split(open(stdoutFile).read())[2] self.assertEqual(int(code), 0) os.remove(stdoutFile) os.remove(tmpDcdFile)
def generate(fin='rna.pdb', fout='rna.dcd', frames=1000): path = os.path.dirname(os.path.realpath(__file__)) fin = os.path.join(path,'../','data','pdb_common',fin) if not os.path.exists(fin): raise Exception,fin+' does not exist while generating huge rna dcd files' return #fout = os.path.join(path,'../','data','dcd_common',fout) fout = os.path.join('/tmp/',fout) if os.path.exists(fout): return o=s.SasMol(0) o.read_pdb(fin) outfile = dcdio.open_dcd_write(fout) nset = frames natoms = o._coor[0,:,0].shape[0] istart = 0 ; nsavc = 1 ; delta = 1.0 o.write_dcd_header(outfile,frames) tx=o.coor()[0,:,0].astype(np.float32) ty=o.coor()[0,:,1].astype(np.float32) tz=o.coor()[0,:,2].astype(np.float32) for i in range(frames): dcdio.write_dcdstep(outfile,tx,ty,tz,i+1) o.close_dcd_write(outfile)