# parameters to ramp up during the simulated annealing protocol # from simulationTools import MultRamp, StaticRamp, InitialParams rampedParams = [] highTempParams = [] # compare atomic Cartesian rmsd with a reference structure # backbone and heavy atom RMSDs will be printed in the output # structure files # from posDiffPotTools import create_PosDiffPot refRMSD = create_PosDiffPot("refRMSD", "name CA C N O", selection2="initial") from noePotTools import create_NOEPot, readNEF noe = create_NOEPot("noe", nef=nefData) noe.setAllowOverlap(False) noe.setShowAllRestraints(True) potList.append(noe) rampedParams.append(MultRamp(2, 30, "noe.setScale( VALUE )")) import nefTools from potList import PotList rdcs = PotList('rdcs') try: rdcNames = nefTools.getBlockNames(nefData, 'rdc') except: rdcNames = [] pass tensors = []
# structure files # # from posDiffPotTools import create_PosDiffPot # refRMSD = create_PosDiffPot("refRMSD","name CA or name C or name N", # pdbFile='g_xray.pdb', ## modify ## # cmpSel="not name H*") # set up NOE potential noe = PotList('noe') potList.append(noe) from noePotTools import create_NOEPot for (name, scale, file) in [ ('all', 1, "NOE_contacts55rand_perfect.tbl"), ## modify ## #add entries for additional tables ]: pot = create_NOEPot(name, file) ## use soft PotType## # pot.setPotType("soft") # if you think there may be bad NOEs pot.setAveType( "shortest" ) ## use shortest distance between atom selections (side chain heavy atoms) pot.setScale(scale) noe.append(pot) rampedParams.append(MultRamp(2, 30, "noe.setScale( VALUE )")) ## no J couplings ## # set up J coupling - with Karplus coefficients ##from jCoupPotTools import create_JCoupPot ##jCoup = create_JCoupPot("jcoup","jna_coup.tbl", ## A=6.98,B=-1.38,C=1.72,phase=-60.0) ##potList.append(jCoup)
else: print "ERROR: failed to find seq or psf file in %s" % os.getcwd() sys.exit(1) # end if # generate a random extended structure with correct covalent geometry protocol.genExtendedStructure(extFilename) # # a PotList conatins a list of potential terms. This is used to specify which # terms are active during refinement. # potList = PotList() # set up NOE potential noe = create_NOEPot("noe", file=noeFilename) noe.setPotType("soft") noe.setRSwitch(0.5) noe.setAsympSlope(1.) noe.setSoftExp(1.) noe.setThreshold(0.5) print noe.info() potList.append(noe) # Set up dihedral angles protocol.initDihedrals( dihFilename, scale=5, #initial force constant useDefaults=0) potList.append(XplorPot('CDIH'))
# #3) Da rescaling factor (separate multiplicative factor) # # scale *= ( 9.9 / rdc.oTensor.Da(0) )**2 # rdc.setScale(scale) # rdcs.append(rdc) # pass #potList.append(rdcs) #rampedParams.append( MultRamp(0.01,1.0, "rdcs.setScale( VALUE )") ) # set up NOE potential noe=PotList('noe') potList.append(noe) for (name,scale,file) in [('all',1,"%s_dis.tbl"%pname), #add entries for additional tables ]: pot = create_NOEPot(name,file) # pot.setPotType("soft") # if you think there may be bad NOEs pot.setScale(scale) noe.append(pot) rampedParams.append( MultRamp(2,30, "noe.setScale( VALUE )") ) # set up J coupling - with Karplus coefficients #jCoup = create_JCoupPot("jcoup","jna_coup.tbl", # A=6.98,B=-1.38,C=1.72,phase=-60.0) #potList.append(jCoup) # Set up dihedral angles protocol.initDihedrals("%s_dih.tbl"%pname, #useDefaults=False # by default, symmetric sidechain # restraints are included )
else: print "ERROR: failed to find seq or psf file in %s" % os.getcwd() sys.exit(1) # end if # generate a random extended structure with correct covalent geometry protocol.genExtendedStructure(extFilename) # # a PotList conatins a list of potential terms. This is used to specify which # terms are active during refinement. # potList = PotList() # set up NOE potential noe = create_NOEPot("noe",file=noeFilename) noe.setPotType( "soft" ) noe.setRSwitch( 0.5 ) noe.setAsympSlope( 1. ) noe.setSoftExp(1.) noe.setThreshold(0.5) print noe.info() potList.append(noe) # Set up dihedral angles protocol.initDihedrals(dihFilename, scale=5, #initial force constant useDefaults=0) potList.append( XplorPot('CDIH') )