Rotamer moves in AMBER

From Docswiki
Jump to navigation Jump to search

This page is for using rotamer moves with AMBER12 in GMIN. Rotamer moves convert side chains between stable conformations and should be paired with backbone group rotation moves for efficient searching.

Setup

To begin calculations the following files are needed: coords.inpcrd, coords.prmtop, perm.allow, min.in, start.

The rotamer moves are paired with group rotation moves so we need to generate an atomgroups file, which defines the groups we want to rotate and the rotatable atoms. For rotamer moves we want to specify backbone rotations only so we have to use a different scripts to generate the atomgroups file. The script needed is /svn/SCRIPTS/AMBER/rotamer_moves/atomgroup_gen.py, its usage is described in its header. It reads the coords.prmtop file to generate the atomgroups file.

The only other files that may be necessary are the rotamer library files and the python script, rotamer.py. These files should be present in the svn at /svn/SCRIPTS/AMBER/rotamer_moves/. There is a separate rotamer library file for each amino acid, which contains the rotamers of that amino acid for all combinations of neighbouring amino acids, which are read throughout the GMIN run to find the correct rotamers to choose from. The python script, rotamer.py, selects and find the data for the rotamers at each step. It is called by GMIN each time a rotamer move is selected.

The keyword to specify rotamer moves is ROTAMERMOVE. It requires 3 additional arguments: the frequency of rotamer moves, the maximum number of rotamer moves to be performed at once and a word specifying the selection type for rotamers (currently only 'UNIFORM' implemented). The line should look like: ROTAMERMOVE 1 4 UNIFORM.

The group rotation line should also still be included: GROUPROTATION 2.

Running jobs

The rotamer moves should work with changing number of molecules and mutational steps as the rotamer.py script works by parsing the coords.prmtop file each time it is called. Local python and AMBER installations are needed.

Some good initial parameters should be:

ROTAMERMOVE 2 2 UNIFORM

GROUPROTATION 1

with angle scaling of 0.3 and dihedral frequency of 0·025 in the atomgroups file.

Module

The work is mainly done using the ROTAMER module in rotamer_move.F90.

The global variables are: ROTAMER_MOVET, MAX_ROTAMER_MOVES, ROTAMER_FREQ, ROTAMER_SCRIPT, ROTAMER_PROBS_SCHEME, CH_MAX_ROTAMER_MOVES, DOROTAMERMOVE.

ROTAMER_MOVET - the logical variable that sets rotamer moves to be performed.

MAX_ROTAMER_MOVES - specifies the maximum number of rotamer moves at each step

CH_MAX_ROTAMER_MOVES - same as above but as a character for system calls

ROTAMER_FREQ - specifies the frequency with which we perform rotamer moves

DOROTAMERMOVE - truth value which changes to cause rotamer moves to only be performed every ROTAMER_FREQ steps

ROTAMER_SCRIPT - the location of the rotamer.py and rotamer library files

ROTAMER_PROBS_SCHEME - specifies the selection scheme for rotamers

Truth value is set in keywords.f. If used then we call the ROTAMER_STEP subroutine every ROTAMER_FREQ steps in mc.F, the rotamer moves and group rotation moves are offset by one step. The ROTAMER_STEP subroutine places a call to rotamer.py, which stochastically selects an amino acid and a corresponding rotamer, after which it writes the target angles, dihedral atoms and movable atoms to rotamer_info.txt. The rotamer_info.txt file is read by ROTAMER_STEP and the rotations performed to get the target angles.

--ld506 (talk) 13:57, 23 April 2018 (BST)