OpenMS
Loading...
Searching...
No Matches
RNaseDigestion.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- 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
17namespace 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:29
Class for the enzymatic digestion of sequences.
Definition EnzymaticDigestion.h:38
Definition IdentificationData.h:87
Representation of a nucleic acid sequence.
Definition NASequence.h:36
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
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)
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< boost::regex > cuts_after_regexes_
a vector of reg. exp. for enzyme cutting pattern, each regex represents a single nucleotide
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:28
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:97
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19