The Crux mass spectrometry analysis toolkit is an open source project that aims to provide users with a cross-platform suite of analysis tools for interpreting protein mass spectrometry data. The toolkit includes several search engines for both standard and cross-linked database search, as well as a variety of pre- and post-processing engines for assigning high-resolution precursor masses to spectra, assigning statistical confidence estimates to spectra, peptides and proteins, and performing label free quantification. Crux comes pre-complied for the Linux, Windows and MacOS operating systems. It is implemented as a single program that offers a wide variety of commands. If you use Crux in your research, please cite:
Christopher Y. Park, Aaron A. Klammer, Lukas Käll, Michael J. MacCoss and William Stafford Noble. "Rapid and accurate peptide identification from tandem mass spectra." Journal of Proteome Research. 7(7):3022-3027, 2008.
For a more up-to-date description of Crux, please read:
Sean McIlwain, Kaipo Tamura, Attila Kertesz-Farkas, Charles E. Grant, Benjamin Diament, Barbara Frewen, J. Jeffry Howbert, Michael R. Hoopmann, Lukas Käll, Jimmy K. Eng, Michael J. MacCoss and William Stafford Noble. "Crux: rapid open source protein tandem mass spectrometry analysis." Journal of Proteome Research. 13(10):4488-4491, 2014.

Crux is provided as a single executable that supports the following commands:

Primary commands
bullseye | Assign high resolution precursor m/z values to MS/MS data using the Hardklör algorithm.
tide-index | Create an index of all peptides in a fasta file, for use in subsequent calls to `tide-search`.
tide-search | Search a collection of spectra against a sequence database, provided either as a FASTA file or an index, returning a collection of peptide-spectrum matches (PSMs). This is a fast search engine, but it runs most quickly if provided with a peptide index built with `tide-index`.
cascade-search | An iterative procedure for incorporating information about peptide groups into the database search and confidence estimation procedure.
comet | Search a collection of spectra against a sequence database, returning a collection of PSMs. This search engine runs directly on a protein database in FASTA format.
comet-index | Create a sequence database index for use with comet. This index engine runs directly on a protein database in FASTA format.
percolator | Re-rank and assign confidence estimates to a collection of PSMs using the Percolator algorithm. Optionally, also produce protein rankings using the Fido algorithm.
kojak | Search a collection of spectra against a sequence database, finding cross-linked peptide matches.
lfq | Carries out label-free quantification (LFQ) for each detected peptide.
diameter | Identify peptide sequences fromm data-independent acquisition mass spectrometry data without requiring a spectral library
spectral-counts | Quantify peptides or proteins using one of three spectral counting methods.
pipeline | Given one or more sets of tandem mass spectra as well as a protein database, this command runs a series of Crux tools and reports all of the results in a single output directory.
Utilities
assign-confidence | Assign statistical confidence measures to each PSM in a given set.
generate-peptides | Extract from a given set of protein sequences a list of target and decoy peptides fitting the specified criteria.
get-ms2-spectrum | Extract one or more fragmentation spectra, specified by scan number, from an `MS2` file.
hardklör | Identify isotopic distributions from high-resolution mass spectra.
make-pin | Given a set of search results files, generate a pin file for input to `crux percolator`
param-medic | Examine the spectra in a file to estimate the best precursor and fragment error tolerances for database search.
predict-peptide-ions | Given a peptide and a charge state, predict the m/z values of the resulting fragment ions.
print-processed-spectra | Process spectra as for scoring xcorr and print the results to a file.
psm-convert | Convert a file containing peptide-spectrum matches (PSMs) from one format to another.
subtract-index | Subtract one index file from another, assuming both were generated by tide-index.
localize-modification | Finds, for each peptide-spectrum match (PSM) in a given set, the most most likely location along the peptide for a post-translational modification (PTM). The mass of the PTM is inferred from the difference between the spectrum neutral mass and the peptide mass.
version | Print the Crux version number to standard output, then exit.