|edat = <energy_data>||objective function parameters|
|spline_dx = <float:1>||0.5||interval size for splining restraints|
|spline_min_points = <int:1>||5||have at least as many intervals in a spline|
|spline_range = <float:1>||4.0||range of the splines|
|spline_select = <int:3>||4 1 9||specification of the restraints to be splined: form feature group|
|output = <str:1>||'LONG'||'SHORT' | 'LONG' | 'VERY_LONG' | 'GRADIENT' | 'SYMMETRY' | 'ENERGY_PROFILE' | 'VIOLATIONS_PROFILE'|
|residue_span_range = <int:2>||0 99999||range of residues spanning the allowed distances; for MAKE_RESTRAINTS, PICK_RESTRAINTS, non-bonded dynamic pairs|
This command calculates and selects new restraints that are a spline approximation of the selected restraints of the specified type. It unselects the approximated restraints.
The type of the approximated restraints is specified by spline_select and is defined by the mathematical form (Gaussian, etc), feature type (distance, etc), and physical restraint group (sidechain , etc) (the first, third, and fourth integer numbers in the restraint specification).
The restraint is approximated in a certain range only, determined differently for different mathematical forms. For example, the poly-Gaussian range is from to , where and are the minimal and maximal means of the basis pdfs, and and are their corresponding standard deviations.
The spline points are distributed evenly over this range with an interval of spline_dx. spline_dx should be equal to the scale of the peaks of the restraint that you want to approximate reliably. The value of the restraint beyond the range is determined by linear extrapolation using the first derivatives at the bounds.
If the x-range and spline_dx are such that the number of spline points would be less than spline_min_points, spline_dx is decreased so that there are spline_min_points defining the ``splined'' restraint.
Example: See restraints.make() command.