title: MzJava: An open source library for mass spectrometry data processing.
abstract: Mass spectrometry (MS) is a widely used and evolving technique for the high-throughput identification of molecules in biological samples. The need for sharing and reuse of code among bioinformaticians working with MS data prompted the design and implementation of MzJava, an open-source Java Application Programming Interface (API) for MS related data processing. MzJava provides data structures and algorithms for representing and processing mass spectra and their associated biological molecules, such as metabolites, glycans and peptides. MzJava includes functionality to perform mass calculation, peak processing (e.g. centroiding, filtering, transforming), spectrum alignment and clustering, protein digestion, fragmentation of peptides and glycans as well as scoring functions for spectrum-spectrum and peptide/glycan-spectrum matches. For data import and export MzJava implements readers and writers for commonly used data formats. For many classes support for the Hadoop MapReduce (hadoop.apache.org) and Apache Spark (spark.apache.org) frameworks for cluster computing was implemented. The library has been developed applying best practices of software engineering. To ensure that MzJava contains code that is correct and easy to use the library's API was carefully designed and thoroughly tested. MzJava is an open-source project distributed under the AGPL v3.0 licence. MzJava requires Java 1.7 or higher. Binaries, source code and documentation can be downloaded from http://mzjava.expasy.org and https://bitbucket.org/sib-pig/mzjava. This article is part of a Special Issue entitled: Computational Proteomics.
authors.affiliation: Proteome Informatics Group, SIB Swiss Institute of Bioinformatics, Geneva 1211, Switzerland; Centre Universitaire de Bioinformatique, University of Geneva, Geneva 1211, Switzerland.
authors.forename: Oliver
authors.initials: O
authors.lastname: Horlacher
authors.affiliation: Proteome Informatics Group, SIB Swiss Institute of Bioinformatics, Geneva 1211, Switzerland.
authors.forename: Frederic
authors.initials: F
authors.lastname: Nikitin
authors.affiliation: Proteome Informatics Group, SIB Swiss Institute of Bioinformatics, Geneva 1211, Switzerland; Centre Universitaire de Bioinformatique, University of Geneva, Geneva 1211, Switzerland.
authors.forename: Davide
authors.initials: D
authors.lastname: Alocci
authors.affiliation: Proteome Informatics Group, SIB Swiss Institute of Bioinformatics, Geneva 1211, Switzerland.
authors.forename: Julien
authors.initials: J
authors.lastname: Mariethoz
authors.affiliation: Proteome Informatics Group, SIB Swiss Institute of Bioinformatics, Geneva 1211, Switzerland; Centre Universitaire de Bioinformatique, University of Geneva, Geneva 1211, Switzerland. Electronic address: markus.mueller@isb-sib.ch.
authors.forename: Markus
authors.initials: M
authors.lastname: Müller
authors.affiliation: Proteome Informatics Group, SIB Swiss Institute of Bioinformatics, Geneva 1211, Switzerland; Centre Universitaire de Bioinformatique, University of Geneva, Geneva 1211, Switzerland. Electronic address: Frederique.Lisacek@isb-sib.ch.
authors.forename: Frederique
authors.initials: F
authors.lastname: Lisacek
mesh_terms: D000595:Amino Acid Sequence; D003628:Database Management Systems; D030562:Databases, Protein; D016247:Information Storage and Retrieval / Q000379:methods*; D013058:Mass Spectrometry / Q000379:methods*; D008969:Molecular Sequence Data; D010449:Peptide Mapping / Q000379:methods; D011381:Programming Languages; D011506:Proteins / Q000737:chemistry*; D020539:Sequence Analysis, Protein / Q000379:methods; D014584:User-Computer Interface
chemical_list: D011506:Proteins
keywords: Glycomics; Hadoop; Java; Mass spectrometry; Proteomics; Spark