Plop Monte Carlo

From Jacobson Lab Wiki

Jump to: navigation, search

[edit] POSH Monte Carlo

This is the POSH sampling routine. It generates a short forward trajectory from an initial perturbation, and constructs a reverse pathway to maintain microscopic reversibility.


the idea is to generate a large perturbation using mmc_jump(1->2) followed by a posh_walk(2->3), with the remaining steps for bookkeeeping

                           (  4  )<---------(  3  )
     tm from 4->1             |                ^   tm from 2->3
      t(x14->x140)            |                |   t(x230->x23)
                              ~                ~
   x14_0 = x1 + (x23-x2)      ~                ~   x  = x23  ( x trial state)
    x14  = x1 + (x23_0-x2)    |                |   x0 = x230 ( x orig state)
                              v                |
                           (  1  )--------->(  2  )  

Syntax is as follows:

 multi_mc &
  loop res _:1 _:6 &
  loop free_frac 1.0 &
  tor_jump 360.0 &
  posh_frac 1.0 &
  NI_posh 1 &
  NI_std 1 &
  jump_type 3 &
  walk_type 3 &
  error_corr yes &
  mc nsteps 100 &
  sgbopt -1 &
  temp 300 &
  modelfile T1a.mod.pdb 1 &
  sumfile T1a.sum 1 mcend &
  side rl_frac 0.0 steric_screen no res file T1-contacts.txt sideend 


[edit] Serial Monte Carlo

Move types:

-Side chain moves:

-Rigid body MC moves: select_molecule: perturbs a molecule by a user-selected-range translation and rotation.

-Hybrid MC moves: hmc_move: A HMC move, without acceptances -- so basically a run of dyn_iterations, with bookkeeping.

-Loop moves: select_psi_phi: shift_n_bridge: (these are the only two moved so far - probably more should be moved. Since I was not trying to get an operational loop MC going, I left moving the files over to someone who has a better knowledge of what should go where).


Iteration routines: Performs a N steps of Markov chain MC simulation using the given move set. hmc_iterations rigidmc_iterations sidemc_iterations loopmc_iterations (not yet implemented)

c) Placeholder for later alchemical MC new_lambda_test

5) General usage

A serial MC run would be a command similar to this:

 serialmc res within3 B:235 prob_sidemc 0.2 prob_rigidmc 0.3 prob_hmc 0.5 prob_loopmc 0.0 &
   mc nsteps 10000 verbose yes modelfile combinedmc.pdb 1 mcend &
   rigidmc translation_size 0.1 rotation_size 4 &
       mc temp 298 nsteps 10 ninnersteps 25 output_i yes verbose yes mcend rigidmcend &
    side steric_screen yes ofac_min 0.6 rl_frac 0.0 dchi_small 10 large_mcprob 0.1 &
       mc temp 298 nsteps 10 ninnersteps 50 output_i yes verbose yes mcend sideend &
    hmc &
       dyn isotherm no tempi 298 verbose yes nsteps 1 dt 5 rep none 1 multi_num 5 dynend &
       mc temp 298 nsteps 10 output_i yes verbose yes mcend hmcend

One could also call a run with just hmc, by, for example:

    hmc within3 B:235 &
       dyn isotherm no tempi 298 verbose yes nsteps 1 dt 5 rep none 1 multi_num 5 dynend &
       mc temp 298 nsteps 10 output_i yes verbose yes modelfile hmc.pdb 1 mcend
Personal tools