Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
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)
Esempio n. 7
0
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'])