-
Notifications
You must be signed in to change notification settings - Fork 0
Home
SAXSier is a Python-based graphical software suite designed for the processing and analysis of Small-Angle X-ray Scattering (SAXS) data. It is particularly optimized for SEC-SAXS (Size-Exclusion Chromatography coupled SAXS) and high-throughput analysis.
The idea is "To view everything at a glance"
- Overview
- 1. Getting Started
- 2. SubMe (v3.6)
- 3. Ragtime (v5.0)
- 4. Sexier (v7.2)
- 5. SAXSting (v5.0)
- Technical Details & Mathematics
The suite consists of a central launcher and four specialized tools:
- SubMe: Buffer subtraction.
- Ragtime: SEC-SAXS frame-by-frame analysis (Guinier, Rg, MW).
- Sexier: Deep analysis of single profiles (Guinier, BIFT P(r), Vc MW).
- SAXSting: High-throughput comparison, overlay, and figure generation.
The suite is written in Python and uses the PySide6 framework for the GUI and Matplotlib for plotting.
Dependencies:
- Python 3.x
PySide6matplotlibnumpyscipy-
numba(required for Sexier's BIFT calculation)
Run the main launcher script to access all tools from a central hub:
python SAXSier-v4.py
Purpose: Background/Buffer subtraction for SAXS profiles.
- Auto-Unit Detection: Detects if data is in nm⁻¹ and converts to Å⁻¹.
-
Three Subtraction Methods:
- Average Buffer: Averages a user-defined range of buffer frames.
- Auto Linear Baseline: Uses the first 10 and last 10 frames to calculate a drifting baseline.
- Manual Linear Baseline: Allows the user to select specific start and end frames to define a baseline.
-
Load Data: Click
Select Data Folder. -
Choose Method:
-
Tab 1 (Average): Enter
Start FrameandEnd Frame. ClickSubtract Average Buffer. -
Tab 2 (Baseline):
-
Auto: Click
Subtract Auto Baseline. -
Manual: Use the arrow buttons (
<<,<,>,>>) to select two specific frames (F1andF2) that define the baseline. ClickSubtract Manual Baseline.
-
Auto: Click
-
Tab 1 (Average): Enter
-
Output: Files are saved in a new folder created in the parent directory (e.g.,
SUB-Man-Avg-XX-YYorSUB-Auto-BL).
Purpose: Primary analysis for SEC-SAXS chromatograms. Analyzes Radius of Gyration (Rg) and Molecular Weight (MW) across all frames.
- Auto-Unit Detection: Detects if data is in nm⁻¹ and converts to Å⁻¹.
- Best File Detection: Automatically identifies the frame with the highest total integral.
- Auto-Guinier: Automatically searches for the optimal linear Guinier region.
- Peak Averaging: Extracts and averages frames from the elution peak with error propagation.
-
Load Data: Click
Select Data Folder(select the folder containing subtracted.datfiles). - Auto-Analysis: The software automatically finds the "Best" file and performs an initial Guinier fit.
-
Refinement:
- Use the
<-and->buttons to navigate frames. - Manually adjust
qmin indexandqmax indexif necessary. - Click
Update Ragtimeto apply changes to the current frame.
- Use the
-
Batch Processing:
- (Optional) Set a
Ragtime Analysis Range(Start/End frame) to limit analysis to the peak. - Click
Run Ragtimeto apply the current Guinier settings to all files.
- (Optional) Set a
-
Results:
- Generates a 2-panel plot:
I(0) vs Frameoverlaid withRgandMW. - Saves
Ragtime_Results.txtin theRagtime-Resultsfolder.
- Generates a 2-panel plot:
-
Peak Extraction:
- Enter
First frameandLast frameof the peak. - Click
Extract & Average Peak. This creates a high-quality averaged file in aPeak-Xfolder.
- Enter
Purpose: In-depth analysis of a single scattering curve (usually the averaged peak file from Ragtime).
- Auto-Unit Detection: Detects if data is in nm⁻¹ and converts to Å⁻¹.
- Guinier Analysis: Calculates Rg and I(0).
- Molecular Weight (Vc): Estimates MW using the Volume of Correlation method.
- P(r) Analysis (BIFT): Bayesian Inverse Fourier Transform to calculate the Pair-Distance Distribution Function, Dmax, and Rg(real space).
- Diagnostic Plots: Generates publication-ready 4-panel plots (Form Factor, Guinier, Residuals, Kratky, Vc).
-
Load Data: Load a single
.datfile (e.g., the output from Ragtime). -
Guinier Region: The tool attempts to auto-detect the region. Adjust
qminandqmaxindices manually and clickRe-Process Data. -
MW Calculation:
- Enter
MW from sequence (kDa)to calculate Oligomeric State (e.g., Monomer/Dimer). - The Vc-based MW is displayed automatically.
- Enter
-
P(r) Analysis (BIFT):
- Enter an estimated
Dmax (Å)(or leave blank to auto-estimate from Rg). - (Optional) Set
q_min/q_maxlimits. - Click
Run BIFT.
- Enter an estimated
-
Output: All plots (PNG/SVG) and fit data (
.ift,.txt) are saved automatically in a_Sexier_outfolder.
Purpose: Comparison, Superimposition, and Figure Generation.
- Auto-Unit Detection: Detects if data is in nm⁻¹ and converts to Å⁻¹.
-
Drag & Drop: Easily load multiple
.datfiles to compare them. - Superimpose: One-click normalization by I(0) to overlay curves.
- Log-Log Toggle: Quickly switch visualization modes.
- Batch Guinier: Can run the "Sexier" auto-algorithm on a list of files.
- Averaging: Can average a selection of normalized files.
- Load Data: Drag files onto the list or use the browse button.
-
Analyze:
- Click
Auto-Processto calculate Rg and I(0) for all loaded files. - Or refine specific files manually.
- Click
-
Compare:
- Click
Superimposeto normalize curves. - Toggle
Log-Log Plotto inspect features.
- Click
-
Export:
- Click
Save Full Report. - This generates a folder containing:
- Comparison Curves (Plots).
- Summary Table (Excel-compatible text).
- Source Data (Individual text files for replotting in Origin/Excel).
- Click
Guinier Approximation: $$ ln(I(q)) = ln(I(0)) - \frac{R_g^2}{3} \cdot q^2 $$
Molecular Weight (Vc):
Calculated using the Volume of Correlation (
BIFT (Bayesian Inverse Fourier Transform): Uses a Bayesian approach to infer the P(r) distribution, minimizing the need for manual alpha-parameter tuning compared to traditional methods (like GNOM).