Potential term restraining atomic positions relative to those in a similar structure. This term is similar to the (nonstrict) NCS XPLOR energy term, but there is no need that the equivalent pairs of atoms have the same atom name, have the same residue name, or even be of the same number. Constructor: It is suggested that this potential term be created using the helper function .create_PosSymmPot(). PosSymmPot(instanceName) - creates a potential term with the given name. Methods: calcEnergy() - calcs energy calcEnergyAndDerivs(DerivList) - calcs energy and derivative info addEquivAtomSelPair(atomSel1, atomSel2) - specify a pair of .AtomSels, the centroids of which will be restrained to have the same relative position. equivAtomSelPairs() - return a list containing the current set of AtomSel pairs. removeEquivAtomSelPair(atomSel1, atomSel2) - remove the specified pair. addEquivAtomPair(atomSel1, atomSel2) - specify a pair of .Atoms, whose positions will be restrained to have the same relative position. equivAtomPairs() - return a list containing the current set of Atom pairs. removeEquivAtomPair(atomSel1, atomSel2) - remove the specified pair. rms() - returns the best-fit RMSD between the two selection sets. violations() - returns 0 if upperBound > rms > lowerBound, 1 otherwise. individualRMSDs() - returns a list containg the distances between each equivalent pair after best-fitting rotMat() - returns the rotation matrix which best- fits the two selection sets translated to the origin. centroid(whichOne) - returns the centroid position of each selection set, specified by whichOne (either 0 or 1). translatedCoords(whichOne) - returns a sequence of .Vec3s which represent the positions of the specified selection set (by whichOne - either 0 or 1). Read-Write accessors: scale - scale factor for the potential term. lowerBound - see below. If lowerBound>0, equivalent pairs will be forced apart [default: 0]. upperBound - see below. This specifies the rmsd amount the equivalent pairs are allowed to differ [default: 0]. the above quantities may be retrieved using the member function form quantity(), while they are set using the form setQuantity(value). The potential term is defined as E = scale() * dRMSD^2 with / rmsd - upperBound, if rmsd > upperBound dRMSD = | rmsd - lowerBound, if rmsd < lowerBound \ 0 , if rmsd < upperBound and rmsd > lowerBound and rmsd^2 = 1/Ni sum_i |(q_1i-q_1c) - R(q_2i-q_2c)|^2 where q_1i and q_2i are the average position of the ith respective equivalent pair, and the sum is over all pairs, and Ni is the number of equivalent pairs. R is the rotation matrix which minimizes rmsd2. q_1c and q_2c are the average positions of the equivalent pair positions, e.g. q_1c = 1/N1 * sum_i q_1i.