BeELISA is a cross-platform desktop application for the standardized and reproducible analysis of enzyme-linked immunosorbent assay (ELISA) data in biomedical research.
This software was developed as part of the Bachelor thesis:
Statistical Evaluation of Glycoprotein Biomarkers in Cancer Using an Analytical Application for ELISA Data Processing and Biomarker Pattern Recognition
Aun Al Atiat Brandenburg University of Technology Cottbus-Senftenberg Faculty 2 (Environment and Natural Sciences), Institute of Biotechnology. 2026
BeELISA provides a structured workflow for quantifying protein biomarkers from 96-well plate ELISA experiments. It covers the complete analytical pipeline: raw optical density (OD) import, standard curve fitting, concentration back-calculation, quality control assessment, and correlation with clinical metadata.
The application was developed with reproducibility as a primary objective. All analytical parameters — including curve model selection, clinical metadata parsers (e.g., TNM, UICC), and detection threshold definitions — are dataset-specific yet designed to remain reusable across different datasets. Clinical metadata parsers are applied only when the corresponding columns (e.g., “TNM” or “UICC”) are present in the dataset.
Standard Curve Fitting
Calibrant OD measurements are fitted to the following models:
- Linear regression
- Log-linear regression
- Exponential regression
- Four-parameter logistic (4PL)
- Five-parameter logistic (5PL)
Model selection is performed automatically using the Bayesian Information Criterion (BIC), which penalizes model complexity. The model with the lowest BIC is applied to back-calculate unknown concentrations via the inverse curve function.
![]() |
![]() |
Limits of Detection and Quantification
The limit of detection (LOD) and limit of quantification (LOQ) are calculated from blank or negative control replicates:
- LOD = mean(blank) + 3 * SD(blank)
- LOQ = mean(blank) + 10 * SD(blank)
When per-plate blank replicates are insufficient, a global estimate pooled across all plates is used as a fallback.
Inter-Plate Factor Correction
When multiple plates are analyzed together, systematic differences in signal intensity between plates (e.g., due to different reagent lots, incubation conditions, or plate reader variation) can bias concentration estimates. BeELISA implements a multiplicative inter-plate factor correction based on calibrant wells, analogous to the ΔΔCt normalisation used in qPCR. (Ruijter et al., 2015 — Between-run correction for multi-plate qPCR experiments. Biomolecular Detection and Quantification.) (https://doi.org/10.1016/j.bdq.2015.07.001)
For each calibrant dilution level k, the across-plate median OD of all plates is used as a reference r_k. A plate-specific correction factor is then computed as:
F_plate = exp( median_k( log( m_{p,k} / r_k ) ) )
where m_{p,k} is the median OD of calibrant replicates for plate p at level k, and the outer median is taken over all valid calibrant levels (those with r_k > 0). Corrected ODs are obtained by dividing all wells on the plate by F_plate. LOD and LOQ thresholds are scaled by the same factor.
If plates are assigned to groups, correction factors are computed independently within each group so that between-group biological differences are preserved.
Quality Control
Replicate agreement is assessed by the coefficient of variation (CV):
- Calibrant replicates: warning threshold > 15%
- Sample and control replicates: warning threshold > 20%
![]() |
![]() |
![]() |
Clinical Correlation
Quantified biomarker concentrations are correlated with ordinal clinical staging variables (TNM classification, UICC stage) using Spearman rank correlation. Multiple testing correction is applied using the Benjamini-Hochberg false discovery rate (FDR) procedure. Pattern visualization uses locally weighted scatterplot smoothing (LOWESS). Batch effects across plates are assessed by principal component analysis (PCA) of plate-level QC metrics.
![]() |
![]() |
ROC / Diagnostic Performance Analysis
When a binary clinical outcome is available (e.g. disease vs control), BeELISA evaluates the diagnostic performance of the biomarker using Receiver Operating Characteristic (ROC) analysis.
The ROC curve is generated by varying the decision threshold of the selected score variable (e.g. concentration or OD value) and calculating the corresponding sensitivity (true positive rate) and false positive rate (1 − specificity).
Overall classification performance is summarized by the area under the ROC curve (AUC):
- AUC = 0.5 indicates random classification
- AUC = 1.0 indicates perfect discrimination
The optimal cutoff value is determined using the Youden index (sensitivity + specificity − 1), which identifies the threshold that maximizes the combined sensitivity and specificity.
The ROC plot reports:
- AUC with 95% confidence interval
- Optimal cutoff value
- Sensitivity and specificity at the cutoff
- Sample sizes of the positive and negative groups
Uncertainty of the ROC curve is estimated using bootstrap resampling to generate a 95% confidence band.
- Import of raw plate reader data (CSV, Excel) for standard 96-well plates
- Configurable well classification: calibrant, sample, blank, negative control, positive control
- Automatic standard curve model selection via BIC
- Per-plate and global LOD/LOQ calculation
- CV-based replicate QC with configurable thresholds
- Dilution factor correction
- per group Multiplicative inter-plate factor correction of standard curves
- Result classification: below detection, borderline, quantifiable
- TNM/UICC clinical staging integration
- Spearman correlation with Benjamini-Hochberg FDR correction
- Plate-level PCA for batch effect visualization
- ROC-based diagnostic performance analysis with AUC estimation, optimal cutoff determination (Youden index), and sensitivity/specificity reporting
- Session save and restore (.beelisa format)
- Cross-platform: Windows, macOS, Linux
![]() |
![]() |
![]() |
![]() |
Links above always point to the latest release. All releases and release notes are on the Releases page.
BeELISA is implemented in Python and built as a native desktop application using the BeeWare ecosystem.
The graphical user interface (GUI) is developed with:
- BeeWare Toga — a native, cross-platform GUI toolkit for Python.
Application packaging and distribution are handled using:
- BeeWare Briefcase — a tool for building standalone installers for Windows, macOS, and Linux.
The BeeWare project enables Python applications to run as fully native desktop software without requiring users to install Python separately.
For more information, see:
- BeeWare: https://beeware.org
- Toga: https://beeware.org/project/projects/libraries/toga/
- Briefcase: https://beeware.org/project/projects/tools/briefcase/
Development Dependencies
Python 3.11+
- Core libraries:
- pandas>=2.2,<2.4 numpy>=1.26,<2.0 scipy==1.13.1 scikit-learn>=1.4,<1.6 matplotlib>=3.8,<3.11 seaborn==0.13.2 openpyxl>=3.1,<4.0 toga
Copyright (C) 2026 Aun Al Atiat.
This software is distributed under the terms of the
GNU General Public License v3.0 (GPLv3) or any later version.
See the LICENSE file for the full license text.
If you use BeELISA in research, please cite the associated thesis:
Al Atiat, A. (2026). Statistical Evaluation of Glycoprotein Biomarkers in Cancer Using an Analytical Application for ELISA Data Processing and Biomarker Pattern Recognition. Bachelor thesis, Brandenburg University of Technology Cottbus-Senftenberg.











