ell::DW_RNA_MorganHiggs Class Reference
#include <DW_RNA.hh>
Inheritance diagram for ell::DW_RNA_MorganHiggs:
Detailed Description
A DirectWalk instantiation that implements the Morgan-Higgs heuristic to determine a low energy path between two RNA conformations.Thus, the algorithm is restricted to RNA State implementations.
Definition at line 19 of file DW_RNA.hh.
Public Member Functions | |
DW_RNA_MorganHiggs (const size_t iterations) | |
size_t | getIterations (void) const |
virtual StateCollector * | walk (const State *const begin, const State *const end, StateCollector *const scWalk) const |
virtual | ~DW_RNA_MorganHiggs () |
Static Protected Member Functions | |
static double | addBond (std::string &sequence, std::vector< size_t > &v_struct, size_t start, size_t end, StateCollector *sc) |
static double | deleteBond (std::string &sequence, std::vector< size_t > &v_struct, size_t start, StateCollector *sc) |
Protected Attributes | |
const size_t | iterations |
Constructor & Destructor Documentation
ell::DW_RNA_MorganHiggs::DW_RNA_MorganHiggs | ( | const size_t | iterations | ) |
ell::DW_RNA_MorganHiggs::~DW_RNA_MorganHiggs | ( | ) | [virtual] |
Member Function Documentation
double ell::DW_RNA_MorganHiggs::addBond | ( | std::string & | sequence, | |
std::vector< size_t > & | v_struct, | |||
size_t | start, | |||
size_t | end, | |||
StateCollector * | sc | |||
) | [static, protected] |
double ell::DW_RNA_MorganHiggs::deleteBond | ( | std::string & | sequence, | |
std::vector< size_t > & | v_struct, | |||
size_t | start, | |||
StateCollector * | sc | |||
) | [static, protected] |
size_t ell::DW_RNA_MorganHiggs::getIterations | ( | void | ) | const |
StateCollector * ell::DW_RNA_MorganHiggs::walk | ( | const State *const | begin, | |
const State *const | end, | |||
StateCollector *const | scWalk | |||
) | const [virtual] |
Performs a directed low energy walk between two specified RNA States in the landscape applying the heuristic by Morgan and Higgs.
Note: the begin and end States have to be an RNA State instantiation of S_RNAfe_SingleM.
- Parameters:
-
begin the begin of the walk end the end of the walk scWalk the StateCollector each step of the walk is added to
- Returns:
- the modified scWalk StateCollector
test if states are really RNA states and collector != NULL
test if states have same sequence
get sequence and structure from RNA states, str_A str_B
get only differing state pairs as a list for A and B
get conflicting pairs info for each pair in list B
store the rest of the bonds of A (aka the nonconflicting pairs)
all choices of bonds in B with smallest conflicts
the indices of bonds added, and non conflicting bonds deleted
copy of structure vector of sequence A
copy of conflicts matrix
copy of nonconflicting bonds
minimal number of conflicts over all bonds in target structure B
indices for choices
StateCollectors which remember all states seen
energy values
iterate some times with random choices:
get all the bonds with lowest conflicts from B
get all the bonds in B with minimal conflicts
only if we haven't added this bond..
choose randomly a bond to add
index of bond to add in IndexB
choose bonds to delete in a random order from conflicts list
index of bond to delete
deletion of bond
if energy found is above energy of best walk -> abort
delete all occurings of deleted bond in conflicts list
delete the bonds in A which are not conflicting with bonds in B
Implements ell::DirectWalk.
Field Documentation
const size_t ell::DW_RNA_MorganHiggs::iterations [protected] |
The documentation for this class was generated from the following files: