1#ifndef INTARNA_PREDICTORSEEDEXTENSIONKINETIC_H_
2#define INTARNA_PREDICTORSEEDEXTENSIONKINETIC_H_
82 using Boundary = std::array<size_t, 4>;
84 using InteractionCache = std::map<Boundary, Interaction>;
95 bool topologyKnown =
false;
96 bool topologyAllowed =
false;
98 bool localKnown =
false;
102 std::int64_t delta = 0;
106 struct SideCandidates {
107 std::vector<Candidate> moves;
108 std::vector<signed char> complementary;
113 SeedHandlerIdxOffset seedHandler;
117 InteractionCache interactions;
119 Boundary getBoundary(
const Interaction & interaction)
const;
128 void extendSeed(Interaction & interaction,
E_type hybrid,
129 size_t last1,
size_t last2);
139 void buildCandidates(SideCandidates & side,
const Boundary & bounds,
140 bool left,
size_t last1,
size_t last2)
const;
151 const Candidate * updateCandidates(SideCandidates & side,
const Boundary & bounds,
155 bool isBetter(
const Candidate & candidate,
const Candidate & best)
const;
161 void retain(
const Interaction & interaction);
Definition IndexRange.h:20
Definition InteractionEnergy.h:20
Definition Interaction.h:28
Definition OutputHandler.h:20
Definition PredictionTracker.h:15
Definition PredictorMfe.h:24
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
Definition PredictorSeedExtensionKinetic.h:36
void predict(const IndexRange &r1=IndexRange(0, RnaSequence::lastPos), const IndexRange &r2=IndexRange(0, RnaSequence::lastPos)) override
void getNextBest(Interaction &interaction) override
virtual ~PredictorSeedExtensionKinetic()
void traceBack(Interaction &interaction) override
PredictorSeedExtensionKinetic(const InteractionEnergy &energy, OutputHandler &output, PredictionTracker *predTracker, SeedHandler *seedHandler, const char score='A')
static const size_t lastPos
Definition RnaSequence.h:57
Definition SeedHandler.h:17
Definition Accessibility.h:13
int E_type
type for energy values (energy + accessibility [ED]) (internally)
Definition general.h:78
const E_type E_INF
Definition general.h:79