IntaRNA 3.4.1
RNA-RNA interaction prediction | C++ API
Loading...
Searching...
No Matches
PredictorMfeEns.h
Go to the documentation of this file.
1
2#ifndef INTARNA_PREDICTORMFEENS_H_
3#define INTARNA_PREDICTORMFEENS_H_
4
5
7
9
10#include <list>
11#include <utility>
12
13namespace IntaRNA {
14
22
23
24public:
25
38
39 virtual ~PredictorMfeEns() override;
40
41protected:
42
44 struct ZPartition {
45 size_t i1;
46 size_t j1;
47 size_t i2;
48 size_t j2;
50 };
51
54
57
60
62 std::unordered_map<Interaction::Boundary, Z_type, Interaction::Boundary::Hash> Z_partition;
63
68 void updateExactCompleteZ(size_t i1, size_t j1, size_t i2, size_t j2,
69 Z_type hybrid, Z_type coefficient);
70
72 const std::pair<Z_type,Z_type> * exactContribution = nullptr;
73
76
77
82 virtual
83 void
85
103 virtual
104 void
105 updateZ( const size_t i1, const size_t j1
106 , const size_t i2, const size_t j2
107 , const Z_type partFunct
108 , const bool isHybridZ );
109
118 void
119 updateCompleteZ( const size_t i1, const size_t j1
120 , const size_t i2, const size_t j2
121 , const Z_type partFunct
122 , const bool isHybridZ );
123
128 virtual
129 void
130 reportOptima() override;
131
136 virtual
137 void
138 traceBack( Interaction & interaction ) override;
139
140private:
141
146 bool
147 addPartitionContribution( const size_t i1, const size_t j1
148 , const size_t i2, const size_t j2
149 , const Z_type partFunct
150 , const bool isHybridZ
151 , Z_type & partZ_noED );
152
158 virtual
159 void
160 updateOptimaUsingZ();
161
162};
163
164} // namespace
165
166#endif /* INTARNA_PREDICTORMFEENS_H_ */
Definition InteractionEnergy.h:20
Definition Interaction.h:28
Definition OutputHandler.h:22
Definition PredictionTracker.h:15
Definition PredictorMfeEns.h:21
PredictorMfeEns(const InteractionEnergy &energy, OutputHandler &output, PredictionTracker *predTracker)
std::unordered_map< Interaction::Boundary, Z_type, Interaction::Boundary::Hash > Z_partition
map storing the partition of Zall for all considered interaction sites
Definition PredictorMfeEns.h:62
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)
virtual ~PredictorMfeEns() override
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)
PredictionTracker * predTracker
access to the prediction tracker of the super class
Definition Predictor.h:91
virtual void traceBack(Interaction &interaction) override
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
bool updateZisComplete
whether updateZ() currently receives one complete boundary partition
Definition PredictorMfeEns.h:75
void updateExactCompleteZ(size_t i1, size_t j1, size_t i2, size_t j2, Z_type hybrid, Z_type coefficient)
const std::pair< Z_type, Z_type > * exactContribution
scoped coefficient and hybrid expected by the checked complete update
Definition PredictorMfeEns.h:72
virtual void reportOptima() override
Definition PredictorMfe.h:28
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 Accessibility.h:13
double Z_type
type for probabilities, RT and Boltzmann values
Definition general.h:88
data container to encode a site with respective partition function
Definition PredictorMfeEns.h:44
size_t j1
Definition PredictorMfeEns.h:46
Z_type partZ
Definition PredictorMfeEns.h:49
size_t i1
Definition PredictorMfeEns.h:45
size_t i2
Definition PredictorMfeEns.h:47
size_t j2
Definition PredictorMfeEns.h:48