Go to the documentation of this file.
25 #ifndef _DIGESTION_HPP_
26 #define _DIGESTION_HPP_
33 #include "boost/shared_ptr.hpp"
55 std::string::const_iterator end,
57 size_t missedCleavages,
58 bool NTerminusIsSpecific,
59 bool CTerminusIsSpecific,
60 std::string NTerminusPrefix =
"",
61 std::string CTerminusSuffix =
"");
65 size_t missedCleavages,
66 bool NTerminusIsSpecific,
67 bool CTerminusIsSpecific,
68 std::string NTerminusPrefix =
"",
69 std::string CTerminusSuffix =
"");
139 Config(
int maximumMissedCleavages = 100000,
142 int minimumLength = 0,
143 int maximumLength = 100000,
144 Specificity minimumSpecificity = FullySpecific,
145 bool clipNTerminalMethionine =
true);
242 friend class Digestion::Impl;
255 friend class const_iterator::Impl;
264 #endif // _DIGESTION_HPP_
static std::string disambiguateCleavageAgentRegex(const std::string &cleavageAgentRegex)
returns a modified version of a cleavage agent regex where any ambiguous AA symbols (BJXZ) are augmen...
std::vector< DigestedPeptide > find_all(const Peptide &peptide) const
returns all instances of the given peptide in the polypeptide under digestion; note: the filters set ...
Digestion(const Peptide &polypeptide, const std::vector< CVID > &cleavageAgents, const Config &config=Config())
specifies digestion occurs by a combination of commonly used cleavage agents
DigestedPeptide value_type
int maximumMissedCleavages
const_iterator(const Digestion &digestion)
std::forward_iterator_tag iterator_category
DigestedPeptide(const char *sequence)
static const std::vector< std::string > & getCleavageAgentNames()
returns the names of the set of predefined cleavage agents defined in the PSI-MS CV
bool clipNTerminalMethionine
boost::shared_ptr< Impl > impl_
virtual ~DigestedPeptide()
PWIZ_API_DECL CVID cleavageAgent(const Enzyme &ez)
returns a cleavage agent CVID for an identdata::Enzyme
represents a peptide or polypeptide (a sequence of amino acids)
boost::shared_ptr< Impl > impl_
static const std::set< CVID > & getCleavageAgents()
returns the set of predefined cleavage agents defined in the PSI-MS CV
std::string NTerminusPrefix_
DigestedPeptide(const DigestedPeptide &)
static CVID getCleavageAgentByName(const std::string &agentName)
returns the cvid of the specified cleavage agent using a case-insensitive search, or CVID_Unknown if ...
size_t specificTermini() const
returns the number of termini that matched to the digestion rules
DigestedPeptide(const Peptide &peptide, size_t offset, size_t missedCleavages, bool NTerminusIsSpecific, bool CTerminusIsSpecific, std::string NTerminusPrefix="", std::string CTerminusSuffix="")
const DigestedPeptide & operator*() const
Config(int maximumMissedCleavages=100000, int minimumLength=0, int maximumLength=100000, Specificity minimumSpecificity=FullySpecific, bool clipNTerminalMethionine=true)
bool CTerminusIsSpecific() const
returns true iff the C terminus matched the digestion rules
PWIZ_API_DECL proteome::Peptide peptide(const Peptide &peptide)
creates a proteome::Peptide from an identdata::Peptide
bool NTerminusIsSpecific() const
returns true iff the N terminus matched the digestion rules
PWIZ_API_DECL std::vector< std::string > cleavageAgentRegexes(const Enzymes &enzymes)
returns a list of regular expressions for an identdata::Enzymes instance
bool operator==(const DigestedPeptide &rhs) const
returns true iff peptide sequences, masses, and all digestion metadata are equal
std::string CTerminusSuffix() const
returns residue following digestion site
const_iterator begin() const
size_t missedCleavages() const
returns the number of missed cleavage sites in the peptide
static const std::string & getCleavageAgentRegex(CVID agentCvid)
returns the official PSI Perl regular expression defining the places in a polypeptide or protein that...
DigestedPeptide(std::string::const_iterator begin, std::string::const_iterator end, size_t offset, size_t missedCleavages, bool NTerminusIsSpecific, bool CTerminusIsSpecific, std::string NTerminusPrefix="", std::string CTerminusSuffix="")
static CVID getCleavageAgentByRegex(const std::string &agentRegex)
returns the cvid of the specified cleavage agent looking it up by the Perl regular expression,...
bool operator==(const const_iterator &that) const
provides forward-only, read-only iteration to enumerate peptides
const_iterator(const const_iterator &rhs)
bool CTerminusIsSpecific_
bool NTerminusIsSpecific_
const DigestedPeptide * operator->() const
DigestedPeptide find_first(const Peptide &peptide, size_t offsetHint=0) const
returns the first instance of the given peptide in the polypeptide under digestion; if offsetHint is ...
size_t offset() const
returns the zero-based offset of the N terminus of the peptide in the polypeptide from which it was d...
PWIZ_API_DECL std::string cleavageAgentRegex(const Enzyme &ez)
returns a regular expression for an identdata::Enzyme
sets constraints for valid peptides produced by iterating the digestion
enumerates the peptides from proteolytic digestion of a polypeptide or protein;
const_iterator & operator++()
Digestion(const Peptide &polypeptide, const std::vector< std::string > &cleavageAgentRegexes, const Config &config=Config())
specifies digestion occurs by a combination of user-specified, zero-width Perl regular expressions ex...
const_iterator end() const
std::string NTerminusPrefix() const
returns residue preceding digestion site
const_iterator operator++(int)
DigestedPeptide(const std::string &sequence)
PWIZ_API_DECL std::vector< CVID > cleavageAgents(const Enzymes &enzymes)
returns a list of cleavage agent CVIDs for an identdata::Enzymes instance
SemiSpecific
neither termini must match digestion motif(s)
Digestion(const Peptide &polypeptide, CVID cleavageAgent, const Config &config=Config())
specifies digestion occurs by a commonly used cleavage agent
std::string CTerminusSuffix_
peptide subclass that contains extra metadata provided by digestion
Digestion(const Peptide &polypeptide, const std::string &cleavageAgentRegex, const Config &config=Config())
specifies digestion occurs by a user-specified, zero-width Perl regular expression example: "(?...
bool operator!=(const const_iterator &that) const
Specificity minimumSpecificity
DigestedPeptide & operator=(const DigestedPeptide &)