Software List

platforms, pipelines and libraries
CPASLIMS and analysis tools for proteomics data (includes msInspect)  
CPFPCentral Proteomics Facilities Pipeline [1] (demo here)  
GenePatternplatform for integrative genomics and proteomics (includes PEPPeR [2] and other tools for proteomics)Java 
InSilicoSpectroopen source proteomics library (of Perl functions) [3]Perl 
libfbia fast implementation of box intersection for correspondence estimation in peak picking, alignment, etc.C++ 
Mass-uputility with full GUI for proteomics data analysis, particularly MALDI-TOFJava 
MASSyPupa lightweight Linux live distribution prepackaged with X!Tandem, mMass, MZmine, PepNovo/UniNovo, PeptideShaker, mscovert, XCMS etc.  
mspireMS data processing in Ruby, including mzML reader/writer, in-silico digestion, isotopic pattern calculation etc. [4]Ruby 
OpenMSlibrary for the analysis, reduction and visualization of LC-MS(/MS) dataC++ 
PAPPSOPlateforme d'Analyse Protéomique de Paris Sud-OuestJava 
Proteiospipeline/LIMS for proteomics experiments and analysisJava 
Proteomaticplatform for creating MS/MS data analysis workflows using scripts [5]C++ 
ProteoWizardopen source library for proteomics tools development (supports mzML) [6]C++ 
pymzMLPython module to parse mzML data based on cElementTree [7]Python 
Pyteomicsframework for proteomics data analysis, supporting mzML, MGF, pepXML and more [8]Python 
QuPEintegrated environment for storage, analysis and integration of proteomics data (requires login) [9]Javaweb
Rproteomicsset of routines for analyzing proteomics data, an XML database to store the results and a user interfaceR 
TOPPthe OpenMS protein identification/quantitation pipelineC++ 
TPPInstitute for Systems Biology "Trans-Proteomic Pipeline"  
XCMSsoftware package (in R) for metabolite profiling from LC-MS dataR 
data visualization and analysis
cdfreada simple reader of mass spectra in netCDFC 
COMSPARIcompares two datasets in netCDF or ASCII formatC 
imDEVdata exploration and visualization in Excel  
Insilicos Viewerbasic viewer of LC-MS/MS data in mzXML format  
MapQuantimage analysis" of LC-MS features, deconvolution etc. [10]C 
massXperttool for analysis of polymer and peptide/protein mass spectra  
mMassuser-friendly and free software to view MS data in a range of formats [11]Python 
MoverZfree version of MoverZ for viewing and manipulating single mass spectra in many formats  
msaccesscreates a psuedo-2D-gel representation [12]C++ 
MSGraphan MS-DOS program to visualize LC-MS data in 2D and 3D (converter from mzXML available)C 
MSPicturePerfectvisualize mzXML data in 2D  
MZminetoolbox for visualization and analysis of LC-MS data in netCDF or mzXML [13] 
mzXMLplotplots mzXML LC-MS data as virtual gels or heat mapsC 
mzXML ViewermzXML viewer from Seattle Proteome Center  
OpenChromopen source tool for mass spectrometry and chromatography [14]Java 
Pep3Dplots LC-MS and LC-MS/MS data in a 2D m/z vs time plot [15]  
Peppyproteogenomic, proteomic search tool [16]Java 
PROTICdbproteomic database to store, track, query and compare proteome data [17]Javaweb
Protter (NEW)interactive protein feature visualization and integration with experimental proteomic data [18]Javaweb
Scaffold Viewerfree viewer to share and visualize Scaffold-analyzed data  
Siriustool for metabolite identification using mass spectrometryJava 
Skylinebuilds SRM/MRM methods and analyzes resulting dataC# 
Spectrum Looktool for viewing and annotating MS/MS spectraC 
Tavernapowerful, scalable, open source and domain independent tools for designing and executing workflows [19]Java 
Taverna4ProteomicsTaverna workflows for proteomics [20]Java, C/C++ 
VIPERvisualizes features from LC-MS analyses, particularly AMTs  
WinICRreads and analyzes single FTICR and TOF spectra in various older vendor formats  
format conversion
collect_mgfcollects MGF files and dd_results from an XMass setup_QDD.tcl experiment to a single MGF fileC 
CompassXportconverts Bruker analysis.baf and analysis.yep files to mzXML (from the website  
dat2mgfconverts Mascot results files back to MGF  
DataAnalysis2TPPconverts MGF from Bruker DataAnalysis to TPP-friendly format for use with XPRESS and ASAPRatioAWK 
MassWolfconverts MassLynx format to mzXMLVC++ 
MGF to .dta File Converterconverts MGF to .dta  
mspire/mspire-sequestmzML to imzML and Bioworks Sequest results files (.srf) to pepXML (mspire-sequest)Ruby 
multiplierzscriptable framework for access to manufacturers' formats via mzAPI [21]Python 
msconvertconverts from RAW/WIFF/T2D/Agilent/Bruker/Waters/mzML/mzXML/MGF/MS2 to mzML/mzXML/MGF/MS2 [22]C++ 
msgfdb2pepxmlconverter from MS-GFDB output to pepXMLPython 
mz2mgfconverts mzData files to MGF  
mzBrukerconverts Bruker analysis.baf files to mzXMLVC++ 
mzStarconverts SCIEX/ABI Analyst format (WIFF) to mzXMLVC++ 
mzXML2Otherconverts mzXML to SEQUEST .dta, MGF, and Micromass .pklVC++ 
Out2Summarycollects Sequest and TurboSequest *.out files to HTML for use with INTERACTVC/VC++ 
PklFileMergermerges individual Q-TOF .pkl files into a single file for database searchingC++ 
PyMStools for reading LC-MS data in the ANDI-MS and JCAMP-DX formats [23]Python 
ReAdWconverts Xcalibur native acquisition files to mzXMLVC++ 
T2D converterconverts ABI SCIEX 4700/4800 t2d files to mzXMLPython 
unfinniganreading Thermo .raw files without MsFileReaderPerl 
wiff2dtaconverts ABI WIFF to .dta [24]  
X2XMLconverts from almost any format (Thermo, Bruker, Agilent and Micromass) to mzXML.NET 
lipid analysis/lipidomics
LipidXplorerhigh-throughput lipid identification from shotgun mass spectra in mzML, mzXML, CSV and .dta formats [25]Python 
peak picking/deconvolution
DeconMSntool for accurate precursor ion monoisotopic mass determination for tandem mass spectra [26].NET 
DeconToolsadvanced peak picking of MS and LC-MS(/MS) data using THRASH and other algorithms.NET 
esimsasimple deconvolution of electrospray ionization peak lists [27]C 
esimsa2Dsimple deconvolution and 2D peak picking of LC-MS dataC 
ESIprotcharge state determination and molecular weight calculation for low resolution electrospray ionization data [28]Pythonweb
libmprclibrary for analysis of high resolution mass spectrometry data (including THRASH)C++ 
massifquant (NEW)Kalman filter based on binless peak picking and quantitation in XCMSR 
nontargetR function for compound, adducts and ion series detection using isotopic distributionsR 
Xtractorextracts pre-defined peaks or regions into a uniform arrayC 
Y.A.D.A.tool for deconvoluting MS/MS spectra [29].NET 
adjustPKLadjust (recalibrate) PKL peak listsJava 
CPMalignment of time-series data [as in LC-MS(/MS)] using Continuous Profile Models [30]MATLAB 
ID-Alignaligns metabolite data from multiple files to single spreadsheetPython 
msalignaligns LC-MS and LC-MS/MS datasets using peptides identified by MS/MS and accurate mass MS [31]C 
msalign2aligns 2 CE-MS or LC-MS datasets using accurate mass information [32]C 
OBI-Warpaligns multiple LC-MS(/MS) datasets in retention time by dynamic time warping [33]C++ 
recal2recalibrate LC-FTICRMS(/MS) datasets using peptides identified by MS/MS [34]C 
SpecArrayaligns multiple LC-MS datasets and much more [35]C++ 
retention time prediction
BioLCCCan analytic model of peptide retention [36] web
hplcsimulatora general tool for simulating and optimizing HPLC gradients web
retentionpredictiona related web utility for projecting/predicting retention times [37] web
rt(legacy) retention time prediction using LC-MS data [38]C 
rt3latest version of rt (3.0) with improved user interfaceCweb
SSRCalcsequence-specific retention time calculator [39] web
de novo sequencing/PTMs
Delta Massthe ABRF database of protein post-translational modifications web
GlycoModpredicts oligosaccharide structures from experimental masses web
InSpecT"blind" spectral search of tandem mass spectra of peptides [40]C/Pythonweb
lutefiskde novo peptide sequencing from MS/MS data [41]C 
MSNovode novo peptide sequencing from MS/MS data [42]  
PEAKS De Novointegrated de novo peptide sequencing [43], PTM finder [44], and homology search [45] (demo available)Java 
PepNovode novo sequencing using probabilistic network modeling [46]C++ 
Popitamsearches for unknown post-translational modifications [47] web
POSTManpost-translational modification software [48]C++ 
ProSight PTMweb portal for PTM search in top-down experiments [49] web
ProSight PTM Ion Predictorgenerate exact masses for CID/ECD fragments with PTMs web
Sequit!free (non-batch) version of a de novo/BLAST tool [50] web
SPSshotgun protein sequencing assembling multiple MS/MS spectra [51]MATLAB 
theospeccommand line tool for predicting MS/MS spectra [52]C 
UniModdatabase of simple protein modifications web
protein identification
peptide mass fingerprinting
aldenteweb based peptide mass fingerprinting web
MASCOTfree version of the Matrix Science MASCOT Peptide Mass Fingerprinting web
MS-Fitpeptide mass fingerpriting tool in the ProteinProspector suiteC++web
PepMAPPERmulti-experiment peptide mass fingerprinting web
ProFoundfree web version of ProFound (peptide mass fingerprinting) web
ProteinGuruseveral on-line tools, including OLMAT for peptide mass fingerprinting web
ProteinProspectorthe ProteinProspector suite of protein identification tools web
tandem mass spectrometry (MS/MS)
greylagfree MS/MS search enginePython/C++ 
MASCOTfree, web-based version of the MASCOT MS/MS Ions Search web
MassMatrixweb based tools for peptide identification and quantitation web
MassWizpeptide identification and FDR calculation [53]Perl 
MS-GFDBpeptide identification using a combination of de novo and database search [54]Java 
MSPolygraphopen source hybrid database and spectral library MS/MS search engine [55]C 
MyriMatchanother free MS/MS search engineC++ 
OMSSAmass spectrometry search algorithm from NIH (also searches ETD MS/MS data) [56] web
PEAKS DBde novo-assisted database search [57]Java 
Percolatorsemi-supervised learning for peptide identification from MS/MS data [58]  
Phenyxfree version of the GeneBio Phenyx protein identification platform web
PepProbeweb-based MS/MS search engine [59] web
PepSplicecache-optimized search algorithm [60]C++ 
ProteinProspectorthe ProteinProspector suite of protein identification tools web
Proteome ARTworkspredicts detectability and tandem mass spectra of peptides and addresses the protein inference problem [61] web
VEMSplatform for protein identification and characterization [62]  
X! Tandemmatches tandem mass spectra with peptide sequencesC++ 
MS/MS library search
ProMEXmatches tandem mass spectra against A. thaliana and M. truncatula libraries [63] web
SpectraSTmatches peptide MS/MS spectra with library spectra  
X! Huntermatches tandem mass spectra with library spectra from same organismC++ 
accurate mass and time (AMT)
msInspectalign data from multiple samples and identify peptides by AMT using LC-MS and LC-MS/MS [64]Java 
(result) parsers/validation/fragment spectrum processing
goa_gubbarsorts protein identifications under GOA slim termsC 
Mascot ParserPDOM and MASCOT parser [65]Java 
libmgflibmgf (formerly mgfp) - a flex/bison-based Mascot Generic Format (MGF) parser library [66]C++ 
ms2preprocms2preproc - MGF and dta fragment spectrum preprocessing [67]C++ 
mres2xa tool to process MASCOT results [68]C 
PAnalyzerrearranges Waters PLGS XML or mzIdentML peptide data into inferred proteinsC# 
PeptideProphet (TPP)validation of peptide identifications by MS/MS and database searches [69]C++/Perl 
ProteinProphet (TPP)validation of protein identifications by MS/MS and database searches [70]C/Perl 
XTandem ParserJava-based parser for X!Tandem result files [71]Java 
X!TandemPipelinefilter, edit and group peptide/protein identifications from X!Tandem (and MASCOT)Java 
protein quantitation
APEXprotein abundance estimate from LC-MS/MS data [72]Java 
ASAPRatio (TPP)statistical analysis of protein ratios from ICAT, cICAT or SILAC experimentsVC++ 
DAnTEprotein quantitation, statistical analysis and visualization.NET 
ICPLQuanttool for processing and analyzing ICPL LC-MALDI data [73]Java 
ICPL_ESIQuant (NEW)tool for processing and analyzing ICPL LC-MS/MS (ESI) data [74]Java 
isobarquantitation of TMT and iTRAQ data and LaTeX report generation [75]R 
IsobariQquantitation of IPTL, iTRAQ and TMT-labeled peptides [76]C++ 
Libra (TPP)analyzes 4- and 8-channel iTRAQ data  
MassChroQXIC extraction and quantitation from LC-MS data [77]C++ 
MaxQuantquantitation from SILAC data from Thermo Orbitrap and FTICR  
MFPaQMascot file parsing and quantitation using ICAT and SILAC [78]Perl/.NET 
MSQuantprotein quantitation combining Mascot results and raw data from stable isotope labeling.NET 
MS-Spectrequantitiave analysis of multiple LC-MS(/MS) analyses in mzXMLJava 
Multi-Qtool for multiplexed iTRAQ-based quantitation [79].NET/Perl 
muxQuantmultiplexed quantitiave proteomics using differential stable isotope labeling [80]C 
PEAKS Qpeptide/protein quantification by iTRAQ, ICAT, SILAC or label-freeJava 
pepXML2Excelconverts output from PeptideProphet to protein level information in ExcelAWK 
ProRatadifferential proteomics analysis using for various stable isotope labeling schemes [81]  
PVIEWisotope labeled, label-free, and XIC-based quantitation for high resolution LC-ESI-MS/MS data [82]C++ 
QuantMATLAB program for protein quantitation by iTRAQ [83]MATLAB 
QUILanother program for relative quantitation using stable isotope labeling [84]  
RAAMSalgorithm for interpreting O-16/O-18 differential proteomics data [85]C++ 
RelExcalculation of ion current ratios from LC-MS data (requires Xcalibur) [86]  
XPRESS (TPP)calculates relative abundances from ICAT, cICAT, SILAC and other N-14/N-15 experiments [87]VC++ 
protein structure
ASAPautomatic peptide identification in crosslinking experiments [88] web
AUTOHDanalysis of H/D-exchange data using isotopic distributions [89]C 
Deuteratorweb based software platform for determining backbone amide H/D ratios [90]Java/JSPweb
DEXanother program (similar to AUTOHD) for analysis of H/D-exchange spectra [91]C/C++ 
ExMSMATLAB program for analyzing H/D-exchange data [92]MATLAB 
hydrogen_bondifier (NEW)PyMOL script for retrieving hydrogen bond characteristics from protein structuresPyMOL 
HX-Expressan Excel spreadsheet for analysis of H/D exchange mass spectra [93]Excel 
MassMatrixMassMatrix also allows cross-linked peptide identification web
MS2Proassigns crosslinked or non-crosslinked fragments in whole protein MS/MS (top-down) spectra [94] web
MS2Assignassigns crosslinked or non-crosslinked peptides in MS/MS spectra [95] web
StavroX (NEW)analyses peptide-peptide cross-links for protein-protein interaction or protein structure analysis [96]Java 
xCombinterogate protein-protein interactions and protein structure using cross-links FASTA databases [97]Perlweb
XLink (TPP)set of tools for analysis of data from crosslinked and digested protein complexes  
in silico digestion
digdigests or fragments protein sequences [98]C 
dig2updated version of digC 
InDigestion (NEW)iOS app for in-silico digestion and more mobile app
MS-Digestdigests a protein sequence web
PChoppermultiple-enzyme in silico digester for experimental design web
PeptideCutteranother web based protein digestion applet web
Protein Digestion Simulator Basiccalculates theoretical enzymatic peptides and AMTs  
mass spectrometry imaging
BioMapbiomedical image analysis software (also MSI)IDL™ 
Datacube Explorer (NEW)vendor-neutral visualization program for mass spectrometry imaging data (including imzML) [99]C# (.NET) 
MSImageViewgenerate images from WIFF data and export to imzML  
MSiReadervendor-neutral MATLAB program to view analyze mass spectrometry imaging data [100]MATLAB 
isotopic distributions
BRAIN (NEW)algorithm for calculating aggregated isotope distributions and corresponding center-masses (R package)C++ 
enviPatbatch fine structure, profile and centroid calculation with resolution settings providedRweb
IDCalcisotope distribution and theoretical spectrum calculation with GUIVB 
iso2lcalculates the isotopic distribution of a chemical formula or a amino acid chainJava 
isotopMATLAB code for calculating the isotopic distribution of a molecule (e.g. insulin) [101]MATLAB 
isotopthe same program in RR 
isotop_fsMATLAB code for calculating isotopic fine structure [102]MATLAB 
isotope.pythe same program in PythonPython 
libipacaIsotopic PAttern CAlculation library (MIT license)C++ 
Molecular Weight Calculatorcalculates molecular masses and isotopic distributionsVB 
MS-Isotopecalculates the isotopic distribution from a peptide sequenceC++/Javaweb
SmileMS molecule toolkitweb utilities for isotopic distributions, elemental compositions and PubChem lookup by accurate mass web
random database generation
Database Managersequence database manager, including random database generationJava 
decoy.pldecoy database generator from Matrix SciencePerl 
make_randomgenerate random database through Markov processC 
mspire-simulatorsimulates peptide retention times and chromatographic profilesRuby 

The categorization of the software and algorithms here is somewhat arbitrary and may change over time. Many programs belong to multiple categories. If you have any suggestions on how to better organize this website - please let us know (see below).

The goal is to continuously improve the website while not moving too far beyond being a classic link collection and repository of free software for data analysis in mass spectrometry-based proteomics and protein analysis. The idea is to maximize the usefulness to anyone facing an analytical or computational problem in proteomics who first would like to know if a solution to the problem already exists and is in the public domain. The list will therefore always be an eclectic mix of full software suites with advanced graphical user interfaces, web-based software, libraries, scripts and pieces of source code to accomplish anything from reading a file in a particular format to providing a complete package for a proteomic analysis pipeline, from sample tracking to storing, viewing and comparing results from protein identification search engines.

The ambition should be to maintain only functional links to tested, useful and gratis software.


Please send an e-mail to for comments, suggestions or encouragements!