OpenMS Invites the Computational Mass Spectrometry Community to Join Google Summer of Code 2026!
Google Summer of Code (GSoC) 2026 OpenMS is planning to apply as an umbrella organization and we would like to extend an invitation to other projects and groups within the computational mass spectrometry and proteomics/metabolomics communities to join us in this effort.
GSoC Contributors
- Make sure you are eligible to participate in GSoC 2026.
- Review the list of themes and the projects available within. If you have specific questions about a project, our mentors are active on Discord and we will happily assist you.
- Follow our instructions below on how to submit a proposal to us.
Submitting an Application:
- Proposal must be uploaded to the GSoC webpage before the official deadline. Ensure your CV and contact information are included in the proposal document.
- We highly recommend to get in touch with the mentors before submitting your proposal.
Available Projects
Theme A) Data Formats and Interoperability
1) imzML Parser in OpenMS
Proposed Mentors: OpenMS Team
Skills: C++, XML Parsing, Mass Spectrometry Imaging
Estimated Project Length: 350 hours | Difficulty: Medium
Mass spectrometry imaging (MSI) is a powerful analytical technique that enables spatial mapping of molecules in biological tissues. The imzML format is the open standard for storing MSI data, consisting of two files: an XML metadata file and a binary data file. While imzML is widely used in the MSI community, OpenMS currently lacks native support for reading and writing this format.
The goal of this project is to implement a robust imzML parser in OpenMS, enabling seamless integration of mass spectrometry imaging data into existing OpenMS workflows.
Tasks:
- Implement a C++ imzML reader that can parse both continuous and processed imzML formats.
- Implement an imzML writer to enable export of imaging data.
- Add support for common imzML metadata (coordinates, pixel size, spectrum parameters).
- Integrate the parser with existing OpenMS data structures (MSExperiment, MSSpectrum).
- Write comprehensive unit tests and validate against reference imzML datasets.
- Document the new functionality and provide usage examples.
2) Full Python Bindings Using Nanobind
Proposed Mentors: OpenMS Team
Skills: Python, C++, Nanobind, Cython
Estimated Project Length: 350 hours | Difficulty: Medium to Advanced
PyOpenMS provides Python bindings for OpenMS, enabling Python developers to access the powerful mass spectrometry algorithms implemented in OpenMS. Currently, these bindings are generated using Cython via the autowrap package. While functional, this approach has limitations in terms of maintenance overhead, compile times, and certain Python integration features.
Nanobind is a modern C++17 library for creating Python bindings with minimal overhead. An existing prototype demonstrates the feasibility of using nanobind for OpenMS Python bindings. This project aims to build upon this prototype to create comprehensive nanobind-based Python bindings for OpenMS.
A key deliverable of this project is a thorough evaluation comparing nanobind-based bindings against the current autowrap/Cython implementation. This evaluation should cover:
- Performance: Binding overhead, memory usage, call latency
- Build System: Compile times, dependency management, CI/CD integration
- Usability: Python API ergonomics, documentation generation, IDE support
- Maintenance: Code complexity, debugging experience, update workflow
- Compatibility: Python version support, platform compatibility, NumPy/SciPy integration
Tasks:
- Evaluate the existing nanobind prototype and identify gaps in coverage.
- Extend the nanobind bindings to cover core OpenMS classes and algorithms.
- Implement automatic binding generation where feasible to reduce maintenance burden.
- Conduct systematic benchmarking comparing nanobind vs. autowrap/Cython bindings.
- Document advantages and disadvantages of each approach with concrete examples.
- Write unit tests ensuring feature parity with existing PyOpenMS functionality.
- Provide a recommendation report for future binding strategy based on findings.