Making parameter files


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:

The nonbonded statements for setting up the nonbonded energy calculations are as follows:

Requirements

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 File

The 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
END
Example 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.3854 
How 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 end  
Examples 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. 
end 
Reducing 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.

Syntax

The reduce statements possible are:

Example: Reducing Parameters Learned Previously

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.


Back to tutorials   Previous section   Next section