This page is for collecting project ideas that can be implemented during the Google Summer of Code. In 2017, 2018, and 2019, MZmine participated in GSoC under the OpenChemistry umbrella organization. Our experience has been fantastic, and in 2020 we were accepted as an independent organization. We hare happy to join GSoC again in 2022!



About MZmine

Mass spectrometry is an analytical technique that measures the mass of small molecules with high precision. The data coming from mass spectrometry instruments is complex and multi-dimensional. MZmine is an open-source graphical software for mass-spectrometry data processing. It is very popular among academic labs that work on metabolomics - the publication about MZmine 2 has received over 2500 citations to date. A new version, MZmine 3, which is currently in the final stages of development, is based on JavaFX for its user interface.



For GSoC contributors - how to apply

Please check out Google's FAQ and see if you’re eligible for the GSoC. Also, make careful note of the GSoC 2022 timeline in your calendar. We welcome applications from all contributors, but especially from those interested in chemistry, biology, and/or mass spectrometry. Please feel free to reach out to individual mentors if there is a specific project you are interested in. As part of the application process, we may ask you to work on simple, outstanding issues on our Github page, or to implement a small piece of code so we can get an idea about your coding skills. For more information and to apply, please contact the MZmine GSoC administrators by email: (gsoc@mzmine.org).



Project ideas

Collision cross section database support

Brief explanation: Add support for searching public collision cross section databases such as AllCCS or CCSBase using ion mobility mass spectrometry measurements. Furthermore, implement machine learning-based prediction of unknown molecules via web APIs of those databases.
Expected project size: 175 hour
Difficulty: medium
Expected outcome: a new MZmine module with GUI, expansion of core data model
Prerequisites: Java, web API
Possible mentor: Steffen Heuckeroth


Ion mobility data format support

Brief explanation: Add support for new data formats of ion mobility-mass spectrometry data. Data from additional formats shall be read into the MZmine software using the existing data structures. There are libraries for reading vendor-specific binary formats, which can be used for accessing the internal structures. We will primarily target the Waters .raw data format but can also expand to other vendors.
Expected project size: 175 hour
Difficulty: easy
Prerequisites: Java, Java Native Access (JNA), brief C++ helpful but not mandatory
Possible mentor: Steffen Heuckeroth


Mass Spectrometry Query Language Integration

Brief explanation: Develop support for the Mass Spectrometry Query Language (MassQL) in MZmine. MassQL is a simplified way for users to query for signals and patterns in complex mass spectrometry data across millions of mass spectra. In the first step, the MassQL web API will parse queries into json representations to filter and visualize mass spectrometry data in MZmine. In a second step, a java library should implement a parser and engine to handle MassQL queries and drive further development in MZmine.
Expected project size: 175 hour
Expected outcome: Advanced query options for mass spectrometry data, JavaFX user interfaces
Difficulty: easy
Prerequisites: Java, JavaFX
Possible mentor: Robin Schmid


Interactive Molecular Networking Visualizer

Brief explanation: Visualize mass spectrometry data as a graph to enrich and propagate metadata and annotations throughout networks of (bio-)chemical information. Molecular Networking as a tool to link mass spectrometric patterns drives the elucidation of novel natural products. A visualizer in MZmine will be a core visualization that links to other visualization and analysis options. After implementation of a networking visualizer, the approach can be extended to other mapping algorithms like t-SNE.
Expected project size: 350 hour
Expected outcome: Performant graph visualization in JavaFX, combined with statistics, and other views
Difficulty: medium
Prerequisites: JavaFX
Possible mentor: Robin Schmid


Import module for SIRIUS results

Brief explanation: MZmine can export its results into the SIRIUS software for computational structure elucidation. However, currently MZmine lacks a module to import the SIRIUS results back into the workspace.
Expected project size: 175 hour
Expected outcome: A new module to import and display the result files generated by SIRIUS
Difficulty: medium
Prerequisites: Java
Possible mentor: Robin Schmid


New visualization modules

Brief explanation: Implement new JavaFX-based visualization modules for MZmine such as Cloud Plot and Robust Volcano Plot. This project requires active use of JavaFX and chart plotting libraries - we mostly use JFreeChart.
Expected project size: 175 hour
Difficulty: easy
Prerequisites: Java, JavaFX
Possible mentor: Tomas Pluskal