AUSAXS is a modern C++20 small-angle X-ray scattering (SAXS) calculator built on the Debye equation, written to be modular and easily extendable. It is highly efficient (see the benchmark) and available on Linux, macOS, and Windows.
Thanks to its weighted-bin implementation of the Debye equation, AUSAXS can accurately predict the pure Debye scattering in the wide-angle (WAXS) regime, up to arbitrary q. At smaller angles, our novel explicit-solvent hydration-shell and grid-based excluded-volume modeling enable reliable validation of structures against SAXS data.
- Structural validation: Test whether an atomic model is consistent with experimental SAXS data, adjusting only solvent and scaling parameters.
- EM map validation: Compare electron-microscopy maps against SAXS data using dummy structures built from the map itself.
- Rigidbody optimization (in development): Refine multi-body assemblies against SAXS data, exploiting symmetry relations to accelerate the calculation. Driven by a composable configuration language for fine-grained control over parameters, loops, and per-step output.
Each program has a detailed user guide in the wiki.
Python (recommended): The easiest way to get started is the Python wrapper, which installs the ausaxs command-line tool in one step:
pip install pyausaxsNo need to track down a downloaded binary — just pip install and you're ready to go. The wrapper also exposes most main features programmatically, making AUSAXS easy to integrate into external workflows. See the pyausaxs repository for details.
Binaries: Precompiled binaries are also available directly in the releases.
From source: Follow the compilation guide to build it yourself in a few steps.
Encountering problems, have feedback or suggestions, or considering contributing? Please check out the contributor guidelines.
- Small-angle X-ray scattering profile calculation for high-resolution models of biomacromolecules
(doi: 10.1107/S160057672500562X) - Validation of electron-microscopy maps using solution small-angle X-ray scattering
(doi: 10.1107/S2059798324005497)
This project is licenced under the GNU Lesser General Public Licence v3.0. Supported by grant 1026-00209B from the Independent Research Fund Denmark.

