|
OpenMS
2.6.0
|
Go to the documentation of this file.
37 #include <OpenMS/config.h>
53 #include <unordered_set>
100 template <
class HitType>
110 higher_score_better(higher_score_better_)
115 if (higher_score_better)
117 return hit.getScore() >= score;
119 return hit.getScore() <= score;
128 template <
class HitType>
140 throw Exception::IllegalArgument(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
"The cut-off value for rank filtering must not be zero!");
146 Size hit_rank = hit.getRank();
151 return hit_rank <= rank;
160 template <
class HitType>
176 if (found.
isEmpty())
return false;
177 if (value.
isEmpty())
return true;
178 return found == value;
183 template <
class HitType>
199 if (found.
isEmpty())
return false;
200 return double(found) <= value;
205 template <
class HitType>
213 target_decoy(
"target_decoy",
"decoy"), is_decoy(
"isDecoy",
"true")
221 return target_decoy(hit) || is_decoy(hit);
230 template <
class HitType>
238 accessions(accessions_)
245 if (accessions.count(it) > 0)
return true;
266 template <
class HitType>
274 accessions(accessions_)
281 if (accessions.count(it) > 0)
return true;
302 template <
class HitType,
class Entry>
311 for(
typename std::vector<Entry>::iterator rec_it = records.begin();
312 rec_it != records.end(); ++rec_it)
314 items[getKey(*rec_it)] = &(*rec_it);
327 return items.count(getHitKey(hit)) > 0;
337 if(!exists(evidence)){
338 throw Exception::InvalidParameter(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
"Accession: '"+ getHitKey(evidence) +
"'. peptide evidence accession not in data");
340 return *(items.find(getHitKey(evidence))->second);
356 struct HasMinPeptideLength;
362 struct HasLowMZError;
369 struct HasMatchingModification;
376 struct HasMatchingSequence;
379 struct HasNoEvidence;
397 digestion_(digestion), min_cleavages_(min), max_cleavages_(max)
406 const auto& fun = [&](
const Int missed_cleavages)
409 bool max_filter = max_cleavages_ != disabledValue() ?
410 missed_cleavages > max_cleavages_ :
false;
411 bool min_filter = min_cleavages_ != disabledValue() ?
412 missed_cleavages < min_cleavages_ :
false;
413 return max_filter || min_filter;
422 hits.erase(std::remove_if(hits.begin(), hits.end(), (*this)),
446 bool ignore_missed_cleavages,
447 bool methionine_cleavage) :
448 accession_resolver_(entries),
449 digestion_(digestion),
450 ignore_missed_cleavages_(ignore_missed_cleavages),
451 methionine_cleavage_(methionine_cleavage)
462 if (accession_resolver_.
exists(evidence))
466 evidence.
getStart(), evidence.
getEnd() - evidence.
getStart(), ignore_missed_cleavages_, methionine_cleavage_);
472 OPENMS_LOG_WARN <<
"Peptide accession not available! Skipping Evidence." << std::endl;
477 <<
"' not found in fasta file!" << std::endl;
485 IDFilter::FilterPeptideEvidences<IDFilter::DigestionFilter>(*
this,peptides);
497 template <
class IdentificationType>
504 return id.getHits().empty();
531 template <
class Container,
class Predicate>
534 items.erase(std::remove_if(items.begin(), items.end(), pred),
539 template <
class Container,
class Predicate>
542 items.erase(std::remove_if(items.begin(), items.end(), std::not1(pred)),
547 template <
class Container,
class Predicate>
550 auto part = std::partition(items.begin(), items.end(), std::not1(pred));
551 std::move(part, items.end(), std::back_inserter(target));
552 items.erase(part, items.end());
556 template <
class IDContainer,
class Predicate>
559 for (
auto& item : items)
561 removeMatchingItems(item.getHits(), pred);
566 template <
class IDContainer,
class Predicate>
569 for (
auto& item : items)
571 keepMatchingItems(item.getHits(), pred);
575 template <
class MapType,
class Predicate>
578 for (
auto& feat : prot_and_pep_ids)
580 keepMatchingItemsUnroll(feat.getPeptideIdentifications(), pred);
582 keepMatchingItemsUnroll(prot_and_pep_ids.getUnassignedPeptideIdentifications(), pred);
585 template <
class MapType,
class Predicate>
588 for (
auto& feat : prot_and_pep_ids)
590 removeMatchingItemsUnroll(feat.getPeptideIdentifications(), pred);
592 removeMatchingItemsUnroll(prot_and_pep_ids.getUnassignedPeptideIdentifications(), pred);
595 template <
class MapType,
class Predicate>
598 for (
auto& feat : prot_and_pep_ids)
600 removeMatchingItems(feat.getPeptideIdentifications(), pred);
602 removeMatchingItems(prot_and_pep_ids.getUnassignedPeptideIdentifications(), pred);
612 template <
class IdentificationType>
616 for (
typename std::vector<IdentificationType>::const_iterator id_it =
617 ids.begin(); id_it != ids.end(); ++id_it)
619 counter += id_it->getHits().size();
636 template <
class IdentificationType>
638 const std::vector<IdentificationType>& identifications,
639 bool assume_sorted,
typename IdentificationType::HitType& best_hit)
641 if (identifications.empty())
return false;
643 typename std::vector<IdentificationType>::const_iterator best_id_it =
644 identifications.end();
645 typename std::vector<typename IdentificationType::HitType>::const_iterator
648 for (
typename std::vector<IdentificationType>::const_iterator id_it =
649 identifications.begin(); id_it != identifications.end(); ++id_it)
651 if (id_it->getHits().empty())
continue;
653 if (best_id_it == identifications.end())
656 best_hit_it = id_it->getHits().begin();
658 else if (best_id_it->getScoreType() != id_it->getScoreType())
660 throw Exception::InvalidValue(__FILE__, __LINE__, OPENMS_PRETTY_FUNCTION,
"Can't compare scores of different types", best_id_it->getScoreType() +
"/" + id_it->getScoreType());
663 bool higher_better = best_id_it->isHigherScoreBetter();
664 for (
typename std::vector<typename IdentificationType::HitType>::
665 const_iterator hit_it = id_it->getHits().begin(); hit_it !=
666 id_it->getHits().end(); ++hit_it)
668 if ((higher_better && (hit_it->getScore() >
669 best_hit_it->getScore())) ||
670 (!higher_better && (hit_it->getScore() <
671 best_hit_it->getScore())))
673 best_hit_it = hit_it;
675 if (assume_sorted)
break;
679 if (best_id_it == identifications.end())
684 best_hit = *best_hit_it;
695 static void extractPeptideSequences(
696 const std::vector<PeptideIdentification>& peptides,
697 std::set<String>& sequences,
bool ignore_mods =
false);
704 static std::map<String,std::vector<ProteinHit>> extractUnassignedProteins(
ConsensusMap& cmap);
711 template<
class Ev
idenceFilter>
713 EvidenceFilter& filter,
714 std::vector<PeptideIdentification>& peptides)
716 for(std::vector<PeptideIdentification>::iterator pep_it = peptides.begin();
717 pep_it != peptides.end(); ++pep_it)
719 for(std::vector<PeptideHit>::iterator hit_it = pep_it->getHits().begin();
720 hit_it != pep_it->getHits().end(); ++hit_it )
722 std::vector<PeptideEvidence> evidences;
723 remove_copy_if(hit_it->getPeptideEvidences().begin(),
724 hit_it->getPeptideEvidences().end(),
725 back_inserter(evidences),
727 hit_it->setPeptideEvidences(evidences);
739 template <
class IdentificationType>
742 for (
typename std::vector<IdentificationType>::iterator it = ids.begin();
743 it != ids.end(); ++it)
751 static void removeUnreferencedProteins(
ConsensusMap& cmap,
bool include_unassigned);
754 static void removeUnreferencedProteins(
755 std::vector<ProteinIdentification>& proteins,
756 const std::vector<PeptideIdentification>& peptides);
765 static void updateProteinReferences(
766 std::vector<PeptideIdentification>& peptides,
767 const std::vector<ProteinIdentification>& proteins,
768 bool remove_peptides_without_reference =
false);
777 static void updateProteinReferences(
779 bool remove_peptides_without_reference =
false);
789 static bool updateProteinGroups(
790 std::vector<ProteinIdentification::ProteinGroup>& groups,
791 const std::vector<ProteinHit>& hits);
799 static void removeUngroupedProteins(
800 const std::vector<ProteinIdentification::ProteinGroup>& groups,
801 std::vector<ProteinHit>& hits);
809 template <
class IdentificationType>
812 struct HasNoHits<IdentificationType> empty_filter;
813 removeMatchingItems(ids, empty_filter);
821 template <
class IdentificationType>
823 double threshold_score)
825 for (
typename std::vector<IdentificationType>::iterator id_it =
826 ids.begin(); id_it != ids.end(); ++id_it)
828 struct HasGoodScore<typename IdentificationType::HitType> score_filter(
829 threshold_score, id_it->isHigherScoreBetter());
830 keepMatchingItems(id_it->getHits(), score_filter);
840 static void filterGroupsByScore(std::vector<ProteinIdentification::ProteinGroup>& grps,
841 double threshold_score, bool higher_better);
848 template <class IdentificationType>
849 static void filterHitsByScore(IdentificationType& id,
850 double threshold_score)
852 struct HasGoodScore<typename IdentificationType::HitType> score_filter(
853 threshold_score, id->isHigherScoreBetter());
854 keepMatchingItems(id->getHits(), score_filter);
862 template <class IdentificationType>
863 static void keepNBestHits(std::vector<IdentificationType>& ids, Size n)
865 for (
typename std::vector<IdentificationType>::iterator id_it =
866 ids.begin(); id_it != ids.end(); ++id_it)
869 if (n < id_it->getHits().size()) id_it->getHits().resize(n);
887 template <
class IdentificationType>
894 struct HasMaxRank<typename IdentificationType::HitType>
895 rank_filter(min_rank - 1);
896 for (typename std::vector<IdentificationType>::iterator id_it =
897 ids.begin(); id_it != ids.end(); ++id_it)
899 removeMatchingItems(id_it->getHits(), rank_filter);
902 if (max_rank >= min_rank)
904 struct HasMaxRank<typename IdentificationType::HitType>
905 rank_filter(max_rank);
906 for (typename std::vector<IdentificationType>::iterator id_it =
907 ids.begin(); id_it != ids.end(); ++id_it)
909 keepMatchingItems(id_it->getHits(), rank_filter);
921 template <
class IdentificationType>
926 for (typename std::vector<IdentificationType>::iterator id_it =
927 ids.begin(); id_it != ids.end(); ++id_it)
929 removeMatchingItems(id_it->getHits(), decoy_filter);
940 template <
class IdentificationType>
942 const std::set<String> accessions)
945 for (auto& id_it : ids)
947 removeMatchingItems(id_it.getHits(), acc_filter);
958 template <
class IdentificationType>
960 const std::set<String>& accessions)
963 for (auto& id_it : ids)
965 keepMatchingItems(id_it.getHits(), acc_filter);
981 static void keepBestPeptideHits(
982 std::vector<PeptideIdentification>& peptides,
bool strict =
false);
992 static void filterPeptidesByLength(
993 std::vector<PeptideIdentification>& peptides,
Size min_length,
994 Size max_length = UINT_MAX);
1004 static void filterPeptidesByCharge(
1005 std::vector<PeptideIdentification>& peptides,
Int min_charge,
1009 static void filterPeptidesByRT(std::vector<PeptideIdentification>& peptides,
1010 double min_rt,
double max_rt);
1013 static void filterPeptidesByMZ(std::vector<PeptideIdentification>& peptides,
1014 double min_mz,
double max_mz);
1027 static void filterPeptidesByMZError(
1028 std::vector<PeptideIdentification>& peptides,
double mass_error,
1038 template <
class Filter>
1039 static void filterPeptideEvidences(
1041 std::vector<PeptideIdentification>& peptides);
1054 static void filterPeptidesByRTPredictPValue(
1055 std::vector<PeptideIdentification>& peptides,
1056 const String& metavalue_key,
double threshold = 0.05);
1059 static void removePeptidesWithMatchingModifications(
1060 std::vector<PeptideIdentification>& peptides,
1061 const std::set<String>& modifications);
1064 static void keepPeptidesWithMatchingModifications(
1065 std::vector<PeptideIdentification>& peptides,
1066 const std::set<String>& modifications);
1075 static void removePeptidesWithMatchingSequences(
1076 std::vector<PeptideIdentification>& peptides,
1077 const std::vector<PeptideIdentification>& bad_peptides,
1078 bool ignore_mods =
false);
1087 static void keepPeptidesWithMatchingSequences(
1088 std::vector<PeptideIdentification>& peptides,
1089 const std::vector<PeptideIdentification>& good_peptides,
1090 bool ignore_mods =
false);
1093 static void keepUniquePeptidesPerProtein(std::vector<PeptideIdentification>&
1101 static void removeDuplicatePeptideHits(std::vector<PeptideIdentification>&
1102 peptides,
bool seq_only =
false);
1112 double peptide_threshold_score,
1113 double protein_threshold_score)
1117 protein_threshold_score);
1123 exp_it != experiment.
end(); ++exp_it)
1125 filterHitsByScore(exp_it->getPeptideIdentifications(),
1126 peptide_threshold_score);
1127 removeEmptyIdentifications(exp_it->getPeptideIdentifications());
1128 updateProteinReferences(exp_it->getPeptideIdentifications(),
1139 std::vector<PeptideIdentification> all_peptides;
1143 exp_it != experiment.
end(); ++exp_it)
1145 std::vector<PeptideIdentification>& peptides =
1146 exp_it->getPeptideIdentifications();
1147 keepNBestHits(peptides, n);
1148 removeEmptyIdentifications(peptides);
1149 updateProteinReferences(peptides,
1151 all_peptides.insert(all_peptides.end(), peptides.begin(),
1160 template <
class MapType>
1165 for (
auto& feat : map)
1167 keepNBestHits(feat.getPeptideIdentifications(), n);
1169 keepNBestHits(map.getUnassignedPeptideIdentifications(), n);
1172 template <
class MapType>
1176 removeMatchingPeptideIdentifications(prot_and_pep_ids, pred);
1180 static void keepBestPerPeptide(std::vector<PeptideIdentification>& pep_ids,
bool ignore_mods,
bool ignore_charges,
Size nr_best_spectrum)
1182 annotateBestPerPeptide(pep_ids, ignore_mods, ignore_charges, nr_best_spectrum);
1184 keepMatchingItemsUnroll(pep_ids, best_per_peptide);
1187 static void keepBestPerPeptidePerRun(std::vector<ProteinIdentification>& prot_ids, std::vector<PeptideIdentification>& pep_ids,
bool ignore_mods,
bool ignore_charges,
Size nr_best_spectrum)
1189 annotateBestPerPeptidePerRun(prot_ids, pep_ids, ignore_mods, ignore_charges, nr_best_spectrum);
1191 keepMatchingItemsUnroll(pep_ids, best_per_peptide);
1195 template <
class MapType>
1201 for (
const auto& idrun : prot_ids)
1206 for (
auto& feat : prot_and_pep_ids)
1208 annotateBestPerPeptidePerRunWithData(best_peps_per_run, feat.getPeptideIdentifications(), ignore_mods, ignore_charges, nr_best_spectrum);
1211 annotateBestPerPeptidePerRunWithData(best_peps_per_run, prot_and_pep_ids.getUnassignedPeptideIdentifications(), ignore_mods, ignore_charges, nr_best_spectrum);
1214 template <
class MapType>
1217 annotateBestPerPeptidePerRun(prot_and_pep_ids, ignore_mods, ignore_charges, nr_best_spectrum);
1219 keepMatchingPeptideHits(prot_and_pep_ids, best_per_peptide);
1224 static void annotateBestPerPeptidePerRun(
const std::vector<ProteinIdentification>& prot_ids, std::vector<PeptideIdentification>& pep_ids,
bool ignore_mods,
bool ignore_charges,
Size nr_best_spectrum)
1227 for (
const auto&
id : prot_ids)
1231 annotateBestPerPeptidePerRunWithData(best_peps_per_run, pep_ids, ignore_mods, ignore_charges, nr_best_spectrum);
1239 for (
auto &pep : pep_ids)
1242 annotateBestPerPeptideWithData(best_pep, pep, ignore_mods, ignore_charges, nr_best_spectrum);
1252 for (
auto& pep : pep_ids)
1254 annotateBestPerPeptideWithData(best_pep, pep, ignore_mods, ignore_charges, nr_best_spectrum);
1268 auto pepIt = pep.
getHits().begin();
1269 auto pepItEnd = nr_best_spectrum == 0 || pep.
getHits().size() <= nr_best_spectrum ? pep.
getHits().end() : pep.
getHits().begin() + nr_best_spectrum;
1270 for (; pepIt != pepItEnd; ++pepIt)
1284 int lookup_charge = 0;
1285 if (!ignore_charges)
1291 auto it_inserted = best_pep.emplace(std::move(lookup_seq),
ChargeToPepHitP());
1292 auto it_inserted_chg = it_inserted.first->second.emplace(lookup_charge, &hit);
1294 PeptideHit* &p = it_inserted_chg.first->second;
1295 if (!it_inserted_chg.second)
1322 const std::vector<FASTAFile::FASTAEntry>& proteins)
1324 std::set<String> accessions;
1325 for (std::vector<FASTAFile::FASTAEntry>::const_iterator it =
1326 proteins.begin(); it != proteins.end(); ++it)
1328 accessions.insert(it->identifier);
1338 exp_it != experiment.
end(); ++exp_it)
1340 if (exp_it->getMSLevel() == 2)
1342 keepHitsMatchingProteins(exp_it->getPeptideIdentifications(),
1344 removeEmptyIdentifications(exp_it->getPeptideIdentifications());
1345 updateHitRanks(exp_it->getPeptideIdentifications());
1355 static void keepBestMatchPerQuery(
1359 static void filterQueryMatchesByScore(
OpenMS identification format (.idXML)
Definition: FileTypes.h:66
Int getCharge() const
returns the charge of the peptide
HasGoodScore(double score_, bool higher_score_better_)
Definition: IDFilter.h:108
Base class for TOPP applications.
Definition: TOPPBase.h:144
void store(const String &filename, const std::vector< ProteinIdentification > &poid, const std::vector< PeptideIdentification > &peid) const
Stores the identifications in a MzIdentML file.
Used to load (storing not supported, yet) ProtXML files.
Definition: ProtXMLFile.h:70
static void removeMatchingItems(Container &items, const Predicate &pred)
Remove items that satisfy a condition from a container (e.g. vector)
Definition: IDFilter.h:532
Representation of a Sequest output file.
Definition: SequestOutfile.h:61
ConstIterator end() const
Gives access to the underlying text buffer.
integer list
Definition: DataValue.h:71
void load(const String &filename, ProteinIdentification &protein_identification, std::vector< PeptideIdentification > &id_data, ModificationDefinitionsSet &mod_def_set)
loads data from an X! Tandem XML file
Used to load Mascot XML files.
Definition: MascotXMLFile.h:57
static const std::string NamesOfSpecificity[SIZE_OF_SPECIFICITY]
Names of the Specificity.
Definition: EnzymaticDigestion.h:77
OPENMS_UINT64_TYPE UInt64
Unsigned integer type (64bit)
Definition: Types.h:77
Definition: PercolatorOutfile.h:58
static void keepUniquePeptidesPerProtein(std::vector< PeptideIdentification > &peptides)
Removes all peptides that are not annotated as unique for a protein (by PeptideIndexer)
static void keepBestPerPeptidePerRun(MapType &prot_and_pep_ids, bool ignore_mods, bool ignore_charges, Size nr_best_spectrum)
Definition: IDFilter.h:1215
void load(const String &filename, ProteinIdentification &protein_ids, PeptideIdentification &peptide_ids)
Loads the identifications of an ProtXML file without identifier.
void store(const String &filename, const ConsensusMap &consensus_map)
Stores a consensus map to file.
EnzymaticDigestion & digestion_
Definition: IDFilter.h:390
static void keepNBestHits(std::vector< IdentificationType > &ids, Size n)
Filters peptide or protein identifications according to the score of the hits, keeping the n best hit...
Definition: IDFilter.h:863
A method or algorithm argument contains illegal values.
Definition: Exception.h:648
string value
Definition: DataValue.h:67
void store(const String &filename, const std::vector< ProteinIdentification > &protein_ids, const std::vector< PeptideIdentification > &peptide_ids, const String &document_id="")
Stores the data in an idXML file.
static const std::string score_type_names[SIZE_OF_SCORETYPE]
Names of Percolator scores (to match ScoreType)
Definition: PercolatorOutfile.h:61
const AASequence & getSequence() const
returns the peptide sequence without trailing or following spaces
bool operator()(const HitType &hit) const
Definition: IDFilter.h:144
void setEnzyme(const String &name)
Sets the enzyme for the digestion (by name)
static void moveMatchingItems(Container &items, const Predicate &pred, Container &target)
Move items that satisfy a condition to a container (e.g. vector)
Definition: IDFilter.h:548
bool operator()(const HitType &hit) const
Definition: IDFilter.h:113
IdentificationType argument_type
Definition: IDFilter.h:500
static void keepHitsMatchingProteins(std::vector< IdentificationType > &ids, const std::set< String > &accessions)
Filters peptide or protein identifications according to the given proteins (positive).
Definition: IDFilter.h:959
double score
Definition: IDFilter.h:105
String identifier
Definition: FASTAFile.h:78
static ProteaseDB * getInstance()
this member function serves as a replacement of the constructor
Definition: DigestionEnzymeDB.h:69
Representation of a set of modification definitions.
Definition: ModificationDefinitionsSet.h:58
static void removeHitsMatchingProteins(std::vector< IdentificationType > &ids, const std::set< String > accessions)
Filters peptide or protein identifications according to the given proteins (negative).
Definition: IDFilter.h:941
const String & getHitKey(const PeptideEvidence &p) const
Definition: IDFilter.h:330
Invalid value exception.
Definition: Exception.h:335
bool operator()(PeptideHit &p) const
Definition: IDFilter.h:404
This class serves for reading in and writing FASTA files.
Definition: FASTAFile.h:64
static FileTypes::Type getTypeByFileName(const String &filename)
Determines the file type from a file name.
static void filterPeptidesByMZ(std::vector< PeptideIdentification > &peptides, double min_mz, double max_mz)
Filters peptide identifications by precursor m/z, keeping only IDs in the given range.
double toDouble() const
Conversion to double.
MzML file (.mzML)
Definition: FileTypes.h:72
String sequence
Definition: FASTAFile.h:80
void setValue(const String &key, const DataValue &value, const String &description="", const StringList &tags=StringList())
Sets a value.
TPP pepXML file (.pepXML)
Definition: FileTypes.h:75
string list
Definition: DataValue.h:70
void setSearchEngineVersion(const String &search_engine_version)
Sets the search engine version.
void load(const String &filename, std::vector< PeptideIdentification > &pep_ids, std::vector< ProteinIdentification > &prot_ids)
Load the content of the xquest.xml file into the provided data structures.
A more convenient string class.
Definition: String.h:59
Iterator begin()
Definition: MSExperiment.h:157
PeptideHit argument_type
Definition: IDFilter.h:395
std::map< std::string, SequenceToChargeToPepHitP > RunToSequenceToChargeToPepHitP
Definition: IDFilter.h:90
bool exists(const HitType &hit) const
Definition: IDFilter.h:325
Class for the enzymatic digestion of sequences.
Definition: EnzymaticDigestion.h:62
String & trim()
removes whitespaces (space, tab, line feed, carriage return) at the beginning and the end of the stri...
bool isEmpty() const
Test if the value is empty.
Definition: DataValue.h:375
Used to load OMSSAXML files.
Definition: OMSSAXMLFile.h:60
HasMatchingAccession(const std::set< String > &accessions_)
Definition: IDFilter.h:273
In-Memory representation of a mass spectrometry experiment.
Definition: MSExperiment.h:77
OpenMS consensus map format (.consensusXML)
Definition: FileTypes.h:67
Invalid conversion exception.
Definition: Exception.h:362
static void updateProteinReferences(std::vector< PeptideIdentification > &peptides, const std::vector< ProteinIdentification > &proteins, bool remove_peptides_without_reference=false)
Removes references to missing proteins.
void getAllNames(std::vector< String > &all_names) const
returns all the enzyme names (does NOT include synonym names)
Definition: DigestionEnzymeDB.h:122
This class provides some basic file handling methods for text files.
Definition: TextFile.h:46
bool operator()(const PeptideEvidence &evidence) const
Definition: IDFilter.h:454
String description
Definition: FASTAFile.h:79
void addMSLevel(int level)
adds a desired MS level for peaks to load
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
Representation of a protein hit.
Definition: ProteinHit.h:58
Size rank
Definition: IDFilter.h:133
void load(const String &filename, ProteinIdentification &proteins, std::vector< PeptideIdentification > &peptides, SpectrumMetaDataLookup &lookup, enum ScoreType output_score=QVALUE)
Loads a Percolator output file.
bool operator()(const ProteinHit &hit) const
Definition: IDFilter.h:286
static bool updateProteinGroups(std::vector< ProteinIdentification::ProteinGroup > &groups, const std::vector< ProteinHit > &hits)
Update protein groups after protein hits were filtered.
any TSV file, for example msInspect file or OpenSWATH transition file (see TransitionTSVFile)
Definition: FileTypes.h:87
empty value
Definition: DataValue.h:73
GetMatchingItems()
Definition: IDFilter.h:318
int exception
(Used by various macros. Indicates a rough category of the exception being caught....
ScoreType
Types of Percolator scores.
Definition: PercolatorOutfile.h:58
String toString() const
returns the peptide as string with modifications embedded in brackets
mzIdentML (HUPO PSI AnalysisXML followup format) (.mzid)
Definition: FileTypes.h:77
void startProgress(SignedSize begin, SignedSize end, const String &label) const
Initializes the progress display.
static Int disabledValue()
Definition: IDFilter.h:400
String toUnmodifiedString() const
returns the peptide as string without any modifications or (e.g., "PEPTIDER")
GetMatchingItems(std::vector< Entry > &records)
Definition: IDFilter.h:309
PeakFileOptions & getOptions()
Mutable access to the options for loading/storing.
Class for reading Percolator tab-delimited output files.
Definition: PercolatorOutfile.h:52
PeptideEvidence argument_type
Definition: IDFilter.h:436
Unknown file extension.
Definition: FileTypes.h:60
#define OPENMS_LOG_WARN
Macro if a warning, a piece of information which should be read by the user, should be logged.
Definition: LogStream.h:460
static Specificity getSpecificityByName(const String &name)
FASTA file (.fasta)
Definition: FileTypes.h:92
Representation of a protein identification run.
Definition: ProteinIdentification.h:70
void endProgress() const
Ends the progress display.
static void keepPeptidesWithMatchingModifications(std::vector< PeptideIdentification > &peptides, const std::set< String > &modifications)
Keeps only peptide hits that have at least one of the given modifications.
FASTA entry type (identifier, description and sequence)
Definition: FASTAFile.h:76
bool operator()(const PeptideEvidence &evidence) const
Definition: IDFilter.h:255
static void filterHitsByRank(std::vector< IdentificationType > &ids, Size min_rank, Size max_rank)
Filters peptide or protein identifications according to the ranking of the hits.
Definition: IDFilter.h:888
bool filterByMissedCleavages(const String &sequence, const std::function< bool(const Int)> &filter) const
Filter based on the number of missed cleavages.
void setMissedCleavages(Size missed_cleavages)
Sets the number of missed cleavages for the digestion (default is 0). This setting is ignored when lo...
static void removeMatchingItemsUnroll(IDContainer &items, const Predicate &pred)
Remove Hit items that satisfy a condition in one of our ID containers (e.g. vector of Peptide or Prot...
Definition: IDFilter.h:557
HasMatchingAccessionUnordered(const std::unordered_set< String > &accessions_)
Definition: IDFilter.h:237
Size size() const
Definition: MSExperiment.h:127
const std::vector< ProteinIdentification > & getProteinIdentifications() const
returns a const reference to the protein ProteinIdentification vector
void setHits(const std::vector< PeptideHit > &hits)
Sets the peptide hits.
fully enzyme specific, e.g., tryptic (ends with KR, AA-before is KR), or peptide is at protein termin...
Definition: EnzymaticDigestion.h:70
const std::vector< PeptideHit > & getHits() const
returns the peptide hits as const
Given a list of protein accessions, do any occur in the annotation(s) of this hit?
Definition: IDFilter.h:267
std::map< String, Entry * > ItemMap
Definition: IDFilter.h:306
void load(const String &filename, std::vector< ProteinIdentification > &protein_ids, std::vector< PeptideIdentification > &peptide_ids)
Loads the identifications of an idXML file without identifier.
void load(const String &result_filename, std::vector< PeptideIdentification > &peptide_identifications, ProteinIdentification &protein_identification, const double p_value_threshold, std::vector< double > &pvalues, const String &database="", const bool ignore_proteins_per_peptide=false)
loads data from a Sequest outfile
Exception indicating that an invalid parameter was handed over to an algorithm.
Definition: Exception.h:347
static String concatenate(const std::vector< T > &container, const String &glue="")
Concatenates all elements of the container and puts the glue string between elements.
Definition: ListUtils.h:193
static void keepMatchingItems(Container &items, const Predicate &pred)
Keep items that satisfy a condition in a container (e.g. vector), removing all others.
Definition: IDFilter.h:540
bool operator()(const HitType &hit) const
Definition: IDFilter.h:216
static ModificationsDB * getInstance()
Returns a pointer to the modifications DB (singleton)
bool operator()(const ProteinHit &hit) const
Definition: IDFilter.h:250
Aligns the peaks of two sorted spectra Method 1: Using a banded (width via 'tolerance' parameter) ali...
Definition: SpectrumAlignment.h:67
const std::set< String > & accessions
Definition: IDFilter.h:271
static enum ScoreType getScoreType(String score_type_name)
Return a score type given its name.
bool methionine_cleavage_
Definition: IDFilter.h:442
File adapter for MzIdentML files.
Definition: MzIdentMLFile.h:67
int Int
Signed integer type.
Definition: Types.h:102
static void removeDuplicatePeptideHits(std::vector< PeptideIdentification > &peptides, bool seq_only=false)
Removes duplicate peptide hits from each peptide identification, keeping only unique hits (per ID).
const String & getAccession() const
returns the accession of the protein
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
std::vector< SpectrumType >::iterator Iterator
Mutable iterator.
Definition: MSExperiment.h:111
static void filterPeptidesByLength(std::vector< PeptideIdentification > &peptides, Size min_length, Size max_length=UINT_MAX)
Filters peptide identifications according to peptide sequence length.
void filterPeptideSequences(std::vector< PeptideHit > &hits)
Definition: IDFilter.h:420
HitType argument_type
Definition: IDFilter.h:269
Used to load and store xQuest result files.
Definition: XQuestResultXMLFile.h:55
static void removeUnreferencedProteins(ConsensusMap &cmap, bool include_unassigned)
HasMaxRank(Size rank_)
Definition: IDFilter.h:135
integer value
Definition: DataValue.h:68
std::vector< String > variable_modifications
Allowed variable modifications.
Definition: ProteinIdentification.h:267
const std::string CONCAT_PEPTIDE
std::unordered_map< std::string, ChargeToPepHitP > SequenceToChargeToPepHitP
Definition: IDFilter.h:89
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:54
void load(const String &filename, ProteinIdentification &protein_identification, std::vector< PeptideIdentification > &id_data, const SpectrumMetaDataLookup &lookup)
Loads data from a Mascot XML file.
void sort()
Sorts the hits by score.
Class to hold strings, numeric values, lists of strings and lists of numeric values.
Definition: DataValue.h:56
Size findByNativeID(const String &native_id) const
Look up spectrum by native ID.
static void annotateBestPerPeptide(std::vector< PeptideIdentification > &pep_ids, bool ignore_mods, bool ignore_charges, Size nr_best_spectrum)
Definition: IDFilter.h:1249
const String & getKey(const FASTAFile::FASTAEntry &entry) const
Definition: IDFilter.h:320
static void filterPeptidesByRTPredictPValue(std::vector< PeptideIdentification > &peptides, const String &metavalue_key, double threshold=0.05)
Filters peptide identifications according to p-values from RTPredict.
bool hasValidLimits() const
start and end numbers in evidence represent actual numeric indices
HitType argument_type
Definition: IDFilter.h:233
static void annotateBestPerPeptideWithData(SequenceToChargeToPepHitP &best_pep, PeptideIdentification &pep, bool ignore_mods, bool ignore_charges, Size nr_best_spectrum)
Definition: IDFilter.h:1262
static void keepNBestHits(PeakMap &experiment, Size n)
Filters an MS/MS experiment by keeping the N best peptide hits for every spectrum.
Definition: IDFilter.h:1135
static bool isDirectory(const String &path)
Return true if the given path specifies a directory.
Facilitates file handling by file type recognition.
Definition: FileHandler.h:62
Helper class for looking up spectra based on different attributes.
Definition: SpectrumLookup.h:67
void addIonMatchStatistics(PeptideIdentification &pi, MSSpectrum &spec, const TheoreticalSpectrumGenerator &tg, const SpectrumAlignment &sa) const
Adds ion match statistics to pi PeptideIdentifcation.
static void keepBestPeptideHits(std::vector< PeptideIdentification > &peptides, bool strict=false)
Filters peptide identifications keeping only the single best-scoring hit per ID.
Collection of functions for filtering peptide and protein identifications.
Definition: IDFilter.h:77
Wrapper that adds operator< to iterators, so they can be used as (part of) keys in maps/sets or multi...
Definition: MetaData.h:43
bool loadExperiment(const String &filename, MSExperiment &exp, FileTypes::Type force_type=FileTypes::UNKNOWN, ProgressLogger::LogType log=ProgressLogger::NONE, const bool rewrite_source_file=true, const bool compute_hash=true)
Loads a file into an MSExperiment.
HitType argument_type
Definition: IDFilter.h:305
Type
Actual file types enum.
Definition: FileTypes.h:58
Representation of a peptide evidence.
Definition: PeptideEvidence.h:50
xQuest XML file format for protein-protein cross-link identifications (.xquest.xml)
Definition: FileTypes.h:112
static void filterPeptidesByCharge(std::vector< PeptideIdentification > &peptides, Int min_charge, Int max_charge)
Filters peptide identifications according to charge state.
void readSpectra(const SpectrumContainer &spectra, const String &scan_regexp=default_scan_regexp)
Read and index spectra for later look-up.
Definition: SpectrumLookup.h:103
HitType argument_type
Definition: IDFilter.h:208
static void filterPeptidesByRT(std::vector< PeptideIdentification > &peptides, double min_rt, double max_rt)
Filters peptide identifications by precursor RT, keeping only IDs in the given range.
void addReferenceFormat(const String ®exp)
Register a possible format for a spectrum reference.
void filterPeptideEvidences(std::vector< PeptideIdentification > &peptides)
Definition: IDFilter.h:483
void store(const String &filename, std::vector< ProteinIdentification > &protein_ids, std::vector< PeptideIdentification > &peptide_ids, const String &mz_file="", const String &mz_name="", bool peptideprophet_analyzed=false, double rt_tolerance=0.01)
Stores idXML as PepXML file.
static FileTypes::Type getType(const String &filename)
Tries to determine the file type (by name or content)
static void updateHitRanks(std::vector< IdentificationType > &ids)
Updates the hit ranks on all peptide or protein IDs.
Definition: IDFilter.h:740
const Entry & getValue(const PeptideEvidence &evidence) const
Definition: IDFilter.h:335
void setParameters(const Param ¶m)
Sets the parameters.
static void keepPeptidesWithMatchingSequences(std::vector< PeptideIdentification > &peptides, const std::vector< PeptideIdentification > &good_peptides, bool ignore_mods=false)
Removes all peptide hits with a sequence that does not match one in good_peptides.
bool operator()(const PeptideEvidence &evidence) const
Definition: IDFilter.h:291
void writeNext(const FASTAEntry &protein)
Stores the data given by protein. Call writeStart() once before calling writeNext().
const Param & getDefaults() const
Non-mutable access to the default parameters.
HasDecoyAnnotation()
Definition: IDFilter.h:212
std::vector< String >::iterator Iterator
Mutable iterator.
Definition: TextFile.h:54
Mascot XML file format for peptide identifications (.xml)
Definition: FileTypes.h:84
HitType argument_type
Definition: IDFilter.h:131
std::set< String > extractProteinAccessionsSet() const
extracts the set of non-empty protein accessions from peptide evidences
DataType valueType() const
returns the type of value stored
Definition: DataValue.h:365
static Size countHits(const std::vector< IdentificationType > &ids)
Returns the total number of peptide/protein hits in a vector of peptide/protein identifications.
Definition: IDFilter.h:613
bool find(TFinder &finder, const Pattern< TNeedle, FuzzyAC > &me, PatternAuxData< TNeedle > &dh)
Definition: AhoCorasickAmbiguous.h:884
OMSSA XML file format for peptide identifications (.xml)
Definition: FileTypes.h:83
A container for consensus elements.
Definition: ConsensusMap.h:80
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
bool higher_score_better
Definition: IDFilter.h:106
void load(const String &filename, ConsensusMap &map)
Loads a consensus map from file and calls updateRanges.
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
static const DataValue EMPTY
Empty data value for comparisons.
Definition: DataValue.h:62
void writeStart(const String &filename)
Prepares a FASTA file given by 'filename' for streamed writing using writeNext().
void setSequence(const AASequence &sequence)
sets the peptide sequence
double value
Definition: DataValue.h:69
void load(const String &filename, std::vector< ProteinIdentification > &poid, std::vector< PeptideIdentification > &peid)
Loads the identifications from a MzIdentML file.
TPP protXML file (.protXML)
Definition: FileTypes.h:76
bool isValidProduct(const String &protein, int pep_pos, int pep_length, bool ignore_missed_cleavages=true, bool allow_nterm_protein_cleavage=false, bool allow_random_asp_pro_cleavage=false) const
Variant of EnzymaticDigestion::isValidProduct() with support for n-term protein cleavage and random D...
static void annotateBestPerPeptidePerRun(const std::vector< ProteinIdentification > &prot_ids, std::vector< PeptideIdentification > &pep_ids, bool ignore_mods, bool ignore_charges, Size nr_best_spectrum)
Definition: IDFilter.h:1224
static void annotateBestPerPeptidePerRun(MapType &prot_and_pep_ids, bool ignore_mods, bool ignore_charges, Size nr_best_spectrum)
Definition: IDFilter.h:1196
Builds a map index of data that have a String index to find matches and return the objects.
Definition: IDFilter.h:303
static void keepMatchingPeptideHits(MapType &prot_and_pep_ids, Predicate &pred)
Definition: IDFilter.h:576
int main(int argc, const char **argv)
Definition: INIFileEditor.cpp:73
static void initializeLookup(SpectrumMetaDataLookup &lookup, const PeakMap &experiment, const String &scan_regex="")
Initializes a helper object for looking up spectrum meta data (RT, m/z)
bool ignore_missed_cleavages_
Definition: IDFilter.h:441
void setSearchEngine(const String &search_engine)
Sets the search engine type.
String toString(const T &i)
fallback template for general purpose using Boost::Karma; more specializations below
Definition: StringUtils.h:127
Is peptide evidence digestion product of some protein.
Definition: IDFilter.h:434
ConstIterator begin() const
Gives access to the underlying text buffer.
ptrdiff_t SignedSize
Signed Size type e.g. used as pointer difference.
Definition: Types.h:134
Generates theoretical spectra for peptides with various options.
Definition: TheoreticalSpectrumGenerator.h:68
ItemMap items
Definition: IDFilter.h:307
Representation of spectrum identification results and associated data.
Definition: IdentificationData.h:89
Int getStart() const
get the position in the protein (starting at 0 for the N-terminus). If not available UNKNOWN_POSITION...
String getEnzymeName() const
Returns the enzyme for the digestion.
static void keepMatchingItemsUnroll(IDContainer &items, const Predicate &pred)
Keep Hit items that satisfy a condition in one of our ID containers (e.g. vector of Peptide or Protei...
Definition: IDFilter.h:567
#define OPENMS_LOG_ERROR
Macro to be used if non-fatal error are reported (processing continues)
Definition: LogStream.h:455
static String absolutePath(const String &file)
Replaces the relative path in the argument with the absolute path.
static void keepBestPerPeptide(std::vector< PeptideIdentification > &pep_ids, bool ignore_mods, bool ignore_charges, Size nr_best_spectrum)
Filters PeptideHits from PeptideIdentification by keeping only the best peptide hits for every peptid...
Definition: IDFilter.h:1180
Represents the peptide hits for a spectrum.
Definition: PeptideIdentification.h:62
Parse Error exception.
Definition: Exception.h:622
static void removeMatchingPeptideIdentifications(MapType &prot_and_pep_ids, Predicate &pred)
Definition: IDFilter.h:596
static void load(const String &filename, std::vector< FASTAEntry > &data)
loads a FASTA file given by 'filename' and stores the information in 'data'
Is the list of hits of this peptide/protein ID empty?
Definition: IDFilter.h:498
Class for the enzymatic digestion of proteins.
Definition: ProteaseDigestion.h:60
static std::vector< PeptideHit > getReferencingHits(const std::vector< PeptideHit > &, const std::set< String > &accession)
returns all peptide hits which reference to a given protein accession (i.e. filter by protein accessi...
Iterator end()
Definition: MSExperiment.h:167
static void filterPeptidesByMZError(std::vector< PeptideIdentification > &peptides, double mass_error, bool unit_ppm)
Filter peptide identifications according to mass deviation.
const std::vector< MSSpectrum > & getSpectra() const
returns the spectrum list
double getScore() const
returns the PSM score
Int max_cleavages_
Definition: IDFilter.h:392
void load(const String &filename, std::vector< ProteinIdentification > &proteins, std::vector< PeptideIdentification > &peptides, const String &experiment_name, const SpectrumMetaDataLookup &lookup)
Loads peptide sequences with modifications out of a PepXML file.
bool operator()(const PeptideHit &hit) const
Definition: IDFilter.h:277
Given a list of protein accessions, do any occur in the annotation(s) of this hit?
Definition: IDFilter.h:231
bool operator()(const PeptideHit &hit) const
Definition: IDFilter.h:241
static void removeEmptyIdentifications(std::vector< IdentificationType > &ids)
Removes peptide or protein identifications that have no hits in them.
Definition: IDFilter.h:810
static Type nameToType(const String &name)
Converts a file type name into a Type.
static void removePeptidesWithMatchingModifications(std::vector< PeptideIdentification > &peptides, const std::set< String > &modifications)
Removes all peptide hits that have at least one of the given modifications.
const char * getMessage() const noexcept
Returns the message.
ProteaseDigestion & digestion_
Definition: IDFilter.h:440
Is the score of this hit at least as good as the given value?
Definition: IDFilter.h:101
HitType argument_type
Definition: IDFilter.h:103
std::map< Int, PeptideHit * > ChargeToPepHitP
Typedefs.
Definition: IDFilter.h:88
Used to load XTandemXML files.
Definition: XTandemXMLFile.h:56
void getAllSearchModifications(std::vector< String > &modifications) const
Collects all modifications that can be used for identification searches.
DigestionFilter(std::vector< FASTAFile::FASTAEntry > &entries, ProteaseDigestion &digestion, bool ignore_missed_cleavages, bool methionine_cleavage)
Definition: IDFilter.h:444
Management and storage of parameters / INI files.
Definition: Param.h:73
static bool getBestHit(const std::vector< IdentificationType > &identifications, bool assume_sorted, typename IdentificationType::HitType &best_hit)
Finds the best-scoring hit in a vector of peptide or protein identifications.
Definition: IDFilter.h:637
static void removePeptidesWithMatchingSequences(std::vector< PeptideIdentification > &peptides, const std::vector< PeptideIdentification > &bad_peptides, bool ignore_mods=false)
Removes all peptide hits with a sequence that matches one in bad_peptides.
Filter Peptide Hit by its digestion product.
Definition: IDFilter.h:387
double list
Definition: DataValue.h:72
static void keepHitsMatchingProteins(PeakMap &experiment, const std::vector< FASTAFile::FASTAEntry > &proteins)
Filters an MS/MS experiment according to the given proteins.
Definition: IDFilter.h:1320
static void keepNBestPeptideHits(MapType &map, Size n)
Filters a Consensus/FeatureMap by keeping the N best peptide hits for every spectrum.
Definition: IDFilter.h:1161
GetMatchingItems< PeptideEvidence, FASTAFile::FASTAEntry > accession_resolver_
Definition: IDFilter.h:439
Used to load and store PepXML files.
Definition: PepXMLFile.h:63
String & ensureLastChar(char end)
Makes sure the string ends with the character end.
static AASequence fromString(const String &s, bool permissive=true)
create AASequence object by parsing an OpenMS string
static void filterHitsByScore(std::vector< IdentificationType > &ids, double threshold_score)
Filters peptide or protein identifications according to the score of the hits.
Definition: IDFilter.h:822
Int min_cleavages_
Definition: IDFilter.h:391
const String & getProteinAccession() const
get the protein accession the peptide matches to. If not available the empty string is returned.
#define OPENMS_LOG_INFO
Macro if a information, e.g. a status should be reported.
Definition: LogStream.h:465
void setSpecificity(Specificity spec)
Sets the specificity for the digestion (default is SPEC_FULL).
static void removeUngroupedProteins(const std::vector< ProteinIdentification::ProteinGroup > &groups, std::vector< ProteinHit > &hits)
Update protein hits after protein groups were filtered.
void setIdentifier(const String &id)
Sets the identifier.
const std::unordered_set< String > & accessions
Definition: IDFilter.h:235
static bool fileList(const String &dir, const String &file_pattern, StringList &output, bool full_path=false)
Retrieves a list of files matching file_pattern in directory dir (returns filenames without paths unl...
Specificity getSpecificity() const
Returns the specificity for the digestion.
Element could not be found exception.
Definition: Exception.h:662
static void removeDecoyHits(std::vector< IdentificationType > &ids)
Removes hits annotated as decoys from peptide or protein identifications.
Definition: IDFilter.h:922
void store(const String &filename, const std::vector< ProteinIdentification > &poid, const std::vector< PeptideIdentification > &peid) const
Stores the identifications in a xQuest XML file.
static void filterHitsByScore(PeakMap &experiment, double peptide_threshold_score, double protein_threshold_score)
Filters an MS/MS experiment according to score thresholds.
Definition: IDFilter.h:1111
Search parameters of the DB search.
Definition: ProteinIdentification.h:258
void load(const String &filename, ProteinIdentification &protein_identification, std::vector< PeptideIdentification > &id_data, bool load_proteins=true, bool load_empty_hits=true)
loads data from a OMSSAXML file
static void annotateBestPerPeptidePerRunWithData(RunToSequenceToChargeToPepHitP &best_peps_per_run, std::vector< PeptideIdentification > &pep_ids, bool ignore_mods, bool ignore_charges, Size nr_best_spectrum)
Definition: IDFilter.h:1237
bool isHigherScoreBetter() const
returns the peptide score orientation
Is this a decoy hit?
Definition: IDFilter.h:206
void load(const String &filename, bool trim_lines=false, Int first_n=-1, bool skip_empty_lines=false)
Loads data from a text file.
any XML format
Definition: FileTypes.h:98
Int toInt() const
Conversion to int.
Int getEnd() const
get the position of the last AA of the peptide in protein coordinates (starting at 0 for the N-termin...
void setLogType(LogType type) const
Sets the progress log that should be used. The default type is NONE!
static void filterGroupsByScore(std::vector< ProteinIdentification::ProteinGroup > &grps, double threshold_score, bool higher_better)
Filters protein groups according to the score of the groups.
Annotates spectra from identifications and theoretical spectra or identifications from spectra and th...
Definition: SpectrumAnnotator.h:60
static void removeEmptyIdentifications(MapType &prot_and_pep_ids)
Definition: IDFilter.h:1173
static void removeMatchingPeptideHits(MapType &prot_and_pep_ids, Predicate &pred)
Definition: IDFilter.h:586
This class provides Input functionality for ConsensusMaps and Output functionality for alignments and...
Definition: ConsensusXMLFile.h:62
Used to load and store idXML files.
Definition: IdXMLFile.h:63
Percolator tab-delimited output (PSM level)
Definition: FileTypes.h:107
Is the rank of this hit below or at the given cut-off?
Definition: IDFilter.h:129
static void FilterPeptideEvidences(EvidenceFilter &filter, std::vector< PeptideIdentification > &peptides)
remove peptide evidences based on a filter
Definition: IDFilter.h:712
PeptideDigestionFilter(EnzymaticDigestion &digestion, Int min, Int max)
Definition: IDFilter.h:396
Command line progress.
Definition: ProgressLogger.h:72
bool operator()(const IdentificationType &id) const
Definition: IDFilter.h:502
Representation of a peptide hit.
Definition: PeptideHit.h:55
static void keepBestPerPeptidePerRun(std::vector< ProteinIdentification > &prot_ids, std::vector< PeptideIdentification > &pep_ids, bool ignore_mods, bool ignore_charges, Size nr_best_spectrum)
Definition: IDFilter.h:1187