from mmtk import * from Database import BlueprintHook ff = GenericForceField('mm3') world = InfiniteUniverse(ff) layer = Group('kaehler_a_layer') si_layer = Group('kaehler_si_layer') join = Joiner(layer) join.joinGroups(layer.hookup, layer.hookdown) join.joinGroups(join.getIntermediateResult().hookup, si_layer.hookdown) join.joinGroups(join.getIntermediateResult().hookup, layer.hookdown) join.joinGroups(join.getIntermediateResult().hookup, layer.hookdown) result = join.getResult() try: result.setPositions(ff) except ConformationError, msg: print 'ConformationError',msg #result.printDihedrals() #print 'calcDanglingBonds' #result.calcDanglingBonds(ff) #result.printDanglingBonds() #result.hydrogenateDanglingBonds(ff) #result.printDanglingBonds() #save(result,'result.kaehlerb') world.group = result #minimizer = ConjugateGradientMinimizer(world, log = (0, None, 50, stdout, # ("energy",))) #minimizer(convergence = 1.e-3, steps = 25) from ConfigIO import OutputFile fmt = OutputFile('PDB/resultk.pdb', 'pdb.connect') fmt.write(result) fmt.close() if 1: import RasMol ras_session = RasMol.RasMol(world, 1) ras_session.Interact()