IntaRNA 3.4.1
RNA-RNA interaction prediction | C++ API
Loading...
Searching...
No Matches
PredictorMfe2dHeuristicSeedExtension.h
Go to the documentation of this file.
1
2#ifndef INTARNA_PREDICTORMFE2DHEURISTICSEEDEXTENSION_H_
3#define INTARNA_PREDICTORMFE2DHEURISTICSEEDEXTENSION_H_
4
7
8namespace IntaRNA {
9
22
23protected:
24
27
28public:
29
30
46
47
52
53
66 virtual
67 void
69 , const IndexRange & r2 = IndexRange(0,RnaSequence::lastPos) );
70
71
72protected:
73
74
77
80
84
87
91
94
96 size_t j1opt, j2opt;
97
98protected:
99
110 virtual
111 void
112 updateOptimalRightExt( const size_t i1, const size_t j1
113 , const size_t i2, const size_t j2
114 , const E_type energy
115 , const bool isHybridE );
116
125 void
126 fillHybridE_right( const size_t i1, const size_t i2
127 , const size_t si1, const size_t si2 );
128
137 void
138 fillHybridE_left( const size_t j1, const size_t j2 );
139
140 void
141 printMatrix( const E2dMatrix & matrix );
142
143};
144
148
149inline
150void
152updateOptimalRightExt( const size_t i1, const size_t j1
153 , const size_t i2, const size_t j2
154 , const E_type energy
155 , const bool isHybridE )
156{
157 E_type fullE = isHybridE ? this->energy.getE(i1,j1,i2,j2,energy) : energy;
158 // if energy lower
159 // if valid right boundary
160 if (fullE < E_right_opt
161 && (!output.getOutputConstraint().noGUend || !this->energy.isGU(j1,j2)))
162 {
163 // store boundaries and energy of the optimal right extension
164 E_right_opt = fullE;
165 j1opt = j1;
166 j2opt = j2;
167 }
168}
169
171
172} // namespace
173
174#endif /* INTARNA_PREDICTORMFE2DHEURISTICSEEDEXTENSION_H_ */
Definition IndexRange.h:20
Definition InteractionEnergy.h:20
const bool noGUend
whether or not inter-molecular UG base pairs are allowed at interaction ends
Definition OutputConstraint.h:54
Definition OutputHandler.h:20
const OutputConstraint & getOutputConstraint() const
Definition OutputHandler.h:167
Definition PredictionTracker.h:15
Definition PredictorMfe2dHeuristicSeedExtension.h:21
PredictorMfe2dHeuristicSeedExtension(const InteractionEnergy &energy, OutputHandler &output, PredictionTracker *predTracker, SeedHandler *seedHandler)
virtual void updateOptimalRightExt(const size_t i1, const size_t j1, const size_t i2, const size_t j2, const E_type energy, const bool isHybridE)
Definition PredictorMfe2dHeuristicSeedExtension.h:152
size_t j2opt
Definition PredictorMfe2dHeuristicSeedExtension.h:96
void printMatrix(const E2dMatrix &matrix)
size_t j1opt
boundaries of the right extension with the optimal energy
Definition PredictorMfe2dHeuristicSeedExtension.h:96
SeedHandlerIdxOffset seedHandler
the seed handler (with idx offset)
Definition PredictorMfe2dSeedExtension.h:86
void fillHybridE_right(const size_t i1, const size_t i2, const size_t si1, const size_t si2)
E_type E_right_opt
optimal energy of the right extension
Definition PredictorMfe2dHeuristicSeedExtension.h:93
virtual void predict(const IndexRange &r1=IndexRange(0, RnaSequence::lastPos), const IndexRange &r2=IndexRange(0, RnaSequence::lastPos))
PredictorMfe2dSeedExtension::E2dMatrix E2dMatrix
matrix type to hold the mfe energies for interaction site starts
Definition PredictorMfe2dHeuristicSeedExtension.h:26
void fillHybridE_left(const size_t j1, const size_t j2)
Definition PredictorMfe2dSeedExtension.h:25
E2dMatrix hybridE_left
energy of all interaction hybrids that start on the left side of the seed
Definition PredictorMfe2dSeedExtension.h:89
InteractionEnergyIdxOffset energy
access to the interaction energy handler of the super class
Definition Predictor.h:85
SeedHandlerIdxOffset seedHandler
the seed handler (with idx offset)
Definition PredictorMfe2dSeedExtension.h:86
OutputHandler & output
access to the output handler of the super class
Definition Predictor.h:88
E2dMatrix hybridE_right
energy of all interaction hybrids that start on the right side of the seed
Definition PredictorMfe2dSeedExtension.h:92
PredictionTracker * predTracker
access to the prediction tracker of the super class
Definition Predictor.h:91
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