Previous: Keywords for NMR Constraint Command, Up: NMR Constraints

11.5.5 NMR Constraint Files

The NMR Constraint file actually contains the constraints, both NOE and J coupling. Besides the specification of the constraints, the file also contains specifications for the NOE and J coupling weights as well as the segments involved with any ensemble averaging.

The constraint file is a free format file containing a series of commands. Depending on the setting of the TITLE option on the NMRC command, the first lines of the constraint file should contain title lines which end with a * on an otherwise blank line. The file is terminated by either an END command or the physical end of file. You can put the constraint file in line in the CONGEN input file by specifying UNIT 5 on the NMRC command.

The commands are as follows : TYPE command

The TYPE command specifies the type of constraint which follows in the file. For NOE constraints, it is also used to specify whether individual distances should be averaged or summed, see Theory for NOE Constraints, for more information. For J coupling constraints, the coefficients of the Karplus equation can be specified.

     TYPE { noe-spec }
          { J-spec   }
                      [ AVErage   ]
     noe-spec ::= NOE [ NOAVerage ]
                      [ SUM       ]
     J-spec ::=  {J  } [COEF1 real] [COEF2 real] [COEF3 real]


The TYPE command specifies the type of constraint file being read, either NOE or one of PHI, PSI, X1S, or X1R, for NOE distance constraints of J-coupling data respectively. You must specify a constraint TYPE or the program will not continue execution. You can freely change the TYPE specification within a file.

When the NOE type is specified, you can control whether multiple proton pairs in a constraint are summed or averaged. The SUM and NOAVERAGE keyword specifies summing, the AVERAGE keyword specifies averaging. This specification takes affect with all succeeding NOE constraint specifications.

The coefficients for the Karplus equation can be changed using the COEFn keyword value pairs. COEF1 is used to change the coefficient on the cos^2 term; COEF2 is used for the cos term, and COEF3 changes the final term. Any changes made to these coefficients will apply to all succeeding J coupling constraints within one invocation of the NMRC command. They will be reset to (6.4, -1.4, and 1.9) at the start of the NMRC command. WEIGHT command
     WEIGHT [J] [Noe] [real]


The WEIGHT command will define the weights used on succeeding constraints. If the type keywords are specified, then the weight of those constraints will be changed only. If no type keyword is specified, then the current constraint type will be changed.

A convenient way to change weights during the course of simulated annealing protocol is to omit weights from the constraint file, and set them prior to reading the constraint file in. ENSEMBLE Command
     ENSEmble [EXP real] repeat(segid)

The ENSEMBLE command specifies the use of ensemble averaging. Each segment specified by a segment identifier (segid) will be treated as a conformer in the ensemble. Currently, CONGEN does not automatically ignore interactions between conformers in the ensemble, and therefore, you must take steps to separate the conformers and set the non-bonded cutoffs small enough to avoid interactions, see Non-bonded Interactions. Every segment in the ensemble must have identical residue and atom identifiers in the same order for this command to work.

Once the ENSEMBLE command is specified, any NOE constraints involving the first segment specified in the ENSEMBLE command are automatically replicated for all the other segments in the ensemble. Further, you may not specify constraints involving the remaining segments.

The EXP keyword is used to the exponent in the ensemble averaging equation, see NMR Constraints. The default value is 6. CONS Command

For NOE constraints:

     CONS {LOWEr real} {UPPEr real} atom-selection : atom-selection

For J-coupling constraints:

     CONS atom-spec atom-spec atom-spec atom-spec {LOWER real} {UPPER real}
          [COEF1 real] [COEF2 real] [COEF3 real]
     atom-spec::= segid resid iupac

Function of NOE Constraints

The CONS command signals that this line will be a constraint. The syntax of each constraint varies depending on the constraint type as set by the TYPE option, see Theory for NOE Constraints. In the case of the NOE constraints, you must specify the upper and lower bounds for the distance using the UPPER and LOWER keywords, respectively, and two atom-selections (see Atom Selection) to specify each half of the constraint pair. Each atom-selection defaults to not selecting any atoms. If each side of the constraint specifies just one atom, then just plain distances are computed. However, if multiple atoms are specified on either side, CONGEN will use (1/r)^6 summing or averaging to compute the distance. The average will be computed over all possible pairs of atoms between the first and second atom-selections given for each constraint.

The choice of atoms to include for each constraint will depend on your NOE data. If you can assign each proton or atom explicitly, then only single atoms should be used. If there is signal averaging occurring, then use the multiple atom specification to get a more realistic constraint. This choice is independent of whether or not ensemble averaging is subsequently used. Note that ensemble averaging affects how the constraints are interpreted. See the description of ensemble averaging above for more information.

Here are some examples: Suppose that one has an NOE between two protons which have been uniquely assigned. Then, the following command would specify a constraint between two atoms:

     CONS  ATOM MOL1 2 HA : ATOM MOL1 4 HB1  LOWER 2.0  UPPER 4.0

In this example, there is a distance constraint between the HA of residue 2 in segment MOL1 and the HB1 of residue 4 in segment MOL1 which has a lower bound of 2.0 and an upper bound of 4.0. However, if one wanted to include the (1/r)^6 sum of all the equivalent beta hydrogens in residue 4 the command line would look like as follows:

     CONS  ATOM MOL1 2 HA : ATOM MOL1 4 HB*  LOWER 2.0  UPPER 4.0
Function of J Coupling Constraints

For a J-coupling constraint, the syntax is partially order dependent. The keyword argument pairs can be specified anywhere on the command line, but the four atom-spec's must be specified in the correct sequence. The four atoms must be the four atoms involved in the measured coupling constant. The LOWER option specifies the lower bound of the measured J coupling, and the UPPER option specifies the upper bound. Coefficients for Karplus equation can be changed for this constraint, and any changes will be permanent for all succeeding J's. JOIN command

The JOIN command signals that the next two J coupling constraints are to be “joined” together, and to use the second form of the J constraint as described in the section, Theory for J Coupling Constraints. It is an error for there to be less than two J constraints in the NMR constraint file after the JOIN command is specified. END command

The END command signals the end of the constraint file to be read in. Examples
       Example of NOE Constraints
       WEIGHT 1.0
       TYPE NOE
       CONS  ATOM MOL1 2 HA : ATOM MOL1  4 HB* LOWER 2.0  UPPER 4.0
       CONS  ATOM MOL1 3 HN : ATOM MOL1  5 HN  LOWER 3.0  UPPER 4.4
       WEIGHT 0.5
       CONS  ATOM MOL1 2 HN : ATOM MOL1 10 HN  LOWER 3.0  UPPER 4.0
       Example of J-coupling Constraints around the chi 1 angle of leucine.
       WEIGHT J 1.0
       TYPE PHI COEF1 9.5 COEF2 -1.6 COEF3 1.8
       CONS 1 1 HA  1 1 CA 1 1 CB 1 1 HB2 LOWER 12.9 UPPER 12.9
       CONS 1 1 HA  1 1 CA 1 1 CB 1 1 HB1 LOWER 3.375 UPPER 3.375
       TYPE PHI COEF1 7.2 COEF2 -2.0 COEF3 0.6
       CONS 1 1 C   1 1 CA 1 1 CB 1 1 HB2 LOWER 1.4 UPPER 1.4
       CONS 1 1 C   1 1 CA 1 1 CB 1 1 HB1 LOWER 9.8 UPPER 9.8
       TYPE PHI COEF1 -3.75 COEF2 0.26 COEF3 -0.54
       CONS 1 1 N  1 1 CA 1 1 CB 1 1 HB2 LOWER -1.3475 UPPER -1.3475
       CONS 1 1 N  1 1 CA 1 1 CB 1 1 HB1 LOWER -1.3475 UPPER -1.3475

Further examples may be found in the JTEST* and NOETEST* test cases, see Tests.