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)

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)

This page explains the NAMD-specific keyword options, including those for NAMD as roles of both MD and MM drivers. For more generic MD options see MD.

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 to 0.0 in NAMD, see: NAMD Manual

output

(default: '_namd.out') Output filename

par

(default: '') Forcefield parameters filename(s). Allowed types of value are:

  • A Python str of a single filename

  • A Python list of multiple filenames. They will be concatenated by ChemShell to generate a single file

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 the NAMD.psfgen() method has been run beforehand

psfgen_options

(default: {}) Keyword option(s) for the PSFGEN interface (see NAMD.psfgen() below). The PSFGEN keywords must be given as str, 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 default forcefield 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 the smooothing 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 if temperature or langevin is selected

Constrains

constraints

(default: '') Filename (in PDB format) of constraints definition

constraints_ref

(default: '') Filename (in PDB format) of a reference structure without constraints

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 a list, 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 if use_newer_version=True