remarks nmr/random.inp remarks The ultimate simulated annealing protocol for NMR structure remarks determination! remarks The starting structure for this protocol can be completely remarks arbitrary, such as random numbers. Note: the resulting remarks structures need to be further processed by the dgsa.inp protocol. remarks Reference: Nilges, Clore, and Gronenborn 1988a. remarks Author: Michael Nilges {====>} evaluate ($init_t = 1000 ) {* Initial simulated annealing temperature.*} parameter {*Read the parameter file.*} {====>} @TOPPAR:parallhdg.pro end {====>} structure @g_protein.psf end {*Read the structure file.*} noe {====>} nres=3000 {*Estimate greater than the actual number of NOEs.*} class all {====>} @g_protein_noe.tbl {*Read NOE distance ranges.*} end {====>} @g_protein_dihe.tbl {*Read dihedral angle restraints.*} noe {*Parameters for NOE effective energy term.*} ceiling=1000 averaging * cent potential * soft scale * 1 sqoffset * 0.0 sqconstant * 1.0 sqexponent * 2 soexponent * 1 asymptote * 2.0 {* Initial value - modified later. *} rswitch * 1.0 end set message=off end {====>} evaluate ($end_count=10) {* Number of structures. *} evaluate ($count = 0) while ($count < $end_count ) loop main evaluate ($count=$count+1) {* Generate a starting structure. *} vector do (x = (random()-0.5)*20) (all) vector do (y = (random()-0.5)*20) (all) vector do (z = (random()-0.5)*20) (all) vector do (fbeta=10) (all) {*Friction coefficient for MD heatbath.*} vector do (mass=100) (all) {*Uniform heavy masses to speed*} {*molecular dynamics. *} parameter nbonds atom cutnb 100 tolerance 45 repel=1.2 rexp=2 irexp=2 rcon=1.0 nbxmod 4 end end flags exclude * include bonds angle impr vdw noe cdih harm end evaluate ($knoe = 0.5) evaluate ($kbon = 0.00005 ) {* Bonds. *} evaluate ($kang = 0.00005 ) {* Angles. *} evaluate ($kimp = 0.0 ) {* Impropers. *} evaluate ($kvdw = 0.1) {* Vdw. *} constraints interaction (not name ca) (all) weights bond $kbon angl $kang impr $kimp vdw 0 elec 0 end interaction (name ca) (name ca) weights bond $kbon angl $kang impr $kimp vdw $kvdw end end {* ======================================== High temperature dynamics. *} vector do (vx = maxwell($init_t)) (all) vector do (vy = maxwell($init_t)) (all) vector do (vz = maxwell($init_t)) (all) evaluate ($timestep = 0.04) evaluate ($nstep = 100) while ($kbon < 0.01) loop stage1 evaluate ($kbon = min(0.25, $kbon * 1.25)) evaluate ($kang = $kbon) evaluate ($kimp = 0) noe scale * $knoe end restraints dihed scale 0. end constraints interaction (not name ca) (all) weights bond $kbon angl $kang impr $kimp vdw 0 elec 0 end interaction (name ca) (name ca) weights bond $kbon angl $kang impr $kimp vdw $kvdw end end dynamics verlet nstep=$nstep timestep=$timestep iasvel=current tcoupling=true tbath=$init_t nprint=50 iprfrq=0 end end loop stage1 restraints dihed scale 0. end noe scale * 5 end parameter {* Parameters for the repulsive energy term. *} nbonds repel=0.9 {* Initial value for repel - modified later. *} nbxmod=-3 {* Initial value for nbxmod - modified later. *} wmin=0.01 cutnb=4.5 ctonnb=2.99 ctofnb=3. tolerance=0.5 end end constraints interaction (all) (all) weights bond 0.02 angl 0.02 impr 0 vdw 0.002 elec 0 end end dynamics verlet nstep=500 timestep=0.003 iasvel=maxwell firstt=1500 tcoupling=true tbath=1500 nprint=50 iprfrq=0 end constraints interaction (all) (all) weights bond 0.05 angl 0.05 impr 0 vdw 0.005 elec 0 end end dynamics verlet nstep=500 timestep=0.003 iasvel=current tcoupling=true tbath=1500 nprint=50 iprfrq=0 end constraints interaction (all) (all) weights bond 0.1 angl 0.1 impr 0 vdw 0.01 elec 0 end end dynamics verlet nstep=500 timestep=0.003 iasvel=current tcoupling=true tbath=1500 nprint=50 iprfrq=0 end {* =================================== Write out the final structure(s).*} remarks =============================================================== remarks overall,bonds,angles,improper,vdw,noe,cdih remarks energies: $ener, $bond, $angl, $impr, $vdw, $noe, $cdih {===>} {*Name(s) of the family of final structures.*} evaluate ($filename="random_"+encode($count)+".pdb") write coordinates output =$filename end end loop main stop