residual dipolar coupling potential One normally creates RDCPot objects using the create_RDCPot function within the module. constructor: RDCPot1(instanceName, oTensor restraints, simulation) instanceName is a user-specified identifier. oTensor specifies an orientational .VarTensor object. restraints is an optional XPLOR-style sani or dipo restraint table. simulation is an optional .Simulation specification. This potential term is described in G.M. Clore and C.D. Schwieters, J. Am. Chem. Soc. 126, 2923-2938 (2004). members: oTensor - the VarTensor orientational tensor object. methods: addRestraints(restraintList) - add the specified XPLOR sani- or dipo-style restraints. Note that this is a string, and not a filename. calcEnergy() - calc energy, returns the energy value. calcEnergyAndDerivs(derivs) - calc energy, derivs, returns the energy value. rms() - return the rms of calcedShift - effShift deviation() - return average of deviation of ensemble members numRestraints() - return the number of restraints defined for this term. violations() - return number of violations info() - current info about the state of this instance showViolations() - return a string listing violated restraints. showRestraints(violated) - return info on restraints. Argument violated is boolean specifying whether to return only violated restraints. restraints() - return a list of restraints. See the description of the Restraint class below. rawRestraints() - return a list of restraints, without calling calcEnergy to update calculated values. See the description of the Restraint class below. simulation() - return the associated .Simulation. The following parameters can be set [defaults in square brackets] deltaDFS - constant offset in dipolar couplings [0] verbose - if true, sporadically spit out info [False] useDistance- if true, include the 1/r^3 dependence in the calcedShift calculation. Note that this feature changes the meaning and units of Da [0]. useSign - if false, ignore the sign of the calculated and observed dipolar coupling; this if the sign of the shift is unknown [1]. gyroA gyroB - linear scaling factors for the calculated dipolar coupling. scale - scale factor (force constant) [1] threshold - threshold in violation calculation [0] potType - type of potential: "harmonic" or "square" ["harmonic"] aveType - type of averaging to use for indistinguishable atoms: "sum" or "average" ["average"] 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. [0] the above quantities may be retrieved using the member function form quantity(), while they are set using the form setQuantity(value). assignment table: entries in the restraint list have the following form assign ( sel OO ) ( sel Z ) ( sel X ) ( sel Y ) ( sel m ) ( sel n ) obsShift error1 [error2] where the first four selections are present for compatibility with XPLOR assignment tables. the m and n selections specify the atoms involved in the interaction. the observed dipolar shift is given by the obsShift argument, and the error bounds are given by error1 and error2. If error2 is absent, it defaults to error1. The dipolar shift is given by the equation calcedShift = DFS + Da (3 vz^2 -1) + 3/2 Da*R ( vx^2 - vy^2 ) where R is the rhombic tensor component, and vx,vy,vz are the projections of the unit vector in the direction mn onto the corresponding coordinate axis representing tensor orientation. Da is scaled by gyroA and gyroB. Typically, these are set to one, or are set to scale factors such that a single Da value can be used with experiments involving different nuclei. These scale factors are usually set using the helper function .scale_toNH. If useDistance is 1, the Da is scaled by 1 / |q_m - q_n|^3. Note that this changes the units of Da. This feature is frequently used in proton-proton experiments. If the Da is fixed, one will need an additional experiment to obtain a value for Da, and the value scaled appropriately. For example, if Da(NH) is available from a 15N-1H experiment in the same medium, the H-H Da would be set as Da(NH) * r(NH)^3 * gamma(N) gamma(N) = 10.47*Da(NH), where r(NH) is the NH bond distance, and gamma(N) and gamma(H) are the gyromagnetic ratio of 15N and 1H, respectively. The energy function is defined as 1/2 * scale * (calcedShift - effShift)^2 where for potType=harmonic, effShift = obsShift. For potType=square, effShift = calcedShift, if obsShift-error1 < calcedShift < obsShift+error2 = calcedShift+error1, if calcedShift < obsShift-error1 = calcedShift-error2, if calcedShift > obsShift+error2 Restraint class methods: energy() - energy due to this restraint calcd() - calculated value of dipolar coupling (ensemble average). obs() - observed value of dipolar coupling. diff() - difference between calcd and obs plusErr(), minusErr() - bounds for the square well potential aSel() - atomSel for atom A bSel() - atomSel for atom B bondVectors() - list of Vec3 - non-normalized bond vectors for each member of the ensemble calced_contrib() - list of contributions due to each ensemble member. deviation() - measure of spread between different ensemble members