Skip to contents

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 level SiteID makes sense only for PTM data and first requires mapping of the modification site using MSnID::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.

Value

(MSnID object) filtered MSGF output

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)
}