Research area
Reading scattering curves at scale
What automated SAXS analysis reports for each profile, the model trained on 1,940 experimental SASBDB profiles, and the rule that flags low-confidence results.
Small-angle X-ray scattering gives you the size and shape of something in solution without crystallising it. What it does not give you is an unambiguous answer. Between the raw curve and a reported radius of gyration sit a series of judgement calls, and different analysts make them differently.
An experienced person handles this well, at a rate of a few profiles an hour, and two experienced people will not produce identical numbers. Once a high-throughput campaign is generating hundreds of profiles, both facts become blocking.
What the pipeline returns for each profile
The tool extracts the same set of parameters for every dataset, which is what makes a batch of profiles comparable rather than a set of individual judgement calls.
The numbers
| Output | What it is |
|---|---|
| Guinier Rg | Radius of gyration from the low-q straight-line fit |
| PDDF Rg | Radius of gyration from the pair distance distribution |
| Dmax | Maximum particle dimension, from the PDDF and from the trained model |
| Kratky features | Shape-descriptive features used by the clustering step |
| Confidence flag | Whether the two Rg routes agree well enough to report the result |
Reported Outputs as described in Ramirez, Di Mare, Byrnes, Ahmed et al., Biophysical Journal 124(21), 3772–3786 (2025).
Where the model comes in
Choosing Dmax is the call that most resists automation: pick it too small and you truncate real structure, too large and you invent oscillation that is not there. The approach taken in the paper is to train on how the field already makes that call, using 1,940 experimental profiles from the Small Angle Scattering Biological Data Bank, not idealised simulations.
experimental files from the SASBDB
hidden layers × units, ReLU
on held-out data
on maximum particle dimension
The regressor
A small, deliberately unglamorous network: four hidden layers of 32 units, trained only on experimental profiles so that it learns how practitioners actually make this call.
The numbers
| Hyperparameter | Value |
|---|---|
| Model | Multilayer perceptron regressor |
| Hidden layers | 4, each of 32 units |
| Activation | ReLU |
| Solver | Adam |
| Alpha (L2 penalty) | 1 × 10⁻³ |
| Maximum iterations | 1,000 |
| Random state | 42 |
| Training set | 1,940 SASBDB profiles |
| Analysis q-range | 0.005–0.25 Å⁻¹ |
| Collection q-range | 0.005–3.13 Å⁻¹ |
| Detectors | Pilatus 1M (SAXS), Pilatus 900K (WAXS) |
Reported Architecture and hyperparameters as published.
Knowing when to stop
There are two independent routes to a radius of gyration: the Guinier approximation at low q, and integration of the pair distance distribution. On a well-measured dataset they agree. When they diverge, something is wrong: with the measurement, the buffer subtraction, or the assumption of monodispersity. Using that agreement as a built-in gate gives the tool a basis for declining to answer.
The rule that lets the pipeline decline to answer
The model's predicted Dmax is compared against the value from the BIFT fit. Agree within 20% and it is reported in green; disagree by more and it is shown in red rather than quietly returned.
This is the part worth copying. An automated analysis that always returns a plausible-looking number is worse than none; the useful property is knowing when to stop.
The numbers
| Deviation from BIFT Dmax | Outcome |
|---|---|
| Within ±20% | Accepted, shown green |
| More than ±20% | Flagged as low confidence, shown red |
Reported The ±20% threshold and the red/green reporting are as described in the paper.
Shape classification works the same way. An unsupervised Gaussian mixture model was fitted over SASBDB entries, with AIC and BIC evaluated for up to nine clusters and the Kratky plots of high-confidence samples used to check that the clusters were actually separating shapes. Of 3,328 samples, six were excluded as extreme outliers. The output is a probability that a sample resembles a known class, not a claim to have solved a structure.
How to actually run SAXS Assistant — install, input format and what comes back per profile — and more on this in the research notes.
The paper behind this page
SAXS Assistant: Automated SAXS analysis for structural discovery in biologics and polymeric nanoparticles
Ramirez, Mare, Byrnes et al., Biophysical Journal, 2025.
doi:10.1016/j.bpj.2025.09.034