The parameter statement specifies various constants for the conformational and nonbonded energy terms and for a number of other CNS applications, such as distance geometry.
CNS stores and manipulates the parameter information in two forms: "type-based" and "atom-based". A type-based parameter is characterized by the chemical types of the atoms involved; an atom-based parameter is characterized by the individual atoms involved. The chemical types of the atoms are specified in the topology statement and can be manipulated with the do statement. The chemical types usually map chemically equivalent atoms to the same type; e.g., all carbonyl oxygen atoms are mapped to the type "O". This implies that there are usually many more atoms in the molecular structure than there are atom types. The use of atom types can thus reduce the number of parameters that need to be specified for a molecular structure. However, this convenience could pose a problem when the chemical environment of a particular atom induces distortions of the expected "ideal" geometry for the corresponding atom type. It would not necessarily be a good idea to introduce a new atom type, as the number of atom types is limited. To get around this problem, CNS supports atom-based parameter information. This implies that, at least in principle, one could have a different parameter for each interaction between particular atoms. Atom-based parameters are possible for bonds, bond angles, dihedral angles, improper angles, and van der Waals interactions.
CNS allows one to mix atom-based and type-based parameters. Atom-based parameters always take precedence over type-based parameters. The atom-based parameter information can be obtained through appropriate explicit parameter statements, such as:
bond ( name c* ) ( name n* ) 500. TOKEN
or through the Cartesian coordinates in the main coordinate set in combination with the learn statement. This atom-based information is augmented with the type-based information each time an CNS application requests it; e.g., the call to an energy routine triggers an operation that retrieves all parameters not set by atom-based information from the type-based parameter database. In this way either atom-based parameters, type-based parameters, or a combination of both can be used. Atom-based parameters can be changed or added at any time during program execution. Type-based parameters cannot be manipulated, but additional entries can be added or the database erased and reinitialized. The mapping of atoms to chemical types can be manipulated by applying the vector statement to the chemical atom property. All these changes will take effect the next time the particular parameter is requested by an CNS application.
The parameter specifications are insensitive to the order in which the atoms are specified:
bond a b 10.0 1.0
and
bond b a 10.0 1.0
are seen as identical parameter entries by CNS.
The constants of the parameter statement are dimensioned such that A is the unit of length, kcal mole-1 is the unit of energy, the atomic mass unit is the unit of mass, and the charge of one electron is the unit of electric charge.
Obtaining empirical parameters for macromolecules is a difficult task. To describe the development of parameters is beyond the scope of this text (see other sections for sources of information). CNS includes a number of parameter files for proteins, nucleic acids, and other biological macromolecules (see other sections for further details). Fortunately, structure determination and refinement of crystallographic or NMR-derived structures are usually not very sensitive to the exact choice of energy constants.
The parameter statement is invoked from the main level of CNS (the parameter information is most often read from a library file).
parameter { parameter-statements } end @CNS_TOPPAR:protein_rep.param
The CNS parameter statements are as follows:
NONB ( chemical C* ) 0.12 3.74 0.12 3.74 NONB ( chemical N* ) 0.24 2.85 0.24 2.85 NBFIx ( chemical C* ) ( chemical N* ) 10. 1000. 10. 1000.
Note that the TOKEn keyword is not allowed for the reals.
The nonbonded statements for setting up the nonbonded energy calculations are as follows:
The atom selections of atom-based parameter statements are partially fragile; i.e, they are mapped when the molecular structure is modified, but newly created atoms do not have atom-based parameters associated with them.
Writing a Parameter FileThe write parameter statement writes the current parameter database to the specified output file. Normally, only the type-based parameters are written. The parameter writing is invoked from the main level of CNS:
WRITe PARAmeter OUTPut=filename ENDExample of Type-based Parameters
The following example is a partial list of parameters for proteins:
bond C C 450.0 1.38 bond C CH1E 405.0 1.52 bond C CH2E 405.0 1.52 angle C C C 70.0 106.5 angle C C CH2E 65.0 126.5 dihedral CR1E C C C 100.0 2 180.0 dihedral CR1E C C NH1 100.0 2 180.0 dihedral X C CH1E X 0.0 3 0.0 dihedral X C CH2E X 0.0 3 0.0 improper C OC OC CH2E 100.0 0 0.0 improper C X X C 25.0 0 0.0 nbonds nbxmod=5 atom cdiel shift vswitch cutnb=8.0 ctofnb=7.5 ctonnb=6.5 eps=1.0 e14fac=0.4 wmin=1.5 end nonbonded h 0.0498 1.4254 0.0498 1.4254 nonbonded c 0.1200 3.7418 0.1000 3.3854How the Type-based Parameter Retrieval Works
This example shows how CNS finds parameters for the covalent bonds, bond angles, improper angles, and nonbonded energy terms. It demonstrates that the introduction of atom types greatly reduces the number of parameters that have to be specified. The parameter retrieval is carried out when the energy statement is issued.
topology autogenarate angle=true end residue test atom a1 type=b end atom a2 type=b end atom a3 type=b end atom a4 type=a end atom a5 type=a end atom a6 type=a end bond a6 a5 bond a5 a4 bond a4 a2 bond a4 a3 bond a4 a1 dihedral a6 a5 a4 a3 dihedral a6 a5 a4 a2 dihedral a6 a5 a4 a1 improper a1 a2 a3 a4 end end parameter bond a b 100.0 1.0 bond a a 100.0 1.0 angle a a a 50.0 100.0 angle b a b 50.0 100.0 angle a a b 50.0 100.0 dihedral a a a b 80.0 3 0.0 improper b b b a 30.0 0 180.0 nonbonded a 0.1 1.0 0.1 1.0 nonbonded b 0.1 1.0 0.1 1.0 end segment name=test molecule number=1 name=test end end energy endExamples of Atom-based Modifications of the Parameters
The first example shows how to set the energy constants of all improper angles involving tyrosine residues to 500 kcal mol-1 rad-2. The periodicity and the equilibrium constants are untouched by the TOKEn keyword.
parameter improper ( resname tyr ) ( resname tyr ) ( resname tyr ) ( resname tyr ) 500 TOKEN TOKEN end
In the next example, the energy constants of all bonds are set to 400 kcal mole-2 Å-2:
parameter bond ( all ) ( all ) 400. TOKEN end
In the next example, the energy constant for the omega torsion angle for X-Pro peptide bonds is set to 500 kcal mole-1 Å-2. This example applies only to topology files that define the omega torsion angle as a dihedral angle (which is the case in the CNS protein.top and protein_nohydrogen.top topology files).
parameter dihedral ( name CA and resname * ) ( name C and resname * ) ( name N and resname PRO ) ( name CA and resname PRO ) 500 TOKEN TOKEN end
The last example is similar to the previous one, except that, in addition to increasing the energy constant, the periodicity is set to one and the equilibrium angle is set to 0 degrees ; i.e., only trans prolines are allowed.
parameter dihedral ( name CA and resname * ) ( name C and resname * ) ( name N and resname PRO ) ( name CA and resname PRO ) 500 1 0. endReducing to Type-based Parameters
The reduce statement allows one to reduce the current parameters (atom-based as well as type-based) to type-based parameters using the CHEMical atom properties. Each type-based equilibrium constant is obtained as an average of all instances of that type of interaction (bond, bond angle, dihedral angle, or improper angle) in the molecular structure. The energy constants can be obtained as a simple average or from the same statistical analysis as that used for the learn statement. The latter option is useful only when several instances of the same type-based interaction occur in the molecular structure. If there is only one instance or the variance is zero, the "reduced" energy constant is set to 999999. The periodicities (n) of dihedral and improper angles have to be consistent for all instances of atom-based parameters; otherwise a warning message will occur. The "reduced" periodicities are taken directly from the atom-based parameters. The reduce statement affects parameters only for those interaction terms that are turned on by the flags statement.
SyntaxThe reduce statements possible are:
Suppose one has learned atom-based parameters for a ligand with segment identifier LIGA from Cartesian coordinates. These atom-based parameters are reduced to type-based parameters and then written to a file:
parameters reduce sele=(segid LIGA ) mode=average end end write parameters output=protein_new.param end
For each bonded pair of chemical types, an equilibrium geometry is obtained by averaging the atom-based parameters of all the bonds in the molecular structure that match this chemical type pair. For example, in a protein, this could imply averaging over all C-C bonds in aromatic rings, or all C-O carbonyl bonds. The same averaging is done for bond angles, dihedrals and impropers, equilibrium geometries, and energy constants. Dihedral and improper periodicities will correspond to their atom-based values. The new parameter file can be read by CNS in subsequent runs.