
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 are participating as an independent organization.
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 1400 citations to date. A new version, MZmine 3, which is currently under development, is based on JavaFX for its user interface.For students - 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 timeline in your calendar. We welcome applications from all students, but especially from those interested in chemistry, biology, and/or mass spectrometry. 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, so we can get an idea about your coding skills. For more information and to apply, please contact the MZmine GSoC administrators by email: (mzmine@mzmine.org).Project ideas
cliqueMS implementation
Brief explanation: Provide a native Java implementation of the cliqueMS algorithm and corresponding GUI elements (e.g., a graph (network) visualization module) in MZmine. The grouping and annotation results from CliqueMS could then be exported for subsequent analysis in the ion identity molecular networking workflow on the GNPS web-server.Prerequisites: Java, JavaFX
Mentor: Oscar Yanes (oscar.yanes@urv.cat), Robin Schmid (robinschmid@uni-muenster.de)
Automatic mass calibration support
Brief explanation: Develop new modules for mass spectra calibration using internal standards and statistical error detection. Add the corresponding GUI elements to MZmine.Prerequisites: Java, JavaFX
Mentor: Albert Rivas Ubach (albert.rivas.ubach@pnnl.gov)
Feature detection algorithms
Brief explanation: Provide a native Java implementation of some popular LC-MS feature detection algorithms like centWave, massifquant, HDBSCAN, etc.Prerequisites: Java, preferably basic knowledge about mass spectrometry or signal processing
Mentor: Xiuxia Du (xiuxia.du@uncc.edu)
mzTab-M and mzMLb file format support
Brief explanation: mzTab-M is a new tabulated data format for metabolomics experiments. mzMLb is a new format for raw mass spectrometry datasets. Add support for mzTab-M and mzMLb formats and corresponding GUI elements to MZmine. A Java library for parsing mzTab-M already exists. After the implementation of mzTab-M, to reduce the memory footprint, this format could be used to export all feature lists into temporary files that are only loaded into memory when needed. The goal would be to increase the maximum number of samples MZmine can process. The final idea is to change the project file structure and make use of the mzTab-M format and spectral data formats (mzML, mzMLb, [..]) to reduce the project file size and time for loading and saving.Prerequisites: Java
Mentor: Nils Hoffmann (nils.hoffmann@isas.de), Tomáš Pluskal (pluskal@wi.mit.edu)
Spectral identification
Brief explanation: Improve the existing support for mass spectral databases by adding more database formats (e.g., Massbank Europe), matching algorithms (e.g., X-Rank), fine isotope matching, etc. Add support for finding spectra using SPLASH or Metabolomics Spectrum Identifier Resolver.Prerequisites: Java
Mentor: Robin Schmid (robinschmid@uni-muenster.de)
MetFrag support
Brief explanation: Implement a Java binding and GUI elements for the metabolite identification platform MetFrag.Prerequisites: Java, JavaFX
Mentor: Emma Schymanski (emma.schymanski@uni.lu)
High-resolution and multiple-charge deisotoping
Brief explanation: Develop a new module for ultra-high mass resolution isotope pattern recognition and filtering. One task is to detect the isotope pattern of chemical compounds with their precise signal ratios (averaged over multiple mass spectra) to help annotate the molecular formula of this compound. The other task is to filter out isotope signals that originate from the same compound to improve and dereplicate downstream analysis. The challenge is to distinguish whether a signal originates from a monoisotopic compound or another isotope. In complex samples, the isotope pattern of multiple compounds and ion species might overlap.Prerequisites: Java
Mentor: Daniel Petras (dpetras@ucsd.edu), Robin Schmid (robinschmid@wwu.de)
New visualization modules
Brief explanation: Implement new JavaFX-based visualization modules for MZmine such as Cloud Plot and Robust Volcano Plot. This project could also include the development of a new modular JavaFX data analysis window (e.g., using DockFX). Such a window would combine different charts (spectra, chromatograms, statistics, [..]) and tables, and create links and controls between them.Prerequisites: Java, JavaFX
Mentor: Ansgar Korf (a_korf03@uni-muenster.de), Robin Schmid (robinschmid@wwu.de
Ion mobility data support
Brief explanation: Develop new modules for ion mobility data import and visualization.Prerequisites: Java, JavaFX
Mentor: Aivett Bilbao Pena (aivett.bilbao@pnnl.gov)
KNIME integration
Brief explanation: Develop an integration layer for MZmine algorithms into the workflow platform KNIME.Prerequisites: Java
Mentor: Tomáš Pluskal (pluskal@wi.mit.edu)