OpenMS
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

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 
)
staticprotected

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 
)
staticprotected

Recursively generate all combinatorial placements at compatible sites.