IntaRNA 3.4.1
RNA-RNA interaction prediction | C++ API
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed Class Reference

#include <PredictorMfe2dHelixBlockHeuristicSeed.h>

Inheritance diagram for IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed:
Inheritance graph
[legend]
Collaboration diagram for IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed:
Collaboration graph
[legend]

Public Member Functions

 PredictorMfe2dHelixBlockHeuristicSeed (const InteractionEnergy &energy, OutputHandler &output, PredictionTracker *predTracker, const HelixConstraint &helixConstraint, SeedHandler *seedHandlerInstance)
 
virtual ~PredictorMfe2dHelixBlockHeuristicSeed ()
 
virtual void predict (const IndexRange &r1=IndexRange(0, RnaSequence::lastPos), const IndexRange &r2=IndexRange(0, RnaSequence::lastPos))
 
- Public Member Functions inherited from IntaRNA::PredictorMfe2dHelixBlockHeuristic
 PredictorMfe2dHelixBlockHeuristic (const InteractionEnergy &energy, OutputHandler &output, PredictionTracker *predTracker, const HelixConstraint &helixConstraint)
 
virtual ~PredictorMfe2dHelixBlockHeuristic ()
 
- Public Member Functions inherited from IntaRNA::PredictorMfe2dHeuristic
 PredictorMfe2dHeuristic (const InteractionEnergy &energy, OutputHandler &output, PredictionTracker *predTracker)
 
virtual ~PredictorMfe2dHeuristic ()
 
- Public Member Functions inherited from IntaRNA::PredictorMfe
 PredictorMfe (const InteractionEnergy &energy, OutputHandler &output, PredictionTracker *predTracker)
 
virtual ~PredictorMfe ()
 
- Public Member Functions inherited from IntaRNA::Predictor
 Predictor (const InteractionEnergy &energy, OutputHandler &output, PredictionTracker *predTracker)
 
virtual ~Predictor ()
 
Z_type getZall () const
 

Protected Member Functions

virtual void traceBack (Interaction &interaction)
 
virtual void getNextBest (Interaction &curBest)
 
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)
 
- Protected Member Functions inherited from IntaRNA::PredictorMfe2dHelixBlockHeuristic
virtual void fillHybridE ()
 
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::PredictorMfe
virtual void initOptima ()
 
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)
 
virtual void reportOptima ()
 
- 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

E2dMatrix hybridE_seed
 the best hybridization energy including a seed for start i1,i2
 
SeedHandlerIdxOffset seedHandler
 
E2dMatrix hybridE
 
HelixHandlerIdxOffset helixHandler
 handler to generate and access helix information with idx offset
 
- Protected Attributes inherited from IntaRNA::PredictorMfe2dHelixBlockHeuristic
HelixHandlerIdxOffset helixHandler
 helixHandler used only for creating HelixHandlerOffset
 
E2dMatrix hybridE
 energy of all interaction hybrids starting in i1,i2
 
- Protected Attributes inherited from IntaRNA::PredictorMfe2dHeuristic
E2dMatrix hybridE
 energy of all interaction hybrids starting in i1,i2
 
InteractionEnergyIdxOffset energy
 access to the interaction energy handler of the super class
 
OutputHandler & output
 access to the output handler of the super class
 
std::pair< IndexRangeList, IndexRangeList > reportedInteractions
 access to the list of reported interaction ranges of the super class
 
- Protected Attributes inherited from IntaRNA::PredictorMfe
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::PredictorMfe2dHelixBlockHeuristic
typedef PredictorMfe2dHeuristic::E2dMatrix E2dMatrix
 matrix type to hold the mfe energies and boundaries for interaction site starts
 
- Protected Types inherited from IntaRNA::PredictorMfe2dHeuristic
typedef Matrix< BestInteractionE > E2dMatrix
 matrix type to hold the mfe energies and boundaries 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
 

Detailed Description

Memory efficient interaction predictor that uses both qualitative heuristics (interactions have to have a seed interaction) and performance heuristics (not all possible interactions considered)

To this end, for each interaction start i1,i2 only the optimal right side interaction with boundaries j1,j2 is considered in the recursion instead of all possible interaction ranges.

Only maximal helices up to a given length are combined.

This yields a quadratic time and space complexity.

Author
Rick Gelhausen

Constructor & Destructor Documentation

◆ PredictorMfe2dHelixBlockHeuristicSeed()

IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed::PredictorMfe2dHelixBlockHeuristicSeed ( const InteractionEnergy &  energy,
OutputHandler &  output,
PredictionTracker *  predTracker,
const HelixConstraint &  helixConstraint,
SeedHandler *  seedHandlerInstance 
)

Constructs a predictor and stores the energy and output handler

Parameters
energythe interaction energy handler
outputthe output handler to report mfe interactions to
predTrackerthe prediction tracker to be used or NULL if no tracking is to be done; if non-NULL, the tracker gets deleted on this->destruction.
seedConstraintthe seed constraint to be applied

◆ ~PredictorMfe2dHelixBlockHeuristicSeed()

virtual IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed::~PredictorMfe2dHelixBlockHeuristicSeed ( )
virtual

Member Function Documentation

◆ getNextBest()

virtual void IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed::getNextBest ( Interaction &  curBest)
protectedvirtual

Identifies the next best interaction (containing a seed) with an energy equal to or higher than the given interaction. The new interaction will not overlap any index range stored in reportedInteractions.

Parameters
curBestIN/OUT the current best interaction to be replaced with one of equal or higher energy not overlapping with any reported interaction so far; an interaction with energy E_INF is set, if there is no better interaction left

Reimplemented from IntaRNA::PredictorMfe2dHelixBlockHeuristic.

◆ predict()

virtual void IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed::predict ( const IndexRange &  r1 = IndexRange(0, RnaSequence::lastPos),
const IndexRange &  r2 = IndexRange(0, RnaSequence::lastPos) 
)
virtual

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.

Parameters
r1the index range of the first sequence interacting with r2
r2the index range of the second sequence interacting with r1

Reimplemented from IntaRNA::PredictorMfe2dHelixBlockHeuristic.

◆ traceBack()

virtual void IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed::traceBack ( Interaction &  interaction)
protectedvirtual

Fills a given interaction (boundaries given) with the according hybridizing base pairs.

Parameters
interactionIN/OUT the interaction to fill

Reimplemented from IntaRNA::PredictorMfe2dHelixBlockHeuristic.

◆ updateOptima()

void IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed::updateOptima ( const size_t  i1,
const size_t  j1,
const size_t  i2,
const size_t  j2,
const E_type  energy,
const bool  isHybridE 
)
inlineprotectedvirtual

disables predictionTracker usage

Parameters
i1the index of the first sequence interacting with i2
j1the index of the first sequence interacting with j2
i2the index of the second sequence interacting with i1
j2the index of the second sequence interacting with j1
energyignored
isHybridEignored

Member Data Documentation

◆ helixHandler

HelixHandlerIdxOffset IntaRNA::PredictorMfe2dHelixBlockHeuristic::helixHandler
protected

handler to generate and access helix information with idx offset

◆ hybridE

E2dMatrix IntaRNA::PredictorMfe2dHeuristic::hybridE
protected

energy of all interaction hybrids that end in position p (seq1) and q (seq2)

◆ hybridE_seed

E2dMatrix IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed::hybridE_seed
protected

the best hybridization energy including a seed for start i1,i2

◆ seedHandler

SeedHandlerIdxOffset IntaRNA::PredictorMfe2dHelixBlockHeuristicSeed::seedHandler
protected

The documentation for this class was generated from the following file: