PyFasma: an open-source, modular Python package for preprocessing and multivariate analysis of Raman spectroscopy data
Raman spectroscopy is a versatile, label-free technique for probing molecular composition in biological samples. However, the detection of subtle biochemical traits in high-throughput spectral datasets requires careful preprocessing, dimensionality reduction, and statistically sound analytical strategies. We present PyFasma, an open-source Python package for Raman spectroscopy, integrating essential preprocessing tools (<i>e.g.</i>, spike removal, smoothing, baseline correction, normalization), multivariate techniques (PCA, PLS-DA), and spectral deconvolution within a modular, Jupyter Notebook-friendly framework. In addition to describing the software, we demonstrate PyFasma's capabilities through a practical biomedical case study comparing Raman spectra from healthy and osteoporotic cortical bone samples. The results revealed statistically significant differences in mineral-to-matrix ratio and crystallinity between assigned groups, with PCA and PLS-DA successfully distinguishing pathological from normal bone spectra. PyFasma encourages best practices in model validation, including the powerful but often overlooked, repeated stratified cross-validation, enhancing the generalizability of multivariate analyses. It also offers an easy-to-use, extensible solution for Raman data analysis, enabling the reproducible and robust interpretation of complex spectra of biological samples.
Authors
- N. Kourkoumelis (ORCID: https://orcid.org/0000-0003-3264-2406)
- Eleftherios Pavlou
Institutions
- University of Ioannina (GR)
Publication Details
- Journal
- The Analyst
- Published
- 2025-01-01
- DOI
- https://doi.org/10.1039/d5an00452g
- Citations
- 3
- Primary Topic
- Spectroscopy Techniques in Biomedical and Chemical Research
- Type
- article
- Field-Weighted Citation Impact
- 4.90
Funders
- European Commission
- State Scholarships Foundation
- European Social Fund