NAMD
- class NAMD
This interface currently works as both an MD driver and an MM energy evaluator for MD simulations with the NAMD molecular dynamics simulation package (version 2.14 or later)
As a MM interface, the options described in MM interfaces are available, as well as the NAMD specific options outlined below.
A NAMD Theory object can be specified as follows:
my_namd = NAMD(frag=...,
par=...,
pdb=...,
psf=...,
)
which would then be called as theory=namd
and driver='namd'
in a subsequent MD
task:
md = MD(theory=namd,
freq_dcd=...,
freq_chk=...,
driver='namd',
minimise=...,
nsteps=...,
nsnapshots=...,
timestep=...,
temperature=...,
boundary=...,
)
md.run(dryrun=False)
Note
The NAMD interface is not currently compatible with other tasks such as SP()
or Opt()
.
This support will be added in a future release of ChemShell.
General options
- binary
(default:
True
) NAMD outputs in binary format
- coor
(default:
'_namd.coor'
) Filename of binary coordinates a restarted job runs from
- input
(default:
'_namd.inp'
) Input script’s filename
- margin
(default:
4.72432
Bohr) This parameters affects only the performance. Defaulted to0.0
in NAMD, see: NAMD Manual
- output
(default:
'_namd.out'
) Output filename
- par
(default:
''
) Forcefield parameters filename(s). Allowed types of value are:
- pdb
(default:
''
) PDB filename for input structure
- prefix
(default:
'_namd'
) Prefix for the .coor (coordinates) and .vel (velocity) filenames
- prefix_restart
(default:
'_namd'
) Prefix for files (.coor, .vel, and .xsc) from which a job is to restart
- psf
(default:
''
) Name of PSF file to use. This does not need to be specified if theNAMD.psfgen()
method has been run beforehand
- psfgen_options
(default:
{}
) Keyword option(s) for the PSFGEN interface (seeNAMD.psfgen()
below). The PSFGEN keywords must be given asstr
, for example,psfgen_options={'residue_aliases':{'CMO':'CO'},'topologies':['camphor.rtf']}
- vel
(default:
'_namd.vel'
) Filename of the velocity file
- xsc
(default:
'_namd.xsc'
) Filename of the extended system configuration (XSC)
- xst
(default:
'_namd.xst'
) Filename of the extended system trajectory (XST)
Forcefield options
- cutoff
(default:
22.6767
Bohr) Cutoff distance for electrostatic and van der Waals interactions. Default equals to 12.0 Å.
- exclude
Choose a type to be excluded from non-bonded interactions. Accpeted values are:
'none'
,'1-2'
,'1-3'
,'1-4'
, or'scaled1-4'
- ff_dir
(default:
''
) Directory containing topology and parameter files. If left blank it will be chosen to be the built-in library of ChemShell’s defaultforcefield
CHARMM.
- freq_nonbonded
(default:
1
) Frequency to evaluate non-bonded interactions
- freq_full_elect
(default:
1
) Frequence to evaluate electrostatic interactions
- merge_cross
(default:
True
) Merge the crossterm (or CMAP) contribution into the dihedral energy
- pairlist_dist
(default:
26.4562
Bohr) Distance criterion to generate pairs of atoms with electrostatic and van der Waals interactions. Default equals to 14.0 Å.
- scaling14
(default:
1.0
) Scaling factor for 1-4 interactions
- switching
(default:
True
) Apply smoothing functions to the electrostatic and van der Waals interactions
- switch_dist
(default:
18.8973
Bohr) Distance to start applying thesmooothing functions
. Default equals to 10.0 Å.
MD options
- nsteps_per_cycle
(default:
1
) Number of timesteps between cycles of atom reassignments
- seed
(default:
12345
) Seed number for the random number generator iftemperature
orlangevin
is selected
Constrains
- constraints
(default:
''
) Filename (in PDB format) of constraints definition
- constraints_ref
(default:
''
) Filename (in PDB format) of a reference structure withoutconstraints
- fixed_atoms
(default:
''
) Filename (in PDB format) of a structure with fixed atoms (b-factors are 1.0)
- fixed_atoms_forces
(default:
True
) Toggle computation of interactions between fixed atoms
Pressure control
- constant_area
(default:
False
) Keep the ratio of the unit cell in the x-y plane constant while allowing fluctuations along all axes. See NAMD Manual
- flexible_cell
(default:
False
)True
allows the three orthogonal dimensions of the periodic cell to fluctuate independently. See NAMD Manual
- group_pressure
(default:
False
) Calculate the pressure using hydrogen–group—based pseudo-molecular virial and kinetic energy. Only valied when the rigid bonds model (SHAKE) is used
Periodic boundary conditions
- pme
(default:
True
) Toggles the particle mesh Ewald (PME) method
- pme_grid_sizes
(default:
[0,0,0]
) Can be alist
,tuple
, or NumPy array of size 3. The values must be divisible by 2, 3, and 5 at the same time. If left undefined they will be determined by ChemShell.
- wrap_all
(default:
True
) Output coordinates by wrapping all atoms within the periodic simulation box
- wrap_water
(default:
True
) Output coordinates by wrapping water molecules within the periodic simulation box
PSFGEN options
The PSFGEN plugin is available with NAMD. To use it in ChemShell,
run the member function of a created NAMD
instance:
my_namd.psfgen(my_biofrag, ...)
- NAMD.psfgen(bioFrag, allow_undefined=False, atom_aliases={}, dryrun=False, ff='charmm', ff_dir='', guess_coord=True, haem='', ignore_undefined=True, input='_psfgen.inp', merge_solvents=False, no_auto=[], output='_psfgen.out', output_pdb='', output_psf='', output_dir='_psfgen', override_standard=False, patch=True, patch_disulphides=True, patch_titratables=True, path='', residue_aliases={}, solvents=[], topologies=[], use_newer_version=True)
- Parameters:
bioFrag (
Fragment
) – The biomolecular fragment (typically created from PDB/PQR/PSF)allow_undefined (bool, optional) – Tolerate with undefined residues
atom_aliases (dict, optional) – Atom names to be aliased
dryrun (bool, optional) – To generate the input script only without really executing PSFGEN
ff (str, optional) – Forcefield scheme name (we currently only support CHARMM-type forcefield)
ff_dir (str, optional) – Path to forcefield data if the ChemShell built-in ones should be overridden
guess_coord (bool, optional) – Let PSFGEN guess positions of the missing atoms
haem (str, optional) – Residue name of the haem in case there is one and ChemShell cannot recognise it
input (str, optional) – Filename of the PSFGEN input script
merge_solvents (bool, optional) – Merge solvents to a single segment (Use with caution because it may cause the resIDs to exceed the 9999 limit!)
no_auto (list, optional) – Name(s) of segments for which automatic angles/dihedrals assignment should not apply. They are solvents by default (
no_auto=[]
)output (str, optional) – Name of the PSFGEN output file
output_pdb (str, optional) – Name of the resulting PDB file. It is _TITLE_psfgen.pdb by default where TITLE is bioFrag’s title string
output_psf (str, optional) – Name of the resulting PSF file. It is _TITLE_psfgen.psf by default where TITLE is bioFrag’s title string
output_dir (str, optional) – The subdirectory where the PSFGEN output files are generated
override_standard (bool, optional) – Data from ChemShell’s built-in library will override the standard forcefield data (currently CHARMM-type only) if
override_standard=True
patch (bool, optional) – Patch residues
patch_disulphides (bool, optional) – Patch the disulphide bonds
patch_titratables (bool, optional) – Patch the titratable amino acids
patch – Apply residue patches via PSFGEN
path (str, optional) – Path to the PSFGEN executable if the current ChemShell installation does not have NAMD
solvent (list, optional) – Extra name(s) of solvent segments in addition to the ChemShell-recognisable names (currently water only such as ‘CW’, ‘SOLA’, ‘SOLB’,…)
topologies (str or list, optional) – Extra topology file(s) (.rtf)
use_newer_version (bool, optional) – Use the one of the newer version if multiple
topologies
(.rtf) files containing definitions of same residues are chosen. For example, ChemShell may suggest top_all22_prot.rtf and top_all36_prot.rtf at the same time, but the latter will be used ifuse_newer_version=True