# Plop Monte Carlo

### From Jacobson Lab Wiki

### [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