forked from crux-toolkit/crux-toolkit.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpercolator.html
207 lines (206 loc) · 22.5 KB
/
percolator.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<!DOCTYPE html>
<html>
<head>
<title>percolator</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" href="../styles.css">
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/javascript">
MathJax.Hub.Config({jax: ['input/TeX','output/HTML-CSS'], displayAlign: 'left'});
</script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-26136956-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
// Main Menu
$( document ).ready(function() {
var pull = $('.btn');
menu = $('nav ul');
menuHeight = menu.height();
$(pull).on('click', function(e) {
e.preventDefault();
menu.slideToggle();
});
$(window).resize(function(){
var w = $(window).width();
if(w > 320 && menu.is(':hidden')) {
menu.removeAttr('style');
}
});
});
</script>
</head>
<body>
<div class="page-wrap">
<nav>
<div class="btn">
</div>
<img src="../images/crux-logo.png" id="logo"></a>
<ul id="navitems">
<li><a href="../index.html">Home</a></li>
<li><a href="../download.html">Download</a></li>
<li><a href="../fileformats.html">File Formats</a></li>
<li><a href="http://groups.google.com/group/crux-users">Contact</a></li> <!--Link to google support board-->
</ul>
</nav>
<div id="content" class="autogenerated">
<!-- START CONTENT -->
<h1>percolator</h1>
<h2>Usage:</h2>
<p><code>crux percolator [options] <peptide-spectrum matches></code></p>
<h2>Description:</h2>
<p>Percolator is a semi-supervised learning algorithm that dynamically learns to separate target from decoy peptide-spectrum matches (PSMs). The algorithm is described in this article:</p><blockquote> Lukas Käll, Jesse Canterbury, Jason Weston, William Stafford Noble and Michael J. MacCoss. <a href="http://noble.gs.washington.edu/papers/kall2007semi-supervised.html">"Semi-supervised learning for peptide identification from shotgun proteomics datasets."</a> <em>Nature Methods</em>. 4(11):923-925, 2007.</blockquote><p>Percolator requires as input two collections of PSMs, one set derived from matching observed spectra against real ("target") peptides, and a second derived from matching the same spectra against "decoy" peptides. The output consists of ranked lists of PSMs, peptides and proteins. Peptides and proteins are assigned two types of statistical confidence estimates: q-values and posterior error probabilities.</p><p>The features used by Percolator to represent each PSM are summarized <a href="../file-formats/features.html">here</a>.</p><p>Percolator also includes code from <a href="http://noble.gs.washington.edu/proj/fido/">Fido</a>, whch performs protein-level inference. The Fido algorithm is described in this article:</p><blockquote>Oliver Serang, Michael J. MacCoss and William Stafford Noble. <a href="http://pubs.acs.org/doi/abs/10.1021/pr100594k">"Efficient marginalization to compute protein posterior probabilities from shotgun mass spectrometry data."</a> <em>Journal of Proteome Research</em>. 9(10):5346-5357, 2010.</blockquote><p>Crux includes code from <a href="http://per-colator.com/">Percolator</a>. Crux Percolator differs from the stand-alone version of Percolator in the following respects:</p><ul><li>In addition to the native Percolator XML file format, Crux Percolator supports additional input file formats (SQT, PepXML, tab-delimited text) and output file formats (PepXML, mzIdentML, tab-delimited text). To maintain consistency with the rest of the Crux commands, Crux Percolator uses different parameter syntax than the stand-alone version of Percolator.</li><li>Like the rest of the Crux commands, Crux Percolator writes its files to an output directory, logs all standard error messages to a log file, and is capable of reading parameters from a parameter file.</li><li>Reading from XML and stdin are not supported at this time.</li></ul>
<h2>Input:</h2>
<ul>
<li><code>peptide-spectrum matches</code> – A collection of target and decoy peptide-spectrum matches (PSMs). Input may be in one of five formats: PIN, SQT, pepXML, <a href="../file-formats/txt-format.html">Crux tab-delimited text</a>, or a list of files (when list-of-files=T). Note that if the input is provided as SQT, pepXML, or Crux tab-delimited text, then a PIN file will be generated in the output directory prior to execution.Crux determines the format of the input file by examining its filename extension. <br>Decoy PSMs can be provided to Percolator in two ways: either as a separate file or embedded within the same file as the target PSMs. Percolator will first search for target PSMs in a separate file. The decoy file name is constructed from the target name by replacing "target" with "decoy". For example, if search.target.txt is provided as input, then Percolator will search for a corresponding file named search.decoy.txt. If no decoy file is found, then Percolator will assume that the given input file contains a mix of target and decoy PSMs. Within this file, decoys are identified using a prefix (specified via --decoy-prefix) on the protein name.</li>
</ul>
<h2>Output:</h2>
<p>The program writes files to the folder <code>crux-output</code> by default. The name of the output folder can be set by the user using the <code>--output-dir</code> option. The following files will be created:
<ul>
<li><code>percolator.target.proteins.txt</code> – a tab-delimited file containing the target protein matches. See <a href="../file-formats/txt-format.html">here</a> for a list of the fields.</li>
<li><code>percolator.decoy.proteins.txt</code> – a tab-delimited file containing the decoy protein matches. See <a href="../file-formats/txt-format.html">here</a> for a list of the fields.</li>
<li><code>percolator.target.peptides.txt</code> – a tab-delimited file containing the target peptide matches. See <a href="../file-formats/txt-format.html">here</a> for a list of the fields.</li>
<li><code>percolator.decoy.peptides.txt</code> – a tab-delimited file containing the decoy peptide matches. See <a href="../file-formats/txt-format.html">here</a> for a list of the fields.</li>
<li><code>percolator.target.psms.txt</code> – a tab-delimited file containing the target PSMs. See <a href="../file-formats/txt-format.html">here</a> for a list of the fields.</li>
<li><code>percolator.decoy.psms.txt</code> – a tab-delimited file containing the decoy PSMs. See <a href="../file-formats/txt-format.html">here</a> for a list of the fields.</li>
<li><code>percolator.params.txt</code> – a file containing the name and value of all parameters for the current operation. Not all parameters in the file may have been used in the operation. The resulting file can be used with the --parameter-file option for other crux programs.</li>
<li><code>percolator.pep.xml</code> – a file containing the PSMs in <a href="http://tools.proteomecenter.org/wiki/index.php?title=Formats:pepXML">pepXML format</a>. This file can be used as input to some of the tools in the <a href="http://tools.proteomecenter.org/wiki/index.php?title=Software:TPP">Transproteomic Pipeline</a>.</li>
<li><code>percolator.mzid</code> – a file containing the protein, peptide, and spectrum matches in <a href="http://www.psidev.info/mzidentml">mzIdentML format</a>.</li>
<li><code>percolator.log.txt</code> – a log file containing a copy of all messages that were printed to standard error.</li>
</ul>
<h2>Options:</h2>
<ul style="list-style-type: none;">
<li class="nobullet">
<h3>Protein inference options</h3>
<ul>
<li class="nobullet"><code>--picked-protein <string></code> – Use the picked protein-level FDR to infer protein probabilities, provide the fasta file as the argument to this flag. Default = <code><empty></code>.</li>
<li class="nobullet"><code>--protein-enzyme no_enzyme|elastase|pepsin|proteinasek|thermolysin|trypsinp|chymotrypsin|lys-n|lys-c|arg-c|asp-n|glu-c|trypsin</code> – Type of enzyme Default = <code>trypsin</code>.</li>
<li class="nobullet"><code>--protein-report-fragments T|F</code> – By default, if the peptides associated with protein A are a proper subset of the peptides associated with protein B, then protein A is eliminated and all the peptides are considered as evidence for protein B. Note that this filtering is done based on the complete set of peptides in the database, not based on the identified peptides in the search results. Alternatively, if this option is set and if all of the identified peptides associated with protein B are also associated with protein A, then Percolator will report a comma-separated list of protein IDs, where the full-length protein B is first in the list and the fragment protein A is listed second. Not available for Fido. Default = <code>false</code>.</li>
<li class="nobullet"><code>--protein-report-duplicates T|F</code> – If multiple database proteins contain exactly the same set of peptides, then Percolator will randomly discard all but one of the proteins. If this option is set, then the IDs of these duplicated proteins will be reported as a comma-separated list. Not available for Fido. Default = <code>false</code>.</li>
</ul>
</li>
<li class="nobullet">
<h3>Fido options</h3>
<ul>
<li class="nobullet"><code>--protein T|F</code> – Use the Fido algorithm to infer protein probabilities. Must be true to use any of the Fido options. Default = <code>false</code>.</li>
<li class="nobullet"><code>--fido-alpha <float></code> – Specify the probability with which a present protein emits an associated peptide. Set by grid search (see --fido-gridsearch-depth parameter) if not specified. Default = <code>0</code>.</li>
<li class="nobullet"><code>--fido-beta <float></code> – Specify the probability of the creation of a peptide from noise. Set by grid search (see --fido-gridsearch-depth parameter) if not specified. Default = <code>0</code>.</li>
<li class="nobullet"><code>--fido-gamma <float></code> – Specify the prior probability that a protein is present in the sample. Set by grid search (see --fido-gridsearch-depth parameter) if not specified. Default = <code>0</code>.</li>
<li class="nobullet"><code>--fido-empirical-protein-q T|F</code> – Estimate empirical p-values and q-values for proteins using target-decoy analysis. Default = <code>false</code>.</li>
<li class="nobullet"><code>--fido-gridsearch-depth <integer></code> – Set depth of the grid search for alpha, beta and gamma estimation. The values considered, for each possible value of the --fido-gridsearch-depth parameter, are as follows:<ul><li>0: alpha = {0.01, 0.04, 0.09, 0.16, 0.25, 0.36, 0.5}; beta = {0.0, 0.01, 0.15, 0.025, 0.035, 0.05, 0.1}; gamma = {0.1, 0.25, 0.5, 0.75}.</li><li>1: alpha = {0.01, 0.04, 0.09, 0.16, 0.25, 0.36}; beta = {0.0, 0.01, 0.15, 0.025, 0.035, 0.05}; gamma = {0.1, 0.25, 0.5}.</li><li>2: alpha = {0.01, 0.04, 0.16, 0.25, 0.36}; beta = {0.0, 0.01, 0.15, 0.030, 0.05}; gamma = {0.1, 0.5}.</li><li>3: alpha = {0.01, 0.04, 0.16, 0.25, 0.36}; beta = {0.0, 0.01, 0.15, 0.030, 0.05}; gamma = {0.5}.</li></ul> Default = <code>0</code>.</li>
<li class="nobullet"><code>--fido-gridsearch-mse-threshold <float></code> – Q-value threshold that will be used in the computation of the MSE and ROC AUC score in the grid search. Default = <code>0.05</code>.</li>
<li class="nobullet"><code>--fido-fast-gridsearch <float></code> – Apply the specified threshold to PSM, peptide and protein probabilities to obtain a faster estimate of the alpha, beta and gamma parameters. Default = <code>0</code>.</li>
<li class="nobullet"><code>--fido-protein-truncation-threshold <float></code> – To speed up inference, proteins for which none of the associated peptides has a probability exceeding the specified threshold will be assigned probability = 0. Default = <code>0.01</code>.</li>
<li class="nobullet"><code>--fido-no-split-large-components T|F</code> – Do not approximate the posterior distribution by allowing large graph components to be split into subgraphs. The splitting is done by duplicating peptides with low probabilities. Splitting continues until the number of possible configurations of each subgraph is below 2^18 Default = <code>false</code>.</li>
</ul>
</li>
<li class="nobullet">
<h3>General options</h3>
<ul>
<li class="nobullet"><code>--only-psms T|F</code> – Do not remove redundant peptides; keep all PSMs and exclude peptide level probability. Default = <code>false</code>.</li>
<li class="nobullet"><code>--post-processing-qvality T|F</code> – Replace the target-decoy competition with the method qvality to assign q-values and PEPs. Note that this option only has an effect if the input PSMs are from separate target and decoy searches. Default = <code>false</code>.</li>
</ul>
</li>
<li class="nobullet">
<h3>SVM training options</h3>
<ul>
<li class="nobullet"><code>--c-pos <float></code> – Penalty for mistakes made on positive examples. If this value is set to 0, then it is set via cross validation over the values {0.1, 1, 10}, selecting the value that yields the largest number of PSMs identified at the q-value threshold set via the --test-fdr parameter. Default = <code>0</code>.</li>
<li class="nobullet"><code>--c-neg <float></code> – Penalty for mistake made on negative examples. If not specified, then this value is set by cross validation over {0.1, 1, 10}. Default = <code>0</code>.</li>
<li class="nobullet"><code>--train-fdr <float></code> – False discovery rate threshold to define positive examples in training. Default = <code>0.01</code>.</li>
<li class="nobullet"><code>--test-fdr <float></code> – False discovery rate threshold used in selecting hyperparameters during internal cross-validation and for reporting the final results. Default = <code>0.01</code>.</li>
<li class="nobullet"><code>--maxiter <integer></code> – Maximum number of iterations for training. Default = <code>10</code>.</li>
<li class="nobullet"><code>--quick-validation T|F</code> – Quicker execution by reduced internal cross-validation. Default = <code>false</code>.</li>
<li class="nobullet"><code>--test-each-iteration T|F</code> – Measure performance on test set each iteration. Default = <code>false</code>.</li>
<li class="nobullet"><code>--percolator-seed <string></code> – When given a unsigned integer value seeds the random number generator with that value. When given the string "time" seeds the random number generator with the system time. Default = <code>1</code>.</li>
</ul>
</li>
<li class="nobullet">
<h3>SVM feature input options</h3>
<ul>
<li class="nobullet"><code>--output-weights T|F</code> – Output final weights to a file named "percolator.weights.txt". Default = <code>false</code>.</li>
<li class="nobullet"><code>--init-weights <string></code> – Read initial weights from the given file (one per line). Default = <code><empty></code>.</li>
<li class="nobullet"><code>--default-direction <string></code> – In its initial round of training, Percolator uses one feature to induce a ranking of PSMs. By default, Percolator will select the feature that produces the largest set of target PSMs at a specified FDR threshold (cf. --train-fdr). This option allows the user to specify which feature is used for the initial ranking, using the name as a string from <a href="../file-formats/features.html">this table</a>. The name can be preceded by a hyphen (e.g. "-XCorr") to indicate that a lower value is better. Default = <code><empty></code>.</li>
<li class="nobullet"><code>--unitnorm T|F</code> – Use unit normalization (i.e., linearly rescale each PSM's feature vector to have a Euclidean length of 1), instead of standard deviation normalization. Default = <code>false</code>.</li>
<li class="nobullet"><code>--override T|F</code> – By default, Percolator will examine the learned weights for each feature, and if the weight appears to be problematic, then percolator will discard the learned weights and instead employ a previously trained, static score vector. This switch allows this error checking to be overriden. Default = <code>false</code>.</li>
<li class="nobullet"><code>--klammer T|F</code> – Use retention time features calculated as in "Improving tandem mass spectrum identification using peptide retention time prediction across diverse chromatography conditions" by Klammer AA, Yi X, MacCoss MJ and Noble WS. (<em>Analytical Chemistry</em>. 2007 Aug 15;79(16):6111-8.). Default = <code>false</code>.</li>
</ul>
</li>
<li class="nobullet">
<h3>Input and output</h3>
<ul>
<li class="nobullet"><code>--fileroot <string></code> – The fileroot string will be added as a prefix to all output file names. Default = <code><empty></code>.</li>
<li class="nobullet"><code>--output-dir <string></code> – The name of the directory where output files will be created. Default = <code>crux-output</code>.</li>
<li class="nobullet"><code>--overwrite T|F</code> – Replace existing files if true or fail when trying to overwrite a file if false. Default = <code>false</code>.</li>
<li class="nobullet"><code>--txt-output T|F</code> – Output a tab-delimited results file to the output directory. Default = <code>true</code>.</li>
<li class="nobullet"><code>--pout-output T|F</code> – Output a Percolator <a href="https://github.com/percolator/percolator/blob/master/src/xml/percolator_out.xsd">pout.xml</a> format results file to the output directory. Default = <code>false</code>.</li>
<li class="nobullet"><code>--mzid-output T|F</code> – Output an mzIdentML results file to the output directory. Default = <code>false</code>.</li>
<li class="nobullet"><code>--pepxml-output T|F</code> – Output a pepXML results file to the output directory. Default = <code>false</code>.</li>
<li class="nobullet"><code>--feature-file-out T|F</code> – Output the computed features in <a href="../file-formats/features.html">tab-delimited text format</a>. Default = <code>false</code>.</li>
<li class="nobullet"><code>--list-of-files T|F</code> – Specify that the search results are provided as lists of files, rather than as individual files. Default = <code>false</code>.</li>
<li class="nobullet"><code>--parameter-file <string></code> – A file containing parameters. See the <a href="../file-formats/parameter-file.html">parameter documentation</a> page for details. Default = <code><empty></code>.</li>
<li class="nobullet"><code>--feature-file-in T|F</code> – When set to T, interpret the input file as a PIN file. Default = <code>false</code>.</li>
<li class="nobullet"><code>--decoy-xml-output T|F</code> – Include decoys (PSMs, peptides, and/or proteins) in the XML output. Default = <code>false</code>.</li>
<li class="nobullet"><code>--decoy-prefix <string></code> – Specifies the prefix of the protein names that indicate a decoy. Default = <code>decoy_</code>.</li>
<li class="nobullet"><code>--verbosity <integer></code> – Specify the verbosity of the current processes. Each level prints the following messages, including all those at lower verbosity levels: 0-fatal errors, 10-non-fatal errors, 20-warnings, 30-information on the progress of execution, 40-more progress information, 50-debug info, 60-detailed debug info. Default = <code>30</code>.</li>
<li class="nobullet"><code>--top-match <integer></code> – Specify the number of matches to report for each spectrum. Default = <code>5</code>.</li>
</ul>
</li>
</ul>
<!-- END CONTENT -->
</div>
</div>
<footer class="site-footer">
<div id="centerfooter">
<div class="footerimportantlinks">
<img src="../images/linkicon.png" style="width:16px; height:16px"><h3>Important links</h3>
<ul>
<li><a href="../faq.html">Crux <strong>FAQ</strong></a></li>
<li><a href="../glossary.html">Glossary of terminology</a></li>
<li><a href="http://scholar.google.com/citations?hl=en&user=Rw9S1HIAAAAJ">Google Scholar profile</a></li>
<li><a href="https://sourceforge.net/projects/cruxtoolkit/">SourceForge Issue's list</a></li>
<li><a href="../release-notes.html">Release Notes</a></li>
<li><a href="https://mailman1.u.washington.edu/mailman/listinfo/crux-users" title="Receive announcements of new versions">Join the mailing list</a></li>
<li><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache license</a></li>
<li><a href="http://groups.google.com/group/crux-users">Support Board</a></li>
</ul>
</div>
<div class="footerimportantlinks tutoriallinks">
<img src="../images/tutorialicon.png" style="height:16px"><h3>Tutorials</h3>
<ul>
<li><a href="../tutorials/install.html">Installation</a></li>
<li><a href="../tutorials/gettingstarted.html">Getting started with Crux</a></li>
<li><a href="../tutorials/search.html">Running a simple search using Tide and Percolator</a></li>
<li><a href="../tutorials/customizedsearch.html">Customization and search options</a></li>
<li><a href="../tutorials/spectralcounts.html">Using spectral-counts</a></li>
</ul>
</div>
<div id="footertext">
<p>
The original version of Crux was written by Chris Park and Aaron Klammer
under the supervision
of <a href="http://www.gs.washington.edu/faculty/maccoss.htm">Prof. Michael
MacCoss</a>
and <a href="http://noble.gs.washington.edu/~noble">Prof. William
Stafford Noble</a> in the Department of Genome Sciences at the
University of Washington, Seattle. Website by <a href="http://www.yuvalboss.com/">Yuval Boss</a>
<br />The complete list of contributors
can be found <a href="../contributors.html">here</a>.
<br />
<br />
Maintenance and development of Crux is funded by the <a href="https://www.nih.gov/">National Institutes of Health</a> awards R01 GM096306 and P41 GM103533.
</p>
</div>
</div>
</footer>
</body>
</html>