OpenMS
RNaseDigestion.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2023, The OpenMS Team -- EKU Tuebingen, ETH Zurich, and FU Berlin
2 // SPDX-License-Identifier: BSD-3-Clause
3 //
4 // --------------------------------------------------------------------------
5 // $Maintainer: Hendrik Weisser $
6 // $Authors: Hendrik Weisser, Samuel Wein $
7 // --------------------------------------------------------------------------
8 
9 #pragma once
10 
14 
15 #include <boost/regex.hpp>
16 
17 namespace OpenMS
18 {
26  class OPENMS_DLLAPI RNaseDigestion: public EnzymaticDigestion
27  {
28  public:
30  void setEnzyme(const DigestionEnzyme* enzyme) override;
31 
33  void setEnzyme(const String& name);
34 
40  void digest(const NASequence& rna, std::vector<NASequence>& output,
41  Size min_length = 0, Size max_length = 0) const;
42 
49  void digest(IdentificationData& id_data, Size min_length = 0,
50  Size max_length = 0) const;
51 
52  protected:
55  std::vector<boost::regex> cuts_after_regexes_;
56  std::vector<boost::regex> cuts_before_regexes_;
57 
61  std::vector<std::pair<Size, Size>> getFragmentPositions_(
62  const NASequence& rna, Size min_length, Size max_length)
63  const;
64  };
65 
66 } // namespace OpenMS
67 
Base class for digestion enzymes.
Definition: DigestionEnzyme.h:27
Class for the enzymatic digestion of sequences.
Definition: EnzymaticDigestion.h:38
Definition: IdentificationData.h:87
Representation of a nucleic acid sequence.
Definition: NASequence.h:34
Class for the enzymatic digestion of RNAs.
Definition: RNaseDigestion.h:27
void digest(const NASequence &rna, std::vector< NASequence > &output, Size min_length=0, Size max_length=0) const
Performs the enzymatic digestion of a (potentially modified) RNA.
std::vector< boost::regex > cuts_before_regexes_
a vector reg. exp. for enzyme cutting pattern
Definition: RNaseDigestion.h:56
const Ribonucleotide * five_prime_gain_
5' mod added by the enzyme
Definition: RNaseDigestion.h:53
void digest(IdentificationData &id_data, Size min_length=0, Size max_length=0) const
Performs the enzymatic digestion of all RNA parent sequences in IdentificationData.
const Ribonucleotide * three_prime_gain_
3' mod added by the enzyme
Definition: RNaseDigestion.h:54
std::vector< std::pair< Size, Size > > getFragmentPositions_(const NASequence &rna, Size min_length, Size max_length) const
Returns the positions of digestion products in the RNA as pairs: (start, length)
std::vector< boost::regex > cuts_after_regexes_
a vector of reg. exp. for enzyme cutting pattern
Definition: RNaseDigestion.h:55
void setEnzyme(const String &name)
Sets the enzyme for the digestion (by name)
void setEnzyme(const DigestionEnzyme *enzyme) override
Sets the enzyme for the digestion.
Representation of a ribonucleotide (modified or unmodified)
Definition: Ribonucleotide.h:26
A more convenient string class.
Definition: String.h:34
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:101
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22