To allow TNT to restrain a macromolecular model to a new type of observation you will need to write a program. You will have to define the precise function you plan to minimize. Your program will have to be able to calculate the value of this function and its first derivative with respect to each parameter of the model, given any coordinate set. To allow yourself the benefits of the preconditioned conjugate gradient method the program should also be able to calculate the second derivatives. TNT only uses atomic block diagonal elements of the normal matrix. The list of required second derivatives consists of a symmetric 5x5 block for each atom.