Description Usage Arguments Details Value Author(s) See Also Examples
Adjusts parameters in the "MSnIDFilter" instance to achieve the most number of spectra, peptides or proteins/accessions within pre-set FDR upper limit.
1 2 | optimize_filter(filterObj, msnidObj, fdr.max, method,
level, n.iter, mc.cores=NULL)
|
filterObj |
An instance of class "MSnIDFilter". |
msnidObj |
An instance of class "MSnID". |
fdr.max |
Upper limit on acceptable false discovery rate (FDR). |
method |
Optimization method. Possible values are "Grid" or
same values as for the |
level |
Determines at what level to perform optimization. Possible values are "PSM", "peptides" or "accession". |
n.iter |
For method "Grid" is approxomate number of evaluation point. For "Nelder-Mean" and "SANN" methods see optim. |
mc.cores |
Controls the number of enabled cores for parallel processing.
Make sense only for "Grid" optimizaton. Default is
|
The "Grid" method is brute-force optimization through evaluation of approximately n.iter combinations of the parameters set in the "MSnIDFilter" object. The enumeration of the parameter combinations proceeds as follows. The n.iter number is getting split given the dimensionality of the problem (that is the number of filter parameters in the "MSnIDFilter" object. For each parameter the evaluation points are equally spaced according to quantiles of the parameter distribution. This way we enumerate the grid that has more evaluation points in relatively more dense areas.
Note, optimization is computationally expensive. Thus, the
optimize_filter
call is memoised using facilities
from the R.cache package. Once the same
call of optime_filter
function issued second time
the results will be retrieved from cache.
Returns an instance of "MSnIDFilter" that is maximized to provide the most number of identifications while maintaining a pre-set confidence (FDR).
Vladislav A Petyuk vladislav.petyuk@pnnl.gov
MSnID
evaluate_filter
apply_filter
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 | data(c_elegans)
# explicitely adding parameters that will be used for data filtering
msnidObj$msmsScore <- -log10(msnidObj$`MS-GF:SpecEValue`)
msnidObj$absParentMassErrorPPM <- abs(mass_measurement_error(msnidObj))
# Setting up filter object
filtObj <- MSnIDFilter(msnidObj)
filtObj$absParentMassErrorPPM <- list(comparison="<", threshold=10.0)
filtObj$msmsScore <- list(comparison=">", threshold=10.0)
system.time({
filtObj.grid <- optimize_filter(filtObj, msnidObj, fdr.max=0.01,
method="Grid", level="peptide", n.iter=50)})
show(filtObj.grid)
# Fine tuning. Nelder-Mead optimization.
system.time({
filtObj.nm <- optimize_filter(filtObj.grid, msnidObj, fdr.max=0.01,
method="Nelder-Mead", level="peptide",
n.iter=50)})
show(filtObj.nm)
# Fine tuning. Simulated Annealing optimization.
system.time({
filtObj.sann <- optimize_filter(filtObj.grid, msnidObj, fdr.max=0.01,
method="SANN", level="peptide", n.iter=50)})
show(filtObj.sann)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.