def test_rip(params): util.goto_dir(params['sim_dir']) print "> Pulse with RIP residue rotation" util.goto_dir('rip') simulate.pulse( params['ff'], '../md_merge/md', 'md', 2000, force.make_rip_fn(params['i_residue'], 300), 100)
def test_puff(params): util.goto_dir(params['sim_dir']) util.goto_dir('puff') print "> Pulse with terminii push" md = '../md_merge/md' n = get_n_protein_residues_from_restart(md) # make push function pulse_fn = force.make_puff_fn( [0, 1, 2], [n-3, n-2, n-1], 10.0, 0.1, 300) simulate.pulse(params['ff'], md, 'md', 2000, pulse_fn, 100)
def test_puff(params): util.goto_dir(params['sim_dir']) util.goto_dir('puff') print "> Pulse with terminii push" md = '../md_merge/md' n = get_n_protein_residues_from_restart(md) # make push function pulse_fn = force.make_puff_fn([0, 1, 2], [n - 3, n - 2, n - 1], 10.0, 0.1, 300) simulate.pulse(params['ff'], md, 'md', 2000, pulse_fn, 100)
def test_user_defined_pulse(params): util.goto_dir(params['sim_dir']) util.goto_dir('user_pulse') i, j = params['i_loop_start'], params['i_loop_end'] rotate_loop = RotateLoop(i, j, 0.7) print "> make restraint_pdb" restraint_pdb = os.path.abspath('md.restraint.pdb') in_md = '../md_merge/md' n = get_n_protein_residues_from_restart(in_md) residue_indices = range(0, i) + range(j, n) make_restraint_pdb(in_md, residue_indices, restraint_pdb) pulse_fn = lambda soup: rotate_loop.apply(soup) print "> Pulse with user-defined pulse_fn" simulate.pulse( params['ff'], '../md_merge/md', 'md', 5000, pulse_fn, 100, restraint_pdb=restraint_pdb)
def test_user_defined_pulse(params): util.goto_dir(params['sim_dir']) util.goto_dir('user_pulse') i, j = params['i_loop_start'], params['i_loop_end'] rotate_loop = RotateLoop(i, j, 0.7) print "> make restraint_pdb" restraint_pdb = os.path.abspath('md.restraint.pdb') in_md = '../md_merge/md' n = get_n_protein_residues_from_restart(in_md) residue_indices = range(0, i) + range(j, n) make_restraint_pdb(in_md, residue_indices, restraint_pdb) pulse_fn = lambda soup: rotate_loop.apply(soup) print "> Pulse with user-defined pulse_fn" simulate.pulse(params['ff'], '../md_merge/md', 'md', 5000, pulse_fn, 100, restraint_pdb=restraint_pdb)
def test_rip(params): util.goto_dir(params['sim_dir']) print "> Pulse with RIP residue rotation" util.goto_dir('rip') simulate.pulse(params['ff'], '../md_merge/md', 'md', 2000, force.make_rip_fn(params['i_residue'], 300), 100)
simulate.langevin_thermometer( ff, 'minwater', 5000, 300, 'heatwater', 50, restraint_pdb='restrain_protein.pdb') # cool water back down 10K, hold protein fixed simulate.langevin_thermometer( ff, 'heatwater', 5000, 10, 'coolwater', 50, restraint_pdb='restrain_protein.pdb') # equilibrate entire system to 10K simulate.langevin_thermometer( ff, 'coolwater', 5000, 10, 'heat', 50) # let the system relax without thermometer simulate.constant_energy( ff, 'heat', 5000, 'const', 50) # then reequilibrate to 10K simulate.langevin_thermometer( ff, 'const', 5000, 10, 'reheat', 50) # we are ready to apply RIP pulse_fn = force.make_rip_fn(i_residue, 100) simulate.pulse( ff, 'reheat', 'rip', 5000, pulse_fn, 100) # combine all sims into one long trajectory for viewing simulate.merge_trajectories( ff, 'equil', ['heatwater', 'coolwater', 'heat', 'const', 'reheat', 'rip'])