J-Coupling Potential term Constructor: JCoupPot(instanceName , restraints , simulation ) - creates a potential term with the given name. restraints is a string which contains a restraint table (defaults to an empty string). simulation defaults to .currentSimulation. Methods: calcEnergy() - calcs energy calcEnergyAndDerivs(DerivList) - calcs energy and derivative info note that these routines also update all other potential-specific data. addRestraints(restraints)- add entries to the restraint table. Read-Write Accessors: A - coefficient of cos^2 term (see formula below). B - coefficient of cos term (see formula below). C - constant term (see formula below). phase - phase in j-coupling formula (see formula below). potType - potential type: 'harmonic' or 'square' [harmonic]. verbose - if true, sporadically spit out info [False] threshold - threshold in violation calculation ( defaults to 0). showAllRestraints - boolean which changes the behavior of showViolations. If this parameter is set to True, the behavior of showViolations is modified such that all restraints are printed. Violated restraints are indicated by an asterisk in the first column. [1] Read-only accessors: violations() - return number of violations. Defined in terms of jDiff_i. rms() - return rms of jDiff_i numRestraints() - the number of restraints defined for this term. deviation() - ensemble deviation of jCalc-jObs averaged over all restraints simulation() - simulation used by this shape term. Is an EnsembleSimulation. info() - return string synopsis of potential info. showRestraints(violated) - return pretty-printed restraint info. showViolations() - return pretty-printed violation info. The potential term is defined as E = scale() * sum_i jDiff_i^2 where jDiff = jCalc - jDiff if potType=='harmonic' if potType=='square, jDiff is jCalc-jObs-jPlus if jCalc-jObs>jPlus jCalc-jObs+jMinus if jCalc-jObs<-jMinus 0 otherwise jObs is the observed j-coupling value. jCalc is the ensemble-average calulated j-coupling value: jCalc = A*cos(phi+phase)^2 + B*cos(phi+phase) + C where the constants A,B,C, and phase are inputs, and phi is the dihedral angle as specified in the assignment table. The j-coupling assignment table consists of entries of the following form ASSIgn (sel1) (sel2) (sel3) (sel4) jObs jMinus [jPlus] where the four single atom selections specify the dihedral angle. jMinus and jPlus specify the range of the square potential, with jPlus defaulting to jMinus if it is omitted. Note that the degenerate assignments of the XPLOR COUP term are not implemented here yet.