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.