25 #ifndef _DIGESTION_HPP_
26 #define _DIGESTION_HPP_
33 #include <boost/regex.hpp>
34 #include "boost/shared_ptr.hpp"
56 std::string::const_iterator end,
58 size_t missedCleavages,
59 bool NTerminusIsSpecific,
60 bool CTerminusIsSpecific,
61 std::string NTerminusPrefix =
"",
62 std::string CTerminusSuffix =
"");
66 size_t missedCleavages,
67 bool NTerminusIsSpecific,
68 bool CTerminusIsSpecific,
69 std::string NTerminusPrefix =
"",
70 std::string CTerminusSuffix =
"");
78 size_t offset()
const;
81 size_t missedCleavages()
const;
84 size_t specificTermini()
const;
87 bool NTerminusIsSpecific()
const;
90 bool CTerminusIsSpecific()
const;
93 std::string NTerminusPrefix()
const;
96 std::string CTerminusSuffix()
const;
140 Config(
int maximumMissedCleavages = 100000,
143 int minimumLength = 0,
144 int maximumLength = 100000,
145 Specificity minimumSpecificity = FullySpecific,
146 bool clipNTerminalMethionine =
true);
150 static const std::set<CVID>& getCleavageAgents();
153 static const std::vector<std::string>& getCleavageAgentNames();
157 static CVID getCleavageAgentByName(
const std::string& agentName);
161 static CVID getCleavageAgentByRegex(
const std::string& agentRegex);
165 static const std::string& getCleavageAgentRegex(CVID agentCvid);
169 static std::string disambiguateCleavageAgentRegex(
const std::string&
cleavageAgentRegex);
201 std::vector<DigestedPeptide> find_all(
const Peptide&
peptide)
const;
243 friend class Digestion::Impl;
246 boost::shared_ptr<Impl>
impl_;
254 friend class const_iterator::Impl;
263 #endif // _DIGESTION_HPP_
PWIZ_API_DECL boost::regex cleavageAgentRegex(const Enzyme &ez)
returns a regular expression for an identdata::Enzyme
std::forward_iterator_tag iterator_category
PWIZ_API_DECL const CV & cv(const std::string &prefix)
returns a CV object for the specified namespace (prefix); currently supported namespaces are: MS UO ...
bool NTerminusIsSpecific_
provides forward-only, read-only iteration to enumerate peptides
PWIZ_API_DECL proteome::Peptide peptide(const Peptide &peptide)
creates a proteome::Peptide from an identdata::Peptide
boost::shared_ptr< Impl > impl_
DigestedPeptide value_type
sets constraints for valid peptides produced by iterating the digestion
PWIZ_API_DECL std::vector< boost::regex > cleavageAgentRegexes(const Enzymes &enzymes)
returns a list of regular expressions for an identdata::Enzymes instance
int maximumMissedCleavages
bool clipNTerminalMethionine
Specificity minimumSpecificity
PWIZ_API_DECL std::vector< CVID > cleavageAgents(const Enzymes &enzymes)
returns a list of cleavage agent CVIDs for an identdata::Enzymes instance
represents a peptide or polypeptide (a sequence of amino acids)
SemiSpecific
neither termini must match digestion motif(s)
std::string NTerminusPrefix_
std::string CTerminusSuffix_
PWIZ_API_DECL Formula operator*(const Formula &a, int scalar)
bool CTerminusIsSpecific_
PWIZ_API_DECL bool operator==(const TruncatedLorentzianParameters &t, const TruncatedLorentzianParameters &u)
PWIZ_API_DECL CVID cleavageAgent(const Enzyme &ez)
returns a cleavage agent CVID for an identdata::Enzyme
enumerates the peptides from proteolytic digestion of a polypeptide or protein;
PWIZ_API_DECL bool operator!=(const TruncatedLorentzianParameters &t, const TruncatedLorentzianParameters &u)
peptide subclass that contains extra metadata provided by digestion
boost::shared_ptr< Impl > impl_