Search tips
Search criteria 


Logo of narLink to Publisher's site
Nucleic Acids Res. 2010 July 1; 38(Web Server issue): W540–W544.
Published online 2010 May 27. doi:  10.1093/nar/gkq461
PMCID: PMC2896111

FoXS: a web server for rapid computation and fitting of SAXS profiles


Small angle X-ray scattering (SAXS) is an increasingly common technique for low-resolution structural characterization of molecules in solution. SAXS experiment determines the scattering intensity of a molecule as a function of spatial frequency, termed SAXS profile. SAXS profiles can contribute to many applications, such as comparing a conformation in solution with the corresponding X-ray structure, modeling a flexible or multi-modular protein, and assembling a macromolecular complex from its subunits. These applications require rapid computation of a SAXS profile from a molecular structure. FoXS (Fast X-Ray Scattering) is a rapid method for computing a SAXS profile of a given structure and for matching of the computed and experimental profiles. Here, we describe the interface and capabilities of the FoXS web server (


SAXS is becoming a widely used technique for low-resolution structural characterization of molecules in solution (1–6). Unlike EM, NMR and X-ray crystallography, the key strength of SAXS is that it can be performed under a wide variety of solution conditions, including near physiological conditions. The experiment is performed with ~1.0 mg/ml of a macromolecular sample in a ~15 μl volume, and usually takes only a few minutes on a well-equipped synchrotron beam line (4). The SAXS profile of a macromolecule, I(q), is computed by subtracting the SAXS profile of the buffer from the SAXS profile of the macromolecule in the buffer. The profile can be converted into an approximate distribution of pairwise atomic distances of the macromolecule (i.e. the pair-distribution function) via a Fourier transform.

Computational approaches for modeling a macromolecular structure based on its SAXS profile can be classified into ab initio and rigid body modeling methods (3). On the one hand, the ab initio methods search for coarse 3D shapes represented by dummy atoms (beads) that fit the experimental profile (7–9). On the other hand, rigid body modeling approaches refine an atomic model of the molecule with the aim to fit the computed SAXS profile to the experimental one (10). Therefore, rigid body modeling can be used only if an approximate structure of the studied molecule or its components are available.

Rigid body modeling approaches require the computation of the SAXS profile of a given atomic structure and its comparison with the experimental profile. Here, we describe a web server (FoXS) that performs this task. FoXS can be used as a tool for numerous SAXS-based modeling applications, such as comparing solution and crystal structures (4), modeling of a perturbed conformation (e.g. modeling active conformation starting from non-active conformation) (11), structural characterization of flexible proteins (12,13), assembly of multi domain proteins starting from single domain structures (14), assembly of multi protein complexes (10), fold recognition and comparative modeling (15,16), modeling of missing regions in the high-resolution structure (17), and determination of biologically relevant states from the crystal (18,19).

There are several methods and software tools for calculating a SAXS profile of a given molecular structure. The methods differ in the use of the inter-atomic distances and in the treatment of the solvation layer (20). Inter-atomic distances can be computed and used explicitly (5,14). The most popular method CRYSOL (21), also available as a web server, uses multipole expansion for fast calculation of the spherically averaged scattering profile. Another widely used approach is Monte Carlo sampling of the distances in the model (22). Coarse graining that combines several atoms in a single scattering center can also be used to speed up the calculation (23,24). The solvation layer can be treated explicitly by introducing water molecules (24,25) or implicitly by a continuous envelope surrounding the model (21).

FoXS is a rapid and accurate web server for calculating a SAXS profile of a given molecular structure that explicitly computes all inter-atomic distances as well as models the first solvation layer based on the atomic solvent accessible areas. The server also provides an optimization of the hydration layer density as well as the excluded volume of the protein, to maximize the fit of the computed profile to the experimental profile. Additional optimization is achieved by adjusting the ‘background’ of the experimental profile for wider scattering angles (26). Next, we describe the method implemented in FoXS and its interface.


The method for computing SAXS profiles is based on the Debye formula (27):

equation image

where the intensity, I(q) is a function of the momentum transfer q = (4π sin θ)/λ, where is the scattering angle and λ is the wavelength of the incident X-ray beam; dij is the distance between atoms i and j, and N is the number of atoms in the molecule. In our model, the form factor fi(q) takes into account the displaced solvent as well as the hydration layer:

equation image

where fv(q) is the atomic form factor in vacuo (21), fs(q) is the form factor of the dummy atom that represents the displaced solvent (28), si is the fraction of solvent accessible surface of the atom i (29), and fw(q) is the water form factor. The parameter c1 is used to adjust the total excluded volume of the atoms (default value = 1.0) and c2 is used to adjust the density of the water in the hydration layer (default value = 0.0). I(q) is calculated rapidly per Equation 1 as described in detail in (14).

The computed profile is fitted to a given experimental SAXS profile by minimizing the χ function with respect to c, c1 and c2:

equation image

where Iexp(q) and I(q) are the experimental and computed profiles, respectively, σ(q) is the experimental error of the measured profile, M is the number of points in the profile, and c is the scale factor. The minimal value of χ is found by enumerating c1 and c2 (0.95 ≤ c1 ≤ 1.12 and 0 ≤ c2 ≤ 4.0), in steps of 0.005 and 0.1 respectively), and performing the linear least-squares minimization to find the value of c that minimizes χ for each c1,c2 combination. In addition, FoXS has an option to adjust the background of the experimental profile (26).

FoXS was successfully tested with all PDB structures (30) that have an experimental SAXS profile in the open access SAXS database ( (4) as well as a number of additional cases (in preparation).


The web server has one mandatory input, a structure file in the PDB format (or a zip archive with multiple PDB files). The server assigns form factors for the standard PDB protein and nucleic acid atoms. For other types of molecule, the form factors are assigned using the element field in the PDB format. Hydrogen atoms are considered implicitly for proteins and nucleic acids by adding their form factors to that of their bound heavy atom. If the input structure includes other groups, such as lipids or sugars, it is recommended to add all the hydrogens explicitly and turn off the ‘implicit hydrogens’ option on the FoXS input form.

The optional input includes an experimental SAXS profile, which must be obtained for the exact molecule specified in the input PDB file (including all loops, linkers and His tags). The profile is specified in a text file with three columns:

q, I(q), σ(q)

  • # q intensity error
  • 0.00000 3280247.73 1904.037
  • 0.00060 3280164.59 1417.031
  • 0.00120 3279915.19 1840.032

where q = (4πsinθ)/λ, is the scattering angle and λ is the wavelength of the incident X-ray beam. It is recommended to provide an accurate error estimate of σ(q) because it is used for the profile fitting. If the third column is not given, FoXS will assume the error is distributed according to the Poisson distribution with λ = 10.

The server also has several optional input parameters. A user can specify an e-mail address for emailing a link to the results page. Maximal q value determines the range for calculating the profile (default qmax = 0.5 Å−1). A user can also control the sampling resolution of the profile by setting the number of points in the profile. The profile will be sampled at the resolution equal to the maximal q value divided by the number of profile points. For example, if the qmax value is 0.5 Å−1 and a user asks for 1000 profile points, the resulting profile will be uniformly sampled at the interval of 0.0005Å−1. In addition, a user can also decide whether or not to include the hydration layer in the profile computation (included by default). It is also possible to decide whether or not to adjust the excluded volume of the protein (c1 value—adjusted by default) and the background of the experimental profile (not adjusted by default).

Once the inputs are defined, FoXS computes the SAXS profile of the input PDB structure(s) and fits it to the experimental profile, if provided. For fitting, the computed profile is resampled at the q values sampled by the experimental profile, with the computed intensities estimated using linear interpolation. The server does not modify the input experimental profile, unless background adjustment is requested.

The computation is performed in real time and the server page is updated once the calculation has finished. The typical running time is less than a second for a system of a thousand of atoms, and can extend to a few minutes for tens of thousands of atoms.

The output page displays a plot of the computed profile as well as a plot of the computed profile fitted to the experimental profile (Figure 1). In addition, the values of χ, c1 and c2 for the current profile fit are displayed. The profiles and their fit can be downloaded. In case of multiple PDB files in the input, the server will display computed profile plots for each PDB file, as well as plots with their fit to the experimental profile. In addition, a single plot with all the computed profiles and a plot with computed profiles fitted to the experimental profile are displayed.

Figure 1.
Snapshot of a FoXS output page. Computed profiles of two PDB files are compared to the experimental SAXS profile of malic enzyme (data from, PF1026). The first structure (pdb_model) includes a model of the unfolded His tag region (35 ...


A SAXS profile can provide significant insight into the structures of macromolecules, especially when combined with other information. SAXS experiments are gaining in popularity due to the technological advances that allow rapid and accurate data collection for a relatively small amount of the sample. Rapid and accurate computational methods are required for interpretation of the SAXS profiles. Here, we described a rapid, accurate, and user-friendly web server for calculating a SAXS profile of a given atomic structure and its fitting to the experimental profile. The web server can be used in a wide range of SAXS, such as comparing solution and crystal structures, modeling of a perturbed conformation (e.g. modeling active conformation starting from non-active conformation), structural characterization of flexible proteins, assembly of multi domain proteins starting from single domain structures, assembly of multi protein complexes, fold recognition and comparative modeling, modeling of missing regions in the high-resolution structure, and determination of biologically relevant states from the crystal.


Weizmann Institute Advancing Women in Science Postdoctoral Fellowship to DSD; Sandler Family Supporting Foundation, National Institutes of Health (R01 GM083960); National Institutes of Health (U54 RR022220); National Institutes of Health (PN2 EY016525); DOE program Integrated Diffraction Analysis Technologies (IDAT), Pfizer Inc. SIBYLS beamline at Lawrence Berkeley National Laboratory. Funding for open access charge: National Institutes of Health (R01 GM083960).

Conflict of interest statement. None declared.


The authors are grateful to Dr Hiro Tsuruta for discussions about SAXS. The authors thank Ursula Pieper for help with the server setup. The authors are also grateful for computer hardware gifts from Ron Conway, Mike Homer, Intel, Hewlett-Packard, IBM and Netapp.


1. Koch MH, Vachette P, Svergun DI. Small-angle scattering: a view on the properties, structures and structural changes of biological macromolecules in solution. Q. Rev. Biophys. 2003;36:147–227. [PubMed]
2. Petoukhov MV, Svergun DI. Analysis of X-ray and neutron scattering from biomacromolecular solutions. Curr. Opin. Struct. Biol. 2007;17:562–571. [PubMed]
3. Putnam CD, Hammel M, Hura GL, Tainer JA. X-ray solution scattering (SAXS) combined with crystallography and computation: defining accurate macromolecular structures, conformations and assemblies in solution. Q. Rev. Biophys. 2007;40:191–285. [PubMed]
4. Hura GL, Menon AL, Hammel M, Rambo RP, Poole FL, 2nd, Tsutakawa SE, Jenney FE, Jr, Classen S, Frankel KA, Hopkins RC, et al. Robust, high-throughput solution structural analyses by small angle X-ray scattering (SAXS) Nat. Methods. 2009;6:606–612. [PMC free article] [PubMed]
5. Tiede DM, Mardis KL, Zuo X. X-ray scattering combined with coordinate-based analyses for applications in natural and artificial photosynthesis. Photosynth. Res. 2009;102:267–279. [PMC free article] [PubMed]
6. Whitten AE, Trewhella J. Small-angle scattering and neutron contrast variation for studying bio-molecular complexes. Methods Mol. Biol. 2009;544:307–323. [PubMed]
7. Chacon P, Moran F, Diaz JF, Pantos E, Andreu JM. Low-resolution structures of proteins in solution retrieved from X-ray scattering with a genetic algorithm. Biophys J. 1998;74:2760–2775. [PubMed]
8. Svergun DI. Restoring low resolution structure of biological macromolecules from solution scattering using simulated annealing. Biophys. J. 1999;76:2879–2886. [PubMed]
9. Svergun DI, Petoukhov MV, Koch MH. Determination of domain structure of proteins from X-ray solution scattering. Biophys. J. 2001;80:2946–2953. [PubMed]
10. Petoukhov MV, Svergun DI. Global rigid body modeling of macromolecular complexes against small-angle scattering data. Biophys. J. 2005;89:1237–1250. [PubMed]
11. Nishimura N, Hitomi K, Arvai AS, Rambo RP, Hitomi C, Cutler SR, Schroeder JI, Getzoff ED. Structural mechanism of abscisic acid binding and signaling by dimeric PYR1. Science. 2009;326:1373–1379. [PMC free article] [PubMed]
12. Bernado P, Mylonas E, Petoukhov MV, Blackledge M, Svergun DI. Structural characterization of flexible proteins using small-angle X-ray scattering. J. Am. Chem. Soc. 2007;129:5656–5664. [PubMed]
13. Pelikan M, Hura GL, Hammel M. Structure and flexibility within proteins as identified through small angle X-ray scattering. Gen. Physiol. Biophys. 2009;28:174–189. [PubMed]
14. Förster F, Webb B, Krukenberg KA, Tsuruta H, Agard DA, Sali A. Integration of small-angle X-ray scattering data into structural modeling of proteins and their assemblies. J. Mol. Biol. 2008;382:1089–1106. [PMC free article] [PubMed]
15. Zheng W, Doniach S. Protein structure prediction constrained by solution X-ray scattering data and structural homology identification. J. Mol. Biol. 2002;316:173–187. [PubMed]
16. Zheng W, Doniach S. Fold recognition aided by constraints from small angle X-ray scattering data. Protein Eng. Des. Sel. 2005;18:209–219. [PubMed]
17. Petoukhov MV, Eady NA, Brown KA, Svergun DI. Addition of missing loops and domains to protein models by X-ray solution scattering. Biophys. J. 2002;83:3113–3125. [PubMed]
18. Hammel M, Kriechbaum M, Gries A, Kostner GM, Laggner P, Prassl R. Solution structure of human and bovine beta(2)-glycoprotein I revealed by small-angle X-ray scattering. J. Mol. Biol. 2002;321:85–97. [PubMed]
19. Datta AB, Hura GL, Wolberger C. The structure and conformation of Lys63-linked tetraubiquitin. J. Mol. Biol. 2009;392:1117–1124. [PMC free article] [PubMed]
20. Perkins SJ. X-ray and neutron scattering analyses of hydration shells: a molecular interpretation based on sequence predictions and modelling fits. Biophys. Chem. 2001;93:129–139. [PubMed]
21. Svergun D, Barberato C, Koch MHJ. CRYSOL – a program to evaluate X-ray solution scattering of biological macromolecules from atomic coordinates. J. Appl. Crystallogr. 1995;28:768–773.
22. Tjioe E, Heller WT. ORNL_SAS: software for calculation of small-angle scattering intensities of proteins and protein complexes. J. Appl. Crystallogr. 2007;40:782–785.
23. Grishaev A, Wu J, Trewhella J, Bax A. Refinement of multidomain protein structures by combination of solution small-angle X-ray scattering and NMR data. J. Am. Chem. Soc. 2005;127:16621–16628. [PubMed]
24. Yang S, Park S, Makowski L, Roux B. A rapid coarse residue-based computational method for X-ray solution scattering characterization of protein folds and multiple conformational states of large protein complexes. Biophys. J. 2009;96:4449–4463. [PubMed]
25. Merzel F, Smith JC. SASSIM: a method for calculating small-angle X-ray and neutron scattering and the associated molecular envelope from explicit-atom models of solvated proteins. Acta Crystallogr. D Biol. Crystallogr. 2002;58:242–249. [PubMed]
26. Ciccariello S, Goodisman J, Brumberger H. On the Porod law. J. Appl. Crystallogr. 1988;21:117–128.
27. Debye P. Zerstreuung von Röntgenstrahlen. Annalen der Physik. 1915;351:809–823.
28. Fraser RDB, MacRae TP, Suzuki E. An improved method for calculating the contribution of solvent to the X-ray diffraction pattern of biological molecules. J. Appl. Crystallogr. 1978;11:693–694.
29. Connolly ML. Solvent-accessible surfaces of proteins and nucleic acids. Science. 1983;221:709–713. [PubMed]
30. Berman H, Henrick K, Nakamura H. Announcing the worldwide Protein Data Bank. Nat. Struct. Biol. 2003;10:980. [PubMed]

Articles from Nucleic Acids Research are provided here courtesy of Oxford University Press