Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


License Open Issues Open PRs Contributors Watchers Stars

HUPO-PSI standardized spectral library format
mzSpecLib is a formal standard and file format in development at HUPO-PSI to store and distribute spectral libraries/archives. The target main target audience for this format are the developers of spectral library search tools and resources.


Over past years several file formats have been created to store and disseminate spectral libraries, such as MSP, X!Hunter binary MGF, BiblioSpec SQLite and SSL/MS2, SpectraST SPLIB/SPTXT, MassBank formats, Spectronaut CSV...

Each spectral library provider uses one of these formats. For example, PeptideAtlas uses splib, PRIDE uses MSP, GPMDB uses X!Hunter binary MGF, and NIST uses MSP. Some spectral library search engines support multiple formats, and some do not, making it difficult to share libraries and compare spectral library searching tools. In the proteomics community, there has been a long-standing effort to standardize raw mass spectrometric data and the results of data analysis, primarily identification. But spectral libraries straddle the boundary between the two and cannot be adequately served by either efforts.

As there remains much fluidity and disagreement in what information should go into a spectral library, the format must be flexible enough to fit all the potential use cases of spectral libraries, and yet retain sufficient structure for it to be a practically useful standard.


The new format is being developed by the PSI-MS working group. This repository is used as a central point of information regarding the format's development:

Currently, the project's progress can be split up into the development of the main specification and into a Python implementation of this specification.


All community input is welcome! Feel free to join the discussions in the Issue tracker or to open a new issue if you have questions, recommendations or requests. Additionally, everyone is allowed to post comments in the Google documents or to request full write access to fully contribute to the specification.