Filtering MSGF data. In this implementation, the peptide-level filter
optimizes both ppm and PepQValue thresholds to achieve maximum number of
peptide identifications within a given FDR constraint. The accession-level
filter optimizes based on peptides_per_1000aa
, so
compute_num_peptides_per_1000aa
must be used first.
Usage
filter_msgf_data(
msnid,
level,
fdr.max = 0.01,
n.iter.grid = 500,
n.iter.nm = 100
)
filter_msgf_data_peptide_level(msnid, ...)
filter_msgf_data_protein_level(msnid, ...)
filter_msgf_data_SiteID_level(msnid, ...)
Arguments
- msnid
(MSnID object) collated MSGF output
- level
(character) Level at which to perform FDR filter. The name of a column in
psms(msnid)
. Currently, only"peptide"
or"accession"
are supported. The added levelSiteID
makes sense only for PTM data and first requires mapping of the modification site usingMSnID::map_mod_sites
.- fdr.max
(numeric) Maximum acceptable FDR. Default is 0.01 (1%).
- n.iter.grid
(numeric) number of grid-distributed evaluation points.
- n.iter.nm
(numeric) number of iterations for Nelder-Mead optimization algorithm.
- ...
arguments passed to
filter_msgf_data
.
Examples
if (FALSE) {
path_to_MSGF_results <- system.file("extdata/global/msgf_output",
package = "PlexedPiperTestData")
msnid <- read_msgf_data(path_to_MSGF_results)
msnid <- MSnID::correct_peak_selection(msnid)
show(msnid)
msnid <- filter_msgf_data(msnid, "peptide", 0.01) # 1% FDR at peptide level
show(msnid)
path_to_FASTA <- system.file(
"extdata/Rattus_norvegicus_NCBI_RefSeq_2018-04-10.fasta.gz",
package = "PlexedPiperTestData"
)
msnid <- compute_num_peptides_per_1000aa(msnid, path_to_FASTA)
msnid <- filter_msgf_data(msnid, "accession", 0.01) # 1% FDR at protein level
show(msnid)
}