| OpenMS 2.5.0

Public Types | Static Public Member Functions | Static Protected Member Functions | List of all members
ModifiedNASequenceGenerator Class Reference

`#include <OpenMS/CHEMISTRY/ModifiedNASequenceGenerator.h>`

## Public Types

using | ConstRibonucleotidePtr = const Ribonucleotide *

## Static Public Member Functions

static void | applyFixedModifications (const std::set< ConstRibonucleotidePtr > &fixed_mods, NASequence &sequence)
| Applies fixed modifications to a single NASequence. More...
static void | applyVariableModifications (const std::set< ConstRibonucleotidePtr > &var_mods, const NASequence &seq, Size max_variable_mods_per_NASequence, std::vector< NASequence > &all_modified_NASequences, bool keep_original=true)
| Applies variable modifications to a single NASequence. If keep_original is set the original (e.g. unmodified version) is also returned. More...

## Static Protected Member Functions

static void | recurseAndGenerateVariableModifiedSequences_ (const std::vector< int > &subset_indices, const std::map< int, std::vector< ConstRibonucleotidePtr >> &map_compatibility, int depth, const NASequence &current_NASequence, std::vector< NASequence > &modified_NASequences)
| Recursively generate all combinatorial placements at compatible sites. More...
static void | applyAtMostOneVariableModification_ (const std::set< ConstRibonucleotidePtr > &var_mods, const NASequence &seq, std::vector< NASequence > &all_modified_NASequences, bool keep_original=true)

## Member Typedef Documentation

## ◆ ConstRibonucleotidePtr

using ConstRibonucleotidePtr = const Ribonucleotide*

## Member Function Documentation

## ◆ applyAtMostOneVariableModification_()

static void applyAtMostOneVariableModification_ | ( | const std::set< ConstRibonucleotidePtr > & | var_mods,
|  | const NASequence & | seq,
|  | std::vector< NASequence > & | all_modified_NASequences,
|  | bool | keep_original = `true`
| ) |  |

static protected

Fast implementation of modification placement. No combinatorial placement is needed in this case

- just every site is modified once by each compatible modification. Already modified residues are skipped

## ◆ applyFixedModifications()

static void applyFixedModifications | ( | const std::set< ConstRibonucleotidePtr > & | fixed_mods,
|  | NASequence & | sequence
| ) |  |

static

Applies fixed modifications to a single NASequence.

## ◆ applyVariableModifications()

static void applyVariableModifications | ( | const std::set< ConstRibonucleotidePtr > & | var_mods,
|  | const NASequence & | seq,
|  | Size | max_variable_mods_per_NASequence,
|  | std::vector< NASequence > & | all_modified_NASequences,
|  | bool | keep_original = `true`
| ) |  |

static

Applies variable modifications to a single NASequence. If keep_original is set the original (e.g. unmodified version) is also returned.

Referenced by NucleicAcidSearchEngine::main_().

## ◆ recurseAndGenerateVariableModifiedSequences_()

static void recurseAndGenerateVariableModifiedSequences_ | ( | const std::vector< int > & | subset_indices,
|  | const std::map< int, std::vector< ConstRibonucleotidePtr >> & | map_compatibility,
|  | int | depth,
|  | const NASequence & | current_NASequence,
|  | std::vector< NASequence > & | modified_NASequences
| ) |  |

static protected

Recursively generate all combinatorial placements at compatible sites.