A new open‑source Python package named Eclipse has just been released in Bioinformatics Magazine (June 2025) to handle complex alignment tasks in untargeted liquid chromatography–mass spectrometry data oai_citation:0‡academic.oup.com. Built around a novel graph‑based matching algorithm, Eclipse achieves more accurate retention time correction and peak matching—especially useful when analyzing large datasets collected across multiple batches or instruments.
Key Developer Features
- Graph-based alignment across N samples simultaneously
- Automated retention time and intensity scaling
- Support for downstream metabolomics tools like MS-DIAL, XCMS, and MZmine
- Output aligned tables in CSV or Pandas DataFrame formats for easy post‑processing
Quick Start
Install via pip:
pip install eclipse‑lcms
Basic usage example:
from eclipse import EclipseAligner
files = ["run1.mzML", "run2.mzML", "run3.mzML"]
aligner = EclipseAligner(files)
aligned_table = aligner.align()
aligned_table.to_csv("aligned_peaks.csv")
Eclipse builds a graph of retention times across runs, identifying common peaks and adjusting for drift. It includes helper functions for parameter tuning, visual inspection, and exporting alignment quality metrics. Graph summaries can be plotted via:
aligner.plot_alignment_graph("graph.png")
Why It Matters
Untargeted LC‑MS workflows are plagued by batch effects and retention drift, which complicate comparative metabolomics analyses. Eclipse offers a transparent, reproducible solution with high scalability for cohort‑scale studies. Its graph approach also provides clear insights into alignment quality, making data preprocessing more interpretable.
Integrating Eclipse into bioinformatics pipelines helps automate and standardize preprocessing, enabling more reliable metabolite identification and downstream statistical analysis.
Next Steps
- Integrate with pre-processing pipelines using Snakemake or Nextflow
- Export aligned output as mzTab-M database for database deposition
- Contribute feature requests or bug reports via the GitHub repo
Source
https://academic.oup.com/bioinformatics/advance-article/doi/10.1093/bioinformatics/btaf290/8128335
Top comments (0)