|
IntaRNA 3.4.1
RNA-RNA interaction prediction | C++ API
|
#include <SeedHandlerMfe.h>


Public Types | |
| typedef boost::multi_array< E_type, 5 > | SeedRecMatrix |
| typedef boost::array< SeedRecMatrix::index, 5 > | SeedIndex |
| typedef Matrix< std::pair< E_type, size_t > > | SeedMatrix |
Public Member Functions | |
| SeedHandlerMfe (const InteractionEnergy &energy, const SeedConstraint &seedConstraint) | |
| virtual | ~SeedHandlerMfe () |
| virtual size_t | fillSeed (const size_t i1, const size_t j1, const size_t i2, const size_t j2) |
| virtual void | traceBackSeed (Interaction &interaction, const size_t i1, const size_t i2) const |
| virtual E_type | getSeedE (const size_t i1, const size_t i2) const |
| virtual bool | isSeedBound (const size_t i1, const size_t i2) const |
| virtual size_t | getSeedLength1 (const size_t i1, const size_t i2) const |
| virtual size_t | getSeedLength2 (const size_t i1, const size_t i2) const |
Public Member Functions inherited from IntaRNA::SeedHandler | |
| SeedHandler (const InteractionEnergy &energy, const SeedConstraint &seedConstraint) | |
| virtual | ~SeedHandler () |
| virtual const SeedConstraint & | getConstraint () const |
| virtual const InteractionEnergy & | getInteractionEnergy () const |
| virtual bool | updateToNextSeed (size_t &i1, size_t &i2, const size_t i1min=0, const size_t i1max=RnaSequence::lastPos, const size_t i2min=0, const size_t i2max=RnaSequence::lastPos) const |
| virtual void | addSeeds (Interaction &i) const |
| virtual bool | areLoopOverlapping (const size_t i1, const size_t i2, const size_t k1, const size_t k2) const |
| virtual bool | isFeasibleSeedBasePair (const size_t i1, const size_t i2, const bool atEndOfSeed=false) const |
Protected Member Functions | |
| E_type | getSeedE (const size_t i1, const size_t i2, const size_t bpInbetween, const size_t u1, const size_t u2) const |
| void | setSeedE (const size_t i1, const size_t i2, const size_t bpInbetween, const size_t u1, const size_t u2, const E_type E) |
| size_t | encodeSeedLength (const size_t l1, const size_t l2) const |
| size_t | decodeSeedLength1 (const size_t code) const |
| size_t | decodeSeedLength2 (const size_t code) const |
| void | traceBackSeed (Interaction &interaction, const size_t i1, const size_t i2, const size_t bp, const size_t u1, const size_t u2) const |
Protected Attributes | |
| SeedRecMatrix | seedE_rec |
| SeedMatrix | seed |
| size_t | offset1 |
| offset for seq1 indices for the current (restricted) matrices | |
| size_t | offset2 |
| offset for seq2 indices for the current (restricted) matrices | |
Protected Attributes inherited from IntaRNA::SeedHandler | |
| const InteractionEnergy & | energy |
| the used energy function | |
| const SeedConstraint & | seedConstraint |
| the seed constraint to be applied | |
Handler to provide mfe seed interaction information for each intermolecular index combination (= left end of seed).
| typedef boost::array<SeedRecMatrix::index, 5> IntaRNA::SeedHandlerMfe::SeedIndex |
defines the seed data {{ i1, i2, bpInbetween, u1, u2 }} to access elements of the SeedRecMatrix
| typedef Matrix< std::pair<E_type, size_t> > IntaRNA::SeedHandlerMfe::SeedMatrix |
matrix to store the seed information for each seed left side (i1,i2); it holds both the energy (first) as well as the length of the seed using the length combination using encodeSeedLength()
| typedef boost::multi_array<E_type,5> IntaRNA::SeedHandlerMfe::SeedRecMatrix |
5D matrix type to hold the mfe energies for seed interactions of the ranges i1..(i1+bp+u1-1) with i2..(i2+bp+u2-1), with i1,i2 = the start index of the seed in seq1/2 bp = the number of base pairs within the seed bpInbetween = the number of base pairs enclosed by left and right base pair, ie. == (bp-2) u1/u2 = the number of unpaired positions within the seed, using the index [i1][i2][bpInbetween][u1][u2] or a SeedIndex object
|
inline |
Construction
| energy | the energy function to be used for seed prediction |
| seedConstraint | the seed constraint to be applied |
|
inlinevirtual |
destruction
|
inlineprotected |
Decodes the length of the seed within sequence 1 from an encoding generated with encodeSeedLength()
| code | the lengths encoding |
|
inlineprotected |
Decodes the length of the seed within sequence 2 from an encoding generated with encodeSeedLength()
| code | the lengths encoding |
|
inlineprotected |
Encodes the seed lengths into one number
| l1 | the length of the seed in seq1 |
| l2 | the length of the seed in seq2 |
|
virtual |
Computes the seed matrix for the given interval boundaries
| i1 | the first index of seq1 that might interact |
| j1 | the last index of seq1 that might interact |
| i2 | the first index of seq2 that might interact |
| j2 | the last index of seq2 that might interact |
Implements IntaRNA::SeedHandler.
|
inlinevirtual |
Access to the mfe of any seed with left-most base pair (i1,i2)
| i1 | the left most interacting base of seq1 |
| i2 | the left most interacting base of seq2 |
Implements IntaRNA::SeedHandler.
|
inlineprotected |
Provides the seed energy during recursion.
| i1 | the seed left end in seq 1 |
| i2 | the seed left end in seq 2 |
| bpInbetween | the number of seed base pairs enclosed by the left- and right-most base pair, ie. bpSeed-2 |
| u1 | the number of unpaired bases within seq 1 |
| u2 | the number of unpaired bases within seq 2 |
|
inlinevirtual |
Access to the length in seq1 of the mfe seed with left-most base pair (i1,i2)
| i1 | the left most interacting base of seq1 |
| i2 | the left most interacting base of seq2 |
Implements IntaRNA::SeedHandler.
|
inlinevirtual |
Access to the length in seq2 of the mfe seed with left-most base pair (i1,i2)
| i1 | the left most interacting base of seq1 |
| i2 | the left most interacting base of seq2 |
Implements IntaRNA::SeedHandler.
|
inlinevirtual |
Checks whether or not a given base pair is the left-most base pair of any seed
| i1 | the interacting base of seq1 |
| i2 | the interacting base of seq2 |
Implements IntaRNA::SeedHandler.
|
inlineprotected |
Fills the seed energy during recursion.
NOTE: internally a ring-list data structure is used which reuses memory instead of allocating mem for all possible parameter combinations. Thus, you have to call the method in appropriate order depending on your seed recursion.
| i1 | the seed left end in seq 1 |
| i2 | the seed left end in seq 2 |
| bpInbetween | the number of seed base pairs enclosed by the left- and right-most base pair, ie. bpSeed-2 |
| u1 | the number of unpaired bases within seq 1 |
| u2 | the number of unpaired bases within seq 2 |
| E | the energy value to be set |
|
inlinevirtual |
Identifies the base pairs of the mfe seed interaction starting at i1,i2 and writes them to the provided container
NOTE: the left- and right-most base pairs are excluded!
| interaction | the container to add the base pairs too |
| i1 | the start of the seed in seq1 |
| i2 | the start of the seed in seq2 |
Implements IntaRNA::SeedHandler.
|
protected |
Fills a given interaction with the according hybridizing base pairs of the provided seed interaction (excluding the right-most seed base pair)
| interaction | IN/OUT the interaction to fill |
| i1 | the seed left end in seq 1 (index including offset) |
| i2 | the seed left end in seq 2 (index including offset) |
| bp | the number of base pairs (bp+2) within the seed so far |
| u1 | the number of unpaired bases within seq 1 |
| u2 | the number of unpaired bases within seq 2 |
|
protected |
offset for seq1 indices for the current (restricted) matrices
|
protected |
offset for seq2 indices for the current (restricted) matrices
|
protected |
the seed mfe information for seeds starting at (i1,i2) TODO replace with sparse data structure
|
protected |
the recursion data for the computation of a seed interaction i1..(i1+bpInbetween+u1-1) with i2..(i2+bpInbetween+u2-1) using the indexing [i1][i2][bpInbetween][u1][u2]