OpenMS
Loading...
Searching...
No Matches
EnzymaticDigestion::SimpleCleavageRule Struct Reference

A cleavage rule of the form "(?<=[KRX])" or "(?<=[KRX])(?!P)", as most enzymes of Enzymes.xml spell theirs. More...

#include <OpenMS/CHEMISTRY/EnzymaticDigestion.h>

Public Member Functions

bool cleavesBetween (char nterm, char cterm) const
 Whether the rule cleaves between nterm and cterm, the residues before and after the site.
 

Static Public Member Functions

static std::optional< SimpleCleavageRule > parse (const std::string &regex)
 The rule of regex if it is exactly "(?<=[" + A-Z letters + "])", optionally followed by "(?!" + one A-Z letter + ")".
 

Public Attributes

std::array< bool, 256 > after {}
 residues N-terminal of a cleavage site
 
std::array< bool, 256 > not_before {}
 residues C-terminal of a site that prevent the cleavage
 

Detailed Description

A cleavage rule of the form "(?<=[KRX])" or "(?<=[KRX])(?!P)", as most enzymes of Enzymes.xml spell theirs.

Cleaves after a residue of after unless the next residue is in not_before. tokenize_() (and the digest of FragmentIndex) apply such a rule by hand instead of running the regular expression: faster, and a regex search takes a block from boost's process-wide memory cache, which the threads of a parallel caller contend for.

Member Function Documentation

◆ cleavesBetween()

bool cleavesBetween ( char  nterm,
char  cterm 
) const
inline

Whether the rule cleaves between nterm and cterm, the residues before and after the site.

◆ parse()

static std::optional< SimpleCleavageRule > parse ( const std::string &  regex)
static

The rule of regex if it is exactly "(?<=[" + A-Z letters + "])", optionally followed by "(?!" + one A-Z letter + ")".

Every other pattern (e.g. "()", "(?<=[A-Z])", the lookahead rules of Asp-N, "(?<=[HKRX][PX])(?!P)") yields std::nullopt and is left to the regular expression.

Member Data Documentation

◆ after

std::array<bool, 256> after {}

residues N-terminal of a cleavage site

◆ not_before

std::array<bool, 256> not_before {}

residues C-terminal of a site that prevent the cleavage