Skip to content

BeppeMagro/SDAnext

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

43 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿงฌ SDAnext โ€“ Survival Data Analysis in MATLAB ๐Ÿ“Š

DOI

๐ŸŒŸ Overview

SDAnext is a MATLAB-based application for the analysis of cell survival fraction data in radiation biology and doseโ€“response studies. It provides an intuitive graphical user interface (GUI) designed to support both routine analyses and exploratory model comparisons.

โญ Feature ๐Ÿ“ Description
๐Ÿ“‚ Data validation Automatic checks and preprocessing
๐Ÿ“ˆ Model fitting Multiple radiobiological survival models
โš–๏ธ Weighted fits Inverse-variance weighting when SDs are available
๐Ÿ” Model scanning Comparison of successfully converged and interpretable models
๐Ÿงฌ Multisession viewer Overlay and styling of multiple datasets
๐ŸŽฏ RBE analysis SF-based and dose-based RBE computation

๐Ÿ“š Citation

If you use SDAnext in your research, please cite the associated publication:

Magro, G. (2026). SDAnext: an open-source MATLAB application for survival data analysis in radiobiology.
International Journal of Radiation Biology, 1โ€“9.
https://doi.org/10.1080/09553002.2026.2637702

If you specifically reference the software implementation, you may also cite the repository:

Magro, G. (2026). SDAnext (vX.Y): Survival Data Analysis. GitHub.
https://github.com/BeppeMagro/SDAnext

๐Ÿ‘‰ Replace vX.Y with the version number used in your work.

SDAnext is released under the Apache License 2.0.


๐Ÿš€ Installation

๐Ÿ’ป System Requirements

  • Operating System:
    • Windows only (standalone executable available)
    • ๐ŸŽ macOS / ๐Ÿง Linux: source code only; standalone executable not available
  • ๐Ÿงฎ MATLAB Version: R2023a or later (running from source)
  • ๐Ÿ”ง MATLAB Runtime: R2023a (standalone executable)
  • ๐Ÿ“ฆ Required Toolbox: Curve Fitting Toolbox

โš ๏ธ At present, SDAnext is distributed as a standalone application only for Windows (.exe). No macOS or Linux standalone binaries are provided.

๐Ÿ“ฅ Standalone Executable for Windows (No MATLAB Required)

If you do not have MATLAB installed:

  1. ๐Ÿ› ๏ธ Install MATLAB Runtime (required only once):
    • ๐ŸŒ Download MATLAB Runtime R2023a from MathWorks:
      • ๐Ÿ”‘ You'll need administrator rights for installation.
  2. ๐Ÿ“ฆ Download SDAnext Executable
    • ๐Ÿ”น Option A โ€“ GitHub Releases section (recommended)
      • Precompiled versions of SDAnext are available under the Releases section on GitHub.
      • Each release corresponds to a specific software version.
      • The Windows executable SDAnext_vX.Y.exe is directly visible and downloadable.
      • In this case, simply download the .exe file.
    • ๐Ÿ”น Option B โ€“ GitHub Code page
      1. Go to the main GitHub repository page.
      2. Click the green Code button and select Download ZIP.
      3. Extract the ZIP archive to your preferred location.
      4. Navigate to the build directory and open the most recent subfolder named YYYY-MM-DD-<index> (these names reflect the date and sequence number of each build) and find the .exe file.

๐Ÿ’ก Tip: Once you've found the executable, you can copy SDAnext_vX.Y.exe anywhere on your computer (e.g., Desktop, Documents, etc.). You may also delete the rest of the downloaded files if you no longer need them.

๐Ÿš€ Launch the application by double-clicking SDAnext_vX.Y.exe.

๐Ÿšซ macOS and Linux users cannot currently run SDAnext as a standalone application, as no platform-specific executables are available.

๐Ÿงฉ About MATLAB Runtime

To run the application, MATLAB Runtime (R2023a) must be installed only once on your system.

  • If it's already installed, you donโ€™t need to install it again.
  • If you re-download a new version of SDAnext compiled with a different MATLAB version in the future, you'll need the matching version of the Runtime.

๐Ÿ“„ In that case, refer to the specific readme.txt file found in the corresponding build/YYYY-MM-DD-* folder for updated instructions.

โš™ Running from MATLAB (For Developers)

  1. ๐Ÿ“‚ Open MATLAB and navigate to the SDAnext folder:
    cd path_to_SDAnext
  2. ๐Ÿš€ Launch the app:
    • ๐ŸŽจ Open SDAnext.mlapp in App Designer and click Run.
    • โŒจ๏ธ Or execute in the MATLAB command window:
      app = SDAnext;

๐Ÿ”Ž Input File Format

Plain text input files must contain:

  • Dose (Gy)
  • Survival Fraction (0โ€“1)
  • Optional: Standard Deviation (used for weighting)

๐Ÿ“Œ Metadata lines start with ! and support:

  • Title
  • DisplayName
  • Color

๐Ÿ’ฌ Comment lines starting with # are ignored and may appear anywhere.

Example:

!Title='Radiation Dose Response Data'
!DisplayName='Sample Curve A'
!Color='Blue'
1.0 0.90 0.05
2.0 0.80 0.05
3.0 0.70 0.04
4.0 0.60 0.03

โž• If a data point at dose = 0 and SF = 1 is missing, it is added automatically. ๐Ÿ“ Data are sorted by ascending dose before fitting.


๐Ÿ’ก Basic Workflow

SDAnext is organized around two main tabs, corresponding to two complementary analysis stages: Fitter and Viewer.

๐Ÿ”ฌ Fitter Tab โ€“ Survival Curve Fitting

The Fitter tab is dedicated to loading experimental data, fitting survival models, and inspecting fit quality and parameters.

Typical workflow:

  1. ๐Ÿ“‚ Load experimental data

    • Load one or more datasets using the Data Loader panel (.txt or .mat). Data are automatically validated and preprocessed.
  2. ๐Ÿงฎ Select a survival model

    • Choose among the available models:
      • Linear (L)
      • Quadratic (Q)
      • Linearโ€“Quadratic (LQ)
      • Linearโ€“Quadraticโ€“Cubic (LQC)
      • Linearโ€“Quadraticโ€“Linear (LQL)
  3. โš™๏ธ Configure fit options

    • Adjust bounds, initial guesses, weighting options, and confidence interval settings as needed.
  4. โ–ถ๏ธ Run the fit

    • Click Fit Data to perform the curve fitting. When experimental standard deviations are provided, weighted least squares are applied automatically.
  5. ๐Ÿ“Š Inspect results

    • View fitted curves overlaid on experimental data
    • Inspect fitted parameters and uncertainties
    • Examine goodness-of-fit metrics (RMSE, adjusted R-square, normalized SSE)
  6. ๐Ÿ” Model scanning (optional)

    • Use the Scan available models function to automatically test all supported models and compare only those that successfully converge and yield statistically meaningful results.
  7. ๐Ÿ” Bidirectional interpolation (optional)

    • Use the Interpolator tool to compute:
      • Dose โ†’ Survival Fraction
      • Survival Fraction โ†’ Isoeffective Dose

๐Ÿ“ˆ Viewer Tab โ€“ Multi-session Analysis and RBE

The Viewer tab is designed for comparative analyses across multiple datasets and fitted models, including RBE evaluation.

Typical workflow:

  1. ๐Ÿ“ฅ Load a session file
    • Import one or more previously fitted sessions (.mat files) generated in the Fitter tab.
  2. ๐Ÿงฌ Manage multiple datasets
    • Overlay multiple experimental curves and fitted models in a single plot. Styling options allow customization of colors, markers, and line styles.
  3. ๐ŸŽฏ Select the reference model
    • Explicitly choose the reference curve using the dedicated drop-down menu. The selected reference defines the baseline for RBE calculations.
  4. ๐Ÿงฎ Compute RBE
    • Trigger RBE computation using the Compute RBE control. Two evaluation modes are supported:
      • Survival-fractionโ€“based RBE: RBE at fixed SF values
      • Dose-based RBE: RBE at fixed reference doses (e.g. 2 Gy)
  5. ๐Ÿ’พ Export results
    • Export RBE tables and related quantities in a structured text format for downstream statistical or clinical analyses.

๐Ÿ”ฌ Scientific Background

SDAnext implements survival models commonly used in radiation biology, based on the linear-quadratic model:

$SF = e^{-\alpha D - \beta D^2}$

where:

$D$ = Radiation dose (Gy) $SF$ = Survival fraction $\alpha$, $\beta$ = Model parameters

Other supported models extend this equation with cubic or dose threshold-based corrections.


๐Ÿ› ๏ธ Troubleshooting

๐Ÿ”ด Application does not start?

  • โœ”๏ธ Ensure that MATLAB Runtime (R2023a) is installed.
  • โœ”๏ธ Try running the application as an administrator.

๐ŸŸ  MATLAB Runtime is missing or incorrect version?

  • โœ”๏ธ Uninstall any older versions and reinstall MATLAB Runtime R2023a.

  • โœ”๏ธ Check your installation using this command in the terminal:

    matlab -batch "ver"

๐Ÿ—‘๏ธ Uninstallation

To uninstall SDAnext, simply delete the installation folder. To remove MATLAB Runtime, use the Control Panel (Windows) or the systemโ€™s package manager (macOS/Linux).

๐Ÿค Contributing

We welcome contributions! If you'd like to improve the app, feel free to:

  • ๐Ÿž Report issues via GitHub Issues.
  • ๐Ÿš€ Submit pull requests for new features or bug fixes.

๐Ÿ“œ License

SDAnext is released under the Apache-2.0 License. See the LICENSE file for details.

๐Ÿ’ฐ Funding

This work was funded by the National Plan for NRRP Complementary Investments (PNC) in the call for the funding of research initiatives for technologies and innovative trajectories in the health โ€“ project n. PNC0000003 โ€“ AdvaNced Technologies for Human-centrEd Medicine (project acronym: ANTHEM โ€“ Cascade Call launched by SPOKE 3 POLIMI: PRECISION).

๐Ÿ“ง Contact

For questions or support, contact: giuseppe.magro@cnao.it

About

MATLAB-based toolkit for radiation dose-response analysis, including data validation, model selection, curve fitting, and dose inversion. Supports multiple survival fraction models (L, Q, LQ, LQC, LQL).

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages