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


Protected Member Functions | |
| void | prepareStackSeedExtensions (size_t n, size_t m, const StackSeedDomain &seeds) override |
| std::function< Interaction::BasePair(Interaction::BasePair, Interaction::BasePair)> | stackSeedRightSelector () const override |
| virtual void | updateOptRightZ (const size_t i1, const size_t j1, const size_t i2, const size_t j2, const E_type hybridE) |
| virtual void | fillHybridZ_right (const size_t i1, const size_t i2, const size_t si1, const size_t si2) |
| virtual void | fillHybridZ_left (const size_t j1, const size_t j2) override |
Protected Member Functions inherited from IntaRNA::PredictorMfeEns2dSeedExtension | |
| void | addSeedPartition (Interaction::BasePair seed, Interaction::BasePair left, Interaction::BasePair right, Z_type hybridZ) |
| virtual Z_type | exactBoundaryWeight (size_t i1, size_t j1, size_t i2, size_t j2) const |
| void | predictStackSeeds (const IndexRange &r1, const IndexRange &r2) |
| void | initExtensionProbabilities (size_t n, size_t m) |
| void | beginExtensionProbabilitySeed (size_t i1, size_t i2) |
| void | addExtensionProbabilityRoot (size_t i1, size_t j1, size_t i2, size_t j2, Z_type partZ, bool left, bool right) |
| void | finishExtensionProbabilitySeed () |
| void | commitExtensionProbabilities () |
| std::vector< Interaction::BasePair > | extensionSeedPrefix (size_t i1, size_t i2, size_t before) const |
| virtual void | fillHybridZ_right (const size_t i1, const size_t i2) |
| virtual void | traceBack (Interaction &interaction) override |
| virtual E_type | getNonOverlappingEnergy (const size_t si1, const size_t si2, const size_t sj1, const size_t sj2) |
| void | printMatrix (const Z2dMatrix &matrix) |
Protected Member Functions inherited from IntaRNA::PredictorMfeEns | |
| void | updateExactCompleteZ (size_t i1, size_t j1, size_t i2, size_t j2, Z_type hybrid, Z_type coefficient) |
| virtual void | initZ () |
| virtual void | updateZ (const size_t i1, const size_t j1, const size_t i2, const size_t j2, const Z_type partFunct, const bool isHybridZ) |
| void | updateCompleteZ (const size_t i1, const size_t j1, const size_t i2, const size_t j2, const Z_type partFunct, const bool isHybridZ) |
| virtual void | reportOptima () override |
Protected Member Functions inherited from IntaRNA::PredictorMfe | |
| virtual bool | predictPerSeed (const IndexRange &r1, const IndexRange &r2, SeedHandlerIdxOffset &seeds, const std::function< Predictor *(OutputHandler &, PredictionTracker *, SeedHandler *)> &factory) |
| void | initSeedCandidates () |
| virtual void | initOptima () override |
| bool | isValidOutputSite (const size_t i1, const size_t j1, const size_t i2, const size_t j2) const |
| virtual void | updateOptima (const size_t i1, const size_t j1, const size_t i2, const size_t j2, const E_type energy, const bool isHybridE, const bool incrementZall) override |
| virtual void | getNextBest (Interaction &curBest) |
| virtual void | updateMfe4leftEnd (const size_t i1, const size_t j1, const size_t i2, const size_t j2, const Interaction &curInteraction) |
Protected Member Functions inherited from IntaRNA::Predictor | |
| virtual void | updateZall (const size_t i1, const size_t j1, const size_t i2, const size_t j2, const E_type energy, const bool isHybridE) |
| void | incrementZall (const Z_type partZ) |
Protected Attributes | |
| bool | selectingStackSeedRight = false |
| Only rank right extensions while preparing canonical stack-seed choices. | |
| std::unordered_map< Interaction::BasePair, Interaction::BasePair, Interaction::BasePair::Hash > | stackSeedRight |
| Preferred local endpoint keyed by the local first pair of each seed. | |
| Z_type | E_right_opt = E_INF |
| optimal energy of the right extension | |
| size_t | j1opt |
| boundaries of the right extension with the optimal energy | |
| size_t | j2opt |
| SeedHandlerIdxOffset | seedHandler |
| the seed handler (with idx offset) | |
| Z2dMatrix | hybridZ_left |
| Z2dMatrix | hybridZ_right |
Protected Attributes inherited from IntaRNA::PredictorMfeEns2dSeedExtension | |
| std::unique_ptr< ExtensionProbabilityTrace > | extensionProbabilityTrace |
| BasePairProbabilities * | pairProbabilities |
| optional sequence-pair owner, never deleted or finalized by the predictor | |
| Z2dMatrix | hybridZ_left |
| partition function of all interaction hybrids that start on the left side of the seed including E_init | |
| SeedHandlerIdxOffset | seedHandler |
| the seed handler (with idx offset) | |
| Z2dMatrix | hybridZ_right |
| partition function of all interaction hybrids that start on the right side of the seed excluding E_init | |
| InteractionEnergyIdxOffset | energy |
| access to the interaction energy handler of the super class | |
| OutputHandler & | output |
| access to the output handler of the super class | |
Protected Attributes inherited from IntaRNA::PredictorMfeEns | |
| std::unordered_map< Interaction::Boundary, Z_type, Interaction::Boundary::Hash > | Z_partition |
| map storing the partition of Zall for all considered interaction sites | |
| const std::pair< Z_type, Z_type > * | exactContribution = nullptr |
| scoped coefficient and hybrid expected by the checked complete update | |
| bool | updateZisComplete |
| whether updateZ() currently receives one complete boundary partition | |
| InteractionEnergyIdxOffset | energy |
| access to the interaction energy handler of the super class | |
| OutputHandler & | output |
| access to the output handler of the super class | |
| PredictionTracker * | predTracker |
| access to the prediction tracker of the super class | |
Protected Attributes inherited from IntaRNA::PredictorMfe | |
| OutputHandlerSeedCandidates * | seedCandidates = nullptr |
| Active collector; null on the unchanged default path. | |
| std::unique_ptr< OutputHandlerSeedCandidates > | ownedSeedCandidates |
| Local collector for API callers that do not provide a regional collector. | |
| bool | perSeedPass = false |
| Enforce complete-site spans before ranking a seed-constrained child pass. | |
| InteractionList | mfeInteractions |
| mfe interaction boundaries | |
| HashIdx2E | mfe4leftEnd |
| std::pair< IndexRangeList, IndexRangeList > | reportedInteractions |
| InteractionEnergyIdxOffset | energy |
| access to the interaction energy handler of the super class | |
| OutputHandler & | output |
| access to the output handler of the super class | |
| PredictionTracker * | predTracker |
| access to the prediction tracker of the super class | |
Protected Attributes inherited from IntaRNA::Predictor | |
| InteractionEnergyIdxOffset | energy |
| energy computation handler | |
| OutputHandler & | output |
| interaction output handler | |
| PredictionTracker * | predTracker |
| prediction tracker to be used | |
| Z_type | Zall |
Additional Inherited Members | |
Static Public Member Functions inherited from IntaRNA::Predictor | |
| static size_t | getMaxInteractionWidth (const size_t w, const size_t maxLoopSize) |
Protected Types inherited from IntaRNA::PredictorMfeEns2dSeedExtension | |
| typedef Matrix< Z_type > | Z2dMatrix |
| matrix type to hold the partition functions for interaction site starts | |
Protected Types inherited from IntaRNA::PredictorMfe | |
| typedef BestInteraction< E_type > | BestInteractionE |
| BestInteraction that stores an energy value. | |
| typedef BestInteraction< Z_type > | BestInteractionZ |
| BestInteraction that stores a partition function value. | |
| typedef std::list< Interaction > | InteractionList |
| list of interactions | |
| typedef boost::unordered_map< Interaction::BasePair, BestInteractionE, Interaction::BasePair::Hash > | HashIdx2E |
| hash to map index pairs to BestInteractionE entries | |
Implements heuristic, seed-based, space-efficient interaction prediction based on minimizing ensemble free energy of interaction sites.
Note, for each seed start (i1,i2) only the mfe seed is considered for the overall interaction computation instead of considering all possible seeds starting at (i1,i2). Stack-only seeds share the exact predictor's left-most anchor tables. The first completed seed uniquely owns each chain, equivalently the left-most seed after removing containing occurrences. Retain its one-sided extensions and the left extensions ending at its preferred right endpoint. Pair probabilities describe this retained ensemble.
| IntaRNA::PredictorMfeEns2dHeuristicSeedExtension::PredictorMfeEns2dHeuristicSeedExtension | ( | const InteractionEnergy & | energy, |
| OutputHandler & | output, | ||
| PredictionTracker * | predTracker, | ||
| SeedHandler * | seedHandler, | ||
| BasePairProbabilities * | pairProbabilities = nullptr |
||
| ) |
Constructs a predictor and stores the energy and output handler
| energy | the interaction energy handler |
| output | the output handler to report mfe interactions to |
| predTracker | the prediction tracker to be used or NULL if no tracking is to be done; if non-NULL, the tracker gets deleted on this->destruction. |
| pairProbabilities | optional non-owning sink for this approximate ensemble |
| seedHandler | the seed handler to be used |
|
overridevirtual |
data cleanup
|
overrideprotectedvirtual |
Computes all entries of the hybridE matrix for interactions ending in p=j1 and q=j2 and report all valid interactions to updateOptima()
| j1 | end of the interaction within seq 1 |
| j2 | end of the interaction within seq 2 |
Reimplemented from IntaRNA::PredictorMfeEns2dSeedExtension.
|
protectedvirtual |
Computes all entries of the hybridE matrix for interactions starting in i1 and i2 and report all valid interactions to updateOptima()
| i1 | end of the interaction within seq 1 |
| i2 | end of the interaction within seq 2 |
|
overridevirtual |
Computes the mfe for the given sequence ranges (i1-j1) in the first sequence and (i2-j2) in the second sequence and reports it to the output handler.
Each considered interaction contains a seed according to the seed handler constraints.
| r1 | the index range of the first sequence interacting with r2 |
| r2 | the index range of the second sequence interacting with r1 |
Reimplemented from IntaRNA::PredictorMfeEns2dSeedExtension.
|
overrideprotectedvirtual |
Freeze one preferred right endpoint for each admitted stack anchor. The existing virtual right-extension hooks determine the choice; partition contributions are deferred to the shared left-most-anchor recurrence.
| n | first active range length |
| m | second active range length |
| seeds | contained stack occurrences in the active range |
Reimplemented from IntaRNA::PredictorMfeEns2dSeedExtension.
|
overrideprotectedvirtual |
Reimplemented from IntaRNA::PredictorMfeEns2dSeedExtension.
|
inlineprotectedvirtual |
updates E_right_opt, j1opt, and j2opt if needed
| i1 | the index of the first sequence interacting with i2 |
| j1 | the index of the first sequence interacting with j2 |
| i2 | the index of the second sequence interacting with i1 |
| j2 | the index of the second sequence interacting with j1 |
| hybridE | ensemble energy of the hybridization |
optimal energy of the right extension
|
protected |
energy of all interaction hybrids that end in position p (seq1) and q (seq2) and do not necessarily contain a seed interaction
|
protected |
energy of all interaction hybrids that start in position p (seq1) and q (seq2)
|
protected |
boundaries of the right extension with the optimal energy
|
protected |
|
protected |
the seed handler (with idx offset)
|
protected |
Only rank right extensions while preparing canonical stack-seed choices.
|
protected |
Preferred local endpoint keyed by the local first pair of each seed.