2#ifndef INTARNA_PREDICTORMFEENS2DSEEDEXTENSION_H_
3#define INTARNA_PREDICTORMFEENS2DSEEDEXTENSION_H_
116 struct ExtensionProbabilityTrace;
128 Z_type partZ,
bool left,
bool right);
Definition BasePairProbabilities.h:16
Definition IndexRange.h:20
Definition InteractionEnergy.h:20
type of a base pair index encoding
Definition Interaction.h:33
Definition Interaction.h:28
Definition OutputHandler.h:22
Definition PredictionTracker.h:15
Definition PredictorMfeEns2dSeedExtension.h:30
void beginExtensionProbabilitySeed(size_t i1, size_t i2)
std::vector< Interaction::BasePair > extensionSeedPrefix(size_t i1, size_t i2, size_t before) const
BasePairProbabilities * pairProbabilities
optional sequence-pair owner, never deleted or finalized by the predictor
Definition PredictorMfeEns2dSeedExtension.h:137
Z2dMatrix hybridZ_right
partition function of all interaction hybrids that start on the right side of the seed excluding E_in...
Definition PredictorMfeEns2dSeedExtension.h:152
PredictorMfeEns2dSeedExtension(const InteractionEnergy &energy, OutputHandler &output, PredictionTracker *predTracker, SeedHandler *seedHandler, BasePairProbabilities *pairProbabilities=nullptr)
virtual Z_type exactBoundaryWeight(size_t i1, size_t j1, size_t i2, size_t j2) const
void printMatrix(const Z2dMatrix &matrix)
Z2dMatrix hybridZ_left
partition function of all interaction hybrids that start on the left side of the seed including E_ini...
Definition PredictorMfeEns2dSeedExtension.h:146
void predictStackSeeds(const IndexRange &r1, const IndexRange &r2)
virtual std::function< Interaction::BasePair(Interaction::BasePair, Interaction::BasePair)> stackSeedRightSelector() const
std::unique_ptr< ExtensionProbabilityTrace > extensionProbabilityTrace
Definition PredictorMfeEns2dSeedExtension.h:117
virtual void fillHybridZ_right(const size_t i1, const size_t i2)
virtual E_type getNonOverlappingEnergy(const size_t si1, const size_t si2, const size_t sj1, const size_t sj2)
virtual void prepareStackSeedExtensions(size_t n, size_t m, const StackSeedDomain &seeds)
virtual void fillHybridZ_left(const size_t j1, const size_t j2)
void initExtensionProbabilities(size_t n, size_t m)
InteractionEnergyIdxOffset energy
access to the interaction energy handler of the super class
Definition Predictor.h:85
void commitExtensionProbabilities()
Matrix< Z_type > Z2dMatrix
matrix type to hold the partition functions for interaction site starts
Definition PredictorMfeEns2dSeedExtension.h:43
virtual ~PredictorMfeEns2dSeedExtension() override
virtual void predict(const IndexRange &r1=IndexRange(0, RnaSequence::lastPos), const IndexRange &r2=IndexRange(0, RnaSequence::lastPos)) override
OutputHandler & output
access to the output handler of the super class
Definition Predictor.h:88
void addSeedPartition(Interaction::BasePair seed, Interaction::BasePair left, Interaction::BasePair right, Z_type hybridZ)
SeedHandlerIdxOffset seedHandler
the seed handler (with idx offset)
Definition PredictorMfeEns2dSeedExtension.h:149
virtual void traceBack(Interaction &interaction) override
void finishExtensionProbabilitySeed()
void addExtensionProbabilityRoot(size_t i1, size_t j1, size_t i2, size_t j2, Z_type partZ, bool left, bool right)
Definition PredictorMfeEns.h:21
PredictionTracker * predTracker
access to the prediction tracker of the super class
Definition Predictor.h:91
InteractionEnergyIdxOffset energy
access to the interaction energy handler of the super class
Definition Predictor.h:85
OutputHandler & output
access to the output handler of the super class
Definition Predictor.h:88
static const size_t lastPos
Definition RnaSequence.h:57
Definition SeedHandlerIdxOffset.h:23
Definition SeedHandler.h:17
Definition StackSeedDomain.h:15
Definition Accessibility.h:13
int E_type
type for energy values (energy + accessibility [ED]) (internally)
Definition general.h:78
double Z_type
type for probabilities, RT and Boltzmann values
Definition general.h:88