calcSAXS
Given a molecular structure, compute a SAXS or SANS curve, optionally fitting to experiment. Also compute optimal excluded solvent parameters (including boundary layer contribution).
Usage: calcSAXS [option] <pdb files>
where option is one or more of:
-expt <filename> - File containing background-subtracted
scattering data. Should contain two
columns:
q value, I(q)
An optional third column holds
err(q).
-sample <filename> - File containing sample scattrering data
without buffer subtraction.
-buffer <filename> - File containing buffer scattrering
data. Multiple sample and buffer
files can be specified, separated by
spaces or colons. The number of sample
files must be the same as the number
of buffer files.
-rho0 <val> - initial excluded solvent electron density
-alpha <val> - initial alpha value for buffer subtraction
-addUnknownAtoms - add missing heavy atom coordinates.
-minFitQ <q value> - specify a reduced range for the fit.
-maxFitQ <q value> - (only in effect for buffer-subtraction
fitting
-boundaryThickness <val> - thickness (in Angstrom) of bound
solvent contribution [3]
-solventRadius <val> - solvent radius (in Angstrom) used for
generation of bound solvent surface
[1.44]
-innerBoundaryFilename <val> - Name for file containing STL
representation of inner solvent
surface.
-outerBoundaryFilename <val> - Name for file containing STL
representation of outer solvent
surface.
-plot - plot results
-plotFilename <file name> - optional plot file name. If
specified, implies -plot
-wintitle <name> - window title for interactive plot. If
specified, implies -plot
where options are zero or more of::
-psf=psf file
-deltaQ=value
-numQ=value
-minQ=value
-maxQ=value
-angleN=value
-normalizeIndex=value
-nm - interpret in input q values in inverse nanometers. By
default input units are inverse angstroms, and output
values are always in inverse angstroms.
-ensWeights <vals> - a colon-separated list of weights to use on
structure ensemble members. If not specified, the
ensemble members are weighted equally.
-ensWeightsRegexp=value- regular expression used to extract ensemble weights
from remarks section of the PDB header. The weights
obtained using this argument are multiplicatively
combined with those from the -ensWeights option.
-selection=<atoms to include in the scattering calculation>
-radiusScale=value
-rhob=value
-background=value
-volumeScale=value
-rhobStart=value
-rhobEnd=value
-rhobNum=value
-bgStart=value
-bgEnd=value
-bgNum=value
-radiusScaleStart=value
-radiusScaleEnd=value
-radiusScaleNum=value
-volumeScaleStart=value
-volumeScaleEnd=value
-volumeScaleNum=value
-fit - fit solvent parameters to experimental curve
-sans - compute a SANS curve instead of a SAXS curve
-fractionD2O=value - fraction of D2O in solvent (default: 1)
-exchangeFraction=value
- fraction of exchangable protons which actually
exchange with deuterons (default: 0.9)
-fractionDeuterated=value
- fraction of deuterons for nonexchangable protons
(default: 0)
-altDeuteratedSel=selection value
- alternate value of fractionDeuterated which applies
only for protons in the given atom selection.
-formFactors=val - specify alternate form factors. "original" is the
default. The other supported value is "JBW" which
may work better for RNAs.
-exptPoints - if -expt and -numQ are specified, this option forces
recalculation of I(q) at the exact experimental q
values for final output (and calculation of chi^2).
Warning: this option incurs a severe performance
penalty.
-noSpline - This option disables the interpolation of
calculated I(q) values to the q-values
given for the experimental I(q). Instead, the
experimental curve is interpolated to the
calculated points, and normalization and
calculation is done only on the calculated
points. This typically gives a worse
approximation to I(q).
-splineToExpt - This option should only be given with -noSpline:
it specifies that the spline-interpolated values of
I(q) at the exact experimental q values are
computed for final output (and calculation of chi^2).
Normalization, on the other hand is computed
from interpolated experimental points at the
numQ grid points used for I(q) calculation.
-nostderr
If -expt or -sample and -buffer are not specified, deltaQ and numQ specify
the values at which I(q) is calculated. The chi^2 value is printed. If
-nostderr is not specified, the value is printed to stderr, else it is
printed to stdout.
Default values of the atom selection are all heavy atoms (for SAXS), and
all atoms (for SANS).
If -numQ is and -expt are specified, the experimental data is fit to
and sampled uniformly at numQ points from the minimum
value (or that specified by -minQ) up to the value specified by -maxQ (by
default, the max value in the data file).
angleN controls how many solid angle values are used in the
approximation. 500 is the default, and probably sufficient for most
SAXS experiments.
-normalizeIndex specifies which datapoint is used to normalize calculated to
observed curves. The default value is -3, which specifies that the curves
are normalized to minimize the chi^2.
If more than one pdb file is specified, the scattering curve resulting
from the average scattering of all structures is calculated with weights
specified by the -ensWeights option.
If the -fit option is given, one of two fitting algorithms is performed:
A) if -expt is specified, a Crysol-like fit is performed with boundary
contribution calculated: the average radius of the solvent excluded
volume is varied to best-fit the observed curve. The three parameters
fitted are radiusScale, volumeScale and rhob, which can be explicitly
specified using the -radiusScale -volumeScale and -rhob flags,
respectively. These parameters are described in the Xplor-NIH
solnScatPot help page. If one of the parameters is specified on the
command-line, it is excluded from the fit procedure. For SANS, the
isotropic background is also fit. This later parameter can be directly
specified using the -background option. The search range for a fit as a
fraction of the average value of the last 10 experimental datapoints can
be specified using -bgStart and -bgEnd, with the number of points
specified by -bgNum. Note that the specification for -background is
absolute, while -bg* options specify relative background values.
rhobStart and rhobEnd options specify the minimum and maximum boundary
layer solvent density values used in the fit.
B) if -sample and -buffer are specified, the experimental curve is computed
as:
I_expt(q) = I_samp(q) - alpha I_buff(q) + bg
The calculated curve is given by:
I(q) = N * < |A(q) + rhob Ab(q)|^2 >
where N is overall normalization, A(q) is the scattering amplitude from
solute molecule and excluded solvent, Ab(q) is scattering from
the solvent boundary layer, and rhob is the coefficient of the boundary
layer scattering.
If the -fit option is given, a gradient search is performed for alpha, bg,
N, and rhob.
This is an adaptation of the AXES algorithm: A. Grishaev, L.A. Guo,
T. Irving, and A. Bax, "Improved fitting of solution X-ray
scattering data to macromolecular structures and structural
ensembles by explicit water modeling," J. Am. Chem. Soc. 132,
15484-15486 (2010).
For the scattering curves printed by the script, the background has been
added to the calculated curve, rather than subtracted from the experimental
curve to make visual comparison more convenient.