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.

Additional common options