Quantitator

Quantitator takes peptide sequence and retention time information in the form of PeptideProphet pepXML or Scaffold spectrum reports, LC-MS mass spectra in mzXML format, and a user-created parameter file as inputs.
For each peptide in the pepXML or spectrum report, Quantitator estimates the signal intensity derived from each isotopic labeling group as defined by the labeling strategy, and reports these estimates along with the estimated standard error and other statistical data.

The documentation for Quantitator is in progress. For prompt assistance, please contact me directly at jgoya@princeton.edu.

Installation

Currently, Quantitator is supported for Linux/UNIX environments, including Cygwin for Windows.

Linux/UNIX

Dependencies

Quantitator depends on the boost (including compiled libraries), expat, and libarchive libraries.
These are ordinarily present on modern Linux/UNIX distributions, but you may need to install the development headers to compile Quantitator.
Alternatively, try using the statically linked binary.

Compile

If the dependencies are met and gcc knows where to find the libraries, Quantitator should compile successfully by issuing the command "make" from within the src directory.

Reference files

It is very important that the "lib" folder included in the source be in the same directory as the compiled Quantitator executable. This folder contains the amino acid definition and isotope distribution files.

Tutorial

Data pre-processing

Quantitator requires peptide identifications in either the PeptideProphet pepXML or Scaffold spectrum report formats. Only one peptide identification input is allowed at a time.
To generate a pepXML for Quantitator, I recommend using Trans-Proteomic Pipeline to convert the search results (e.g. from Mascot, Sequest, XTandem etc.) first to individual pepXML files, then PeptideProphet (also in TPP) to select high confidence identifications and merge into one pepXML file, usually named "interact.pep.xml".
Alternatively, Scaffold can be used to generate a spectrum report, which contains information for all the identified spectra after combining search results.
Finally, in the working directory for the experiment, all the mzXML LCMS(MS) files should be put in one sub-directory, and the pepXML or spectrum report file should be put in another.

Parameter specification

Quantitator takes an XML-formatted parameter file. An example file is provided with the source (src/ParameterTemplate.xml), as well as in the TestData folder.
Quantitator is currently able to quantify SILAC, 18O, 18O-phosphate, 15N, and label-free experiments. SILAC parameters can be specified (by amino acid residue, mass shift, and isotope enrichment formula).

Run a test dataset

A testing dataset has been provided with the source. To test Quantitator, issue the following command from the TestData directory:

/path/to/compiled/Quantitator -f TestDataParams.xml

If Quantitator is correctly installed, the file TestData/QuantFiles/TestQuantOutput.qtsv will be identical to the file TestData/N14N15_SCX07_Reference.quant.tsv:

Output files

Several types of output files are produced by Quantitator, as specified by the "quantOutputFile", "eluteDetailsFile", and "regressionDetailsFile" attributes in the parameter file.

quantOutputFile

Each row of the quantOutputFile contains information for one quantification/labeling class of one identified peptide. For example, for 18O labeling there are 3 quantification classes: 0-18O, 1-18O, and 2-18O. Each row specifies the following information, as indicated by the header: identifying fragmentation spectrum, peptide sequence, protein accession number, quantification class, estimated signal intensity, standard error of the estimate, and intensity-weighted retention time.

eluteDetailsFile

The eluteDetailsFile contains one row for each peptide quantified in each spectrum. This file is optional, to avoid generating it simply omit the attribute from the parameter file.

regressionDetailsFile

For manual validation of quantifications and to produce figures for individual peptides, the regressionDetailsFile provide the extracted signal associated with each peptide, as well as theoretical isotope distributions. The included R script (TestData/PeptideReport.R) should be helpful for parsing these files into plots. This file is also optional.

Licensing etc

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

Neither the name of the University of Chicago, Princeton University, nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL PRINCETON UNIVERSITY BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.