msd_analysis
msd_analysis
calculates the average mean square deviation (MSD) of a group of molecules from a simulation trajectory. The output format if understood by diffusion_analysis
, that can be used to calculate diffusion coefficients.
The following text is the help message that is output with ./msd_analysis -h ctrl
:
# This program calculates mean square displacement.
# The output is composed of at least two columns.
# The first column corresponds to time, while
# the rest are the mean square displacement for
# each selection. The units are the interval and
# the square units of length (usually angstrom),
# at which the trajectory files were generated.
# The user himself has to convert them if needed.
# Molecules for which to calculate the MSD can be
# specified by selection1 and mode1 in the
# [MOLECULE_SECTION], while the default is to
# use all molecules. With "mode1 = ALL", only the
# molecules whose all atoms are in selection1 will
# be selected, while with "mode1 = ANY", molecules
# containing at least one atom in selection1 will
# be selected. Use selection2, molde2, etc. for
# more selections.
# All molecules are unwrapped before calculation.
# The center of mass of the system is also
# calculated using these unwrapped coordinates
# and is subtracted from all molecule positions.
# The default is to read "delta" number of steps
# and calculate the square displacement by
# shifting "delta" by one step at a time.
# This leads to undersampling of the steps
# at the start and the end of the trajectory.
# This can be turned off by "oversample = NO",
# in which case each trajectory sample will be
# used only once
# The axes used for MSD calculation can be
# specified in the [OPTION] section by
# the axes# option, where # is the selection
# number. For example, to set x and z axes for
# the 7th selection use "axes7 = z X". Letter
# case, order and whitespace does not matter,
# but only x, y and z letters are accepted.
# This program allows uses some simple OpenMP
# acceleration. Please set OMP_NUM_THREADS=1
# to disable it.
[INPUT]
pdbfile = input.pdb # PDB file
psffile = input.psf # protein structure file
prmtopfile = input.top # AMBER parameter topology file
ambcrdfile = input.crd # AMBER coordinate file
[OUTPUT]
rmsfile = output.rms # RMSD file
[TRAJECTORY]
# trjfile1 = sample.dcd # trajectory file
# md_step1 = 0 # number of MD steps
# mdout_period1 = 0 # MD output period
# ana_period1 = 1 # analysis period
# repeat1 = 1
trj_format = DCD # (PDB/DCD)
trj_type = COOR+BOX # (COOR/COOR+BOX)
trj_natom = 0 # (0:uses reference PDB atom count)
[SELECTION]
# group1 = all # selection group 1
# group2 = molname:protein # selection group 2
# mole_name1 = protein P1:1:TYR P1:5:MET
# mole_name2 = lipid OLEO:PCGL:OLEO
[MOLECULE_SELECTION]
# selection1 = 0 # selection group number (0 for all)
# mode1 = ALL # select when ALL/ANY atoms in selection
# # SET mode specifies atoms explicitly
[OPTION]
delta = 10 # span of MSD in steps
oversample = yes # smoother graph, but induces bias
#axes1 = x y z # axes to use for MSD of the first molecule selection
A sample input file to calculate the MSD of all molecules:
[INPUT]
psffile = BPTI.psf # protein structure file
pdbfile = BPTI.pdb # PDB file
[OUTPUT]
rmsfile = BPTI.msd # MSD file
[TRAJECTORY]
trjfile1 = BPTI.dcd # trajectory file
md_step1 = 10000 # number of MD steps
mdout_period1 = 1000 # MD output period
ana_period1 = 1 # analysis period
trj_format = DCD # (PDB/DCD)
trj_type = COOR+BOX # (COOR/COOR+BOX)
trj_natom = 0 # (0:uses reference PDB atom count)
[MOLECULE_SELECTION]
selection1 = 0 # select all molecules
[OPTION]
oversample = true # smoother graph, but induces bias
delta = 9 # span of MSD in steps
A sample input file to calculate the MSD for only x
and z
axes of the molecules with residue name TIP3:
[INPUT]
psffile = BPTI.psf # protein structure file
pdbfile = BPTI.pdb # PDB file
[OUTPUT]
rmsfile = BPTI.msd # MSD file
[TRAJECTORY]
trjfile1 = BPTI.dcd # trajectory file
md_step1 = 10000 # number of MD steps
mdout_period1 = 1000 # MD output period
ana_period1 = 1 # analysis period
trj_format = DCD # (PDB/DCD)
trj_type = COOR+BOX # (COOR/COOR+BOX)
trj_natom = 0 # (0:uses reference PDB atom count)
[SELECTION]
group1 = rnam:TIP3 # atoms with residue name 'TIP3' are group 1
[MOLECULE_SELECTION]
selection1 = 1 # use group 1 for molecule selection
mode1 = ALL # select molecule if all of its atoms are in group 1
[OPTION]
oversample = true # smoother graph, but induces bias
delta = 9 # span of MSD in steps
axes1 = z x # axes to use for MSD of the first molecule selection
A sample input file to calculate the MSD of a single protein complex with segment ID BPTI
. There must be only a single protein complex and all of its atoms must be specified by selection:
[INPUT]
psffile = BPTI.psf # protein structure file
pdbfile = BPTI.pdb # PDB file
[OUTPUT]
rmsfile = BPTI.msd # MSD file
[TRAJECTORY]
trjfile1 = BPTI.dcd # trajectory file
md_step1 = 10000 # number of MD steps
mdout_period1 = 1000 # MD output period
ana_period1 = 1 # analysis period
trj_format = DCD # (PDB/DCD)
trj_type = COOR+BOX # (COOR/COOR+BOX)
trj_natom = 0 # (0:uses reference PDB atom count)
[SELECTION]
group1 = segid:BPTI # atoms with segment ID 'BPTI' are group 1
[MOLECULE_SELECTION]
selection1 = 1 # use group 1 for molecule selection
mode1 = SET # set atoms in grup1 as a single molecule
[OPTION]
oversample = true # smoother graph, but induces bias
delta = 9 # span of MSD in steps
A sample input to do the same MSD computation as the previous three samples in a single calculation:
[INPUT] psffile = BPTI.psf # protein structure file pdbfile = BPTI.pdb # PDB file [OUTPUT] rmsfile = BPTI.msd # MSD file [TRAJECTORY] trjfile1 = BPTI.dcd # trajectory file md_step1 = 10000 # number of MD steps mdout_period1 = 1000 # MD output period ana_period1 = 1 # analysis period trj_format = DCD # (PDB/DCD) trj_type = COOR+BOX # (COOR/COOR+BOX) trj_natom = 0 # (0:uses reference PDB atom count) [SELECTION] group1 = rnam:TIP3 # atoms with residue name 'TIP3' are group 1 group2 = segid:BPTI # atoms with segment ID 'BPTI' are group 2 [MOLECULE_SELECTION] selection1 = 0 # select all molecules selection2 = 1 # use group 1 for molecule selection 2 mode2 = ALL # select molecule if all of its atoms are in group 2 selection3 = 2 # use group 2 for molecule selection 3 mode3 = SET # set atoms in group 2 as a single molecule [OPTION] oversample = true # smoother graph, but induces bias delta = 9 # span of MSD in steps axes2 = z x # axes to use for MSD of the second molecule selection