from scripps.vvm.manager import * from harmonic.spaceWarp import * from harmonic.mz.manager import * from scripps.mol_data import * from java.io import * from java.lang import * def warped_dna(radius, name): vvm = VVM_HighLevels() mz = MZ_HighLevels() mol = vvm.loadMol("/home/sean/vickie_bending/bdnafadr.cen.noh.pdb") mol.setName("DNA "+name) warper = ArcWarpShape() warper.transform(mz.getGlobalPerUCS()) warper.center.setPoint(radius, 0, 0) warper.radius.setScalar(abs(radius)) warper.applyOnce([mol]) vvm.newWire(mol) vvm.newRibbons(mol) #write PDB #vvm.savePDB(mol, "/home/sean/vickie_bending/dna"+name+".pdb") def lots_o_warps(radii): i = 0 while i < len(radii): name = Integer(radii[i]).toString() warped_dna(radii[i], name) i = i+1 def r_of_theta(t): import math t = (2.0*3.14159/360.0)*t return 15.0/math.cos(t) def lots_o_warps_angles(angles): i = 0 while i < len(angles): r = r_of_theta(angles[i]) name = Integer(angles[i]).toString() warped_dna(r, name) i = i+1 #file = mz.openFile("/home/sean/vickie_bending/alligned.mvg") #mol = file.findNode("mol name")