IntaRNA 3.4.1
RNA-RNA interaction prediction | C++ API
Loading...
Searching...
No Matches
SeedHandler.h
Go to the documentation of this file.
1
2#ifndef INTARNA_SEEDHANDLER_H_
3#define INTARNA_SEEDHANDLER_H_
4
7
8#include <boost/multi_array.hpp>
9
10
11namespace IntaRNA {
12
17{
18
19public:
20
29 );
30
34 virtual ~SeedHandler();
35
40 virtual
41 const SeedConstraint&
42 getConstraint() const;
43
48 virtual
51
52
61 virtual
62 size_t
63 fillSeed(const size_t i1, const size_t j1, const size_t i2, const size_t j2) = 0;
64
75 virtual
76 void
77 traceBackSeed( Interaction & interaction, const size_t i1, const size_t i2) const = 0;
78
79
86 virtual
87 E_type
88 getSeedE( const size_t i1, const size_t i2 ) const = 0;
89
98 virtual
99 bool
100 isSeedBound( const size_t i1, const size_t i2 ) const = 0;
101
108 virtual
109 size_t
110 getSeedLength1( const size_t i1, const size_t i2 ) const = 0;
111
118 virtual
119 size_t
120 getSeedLength2( const size_t i1, const size_t i2 ) const = 0;
121
122
146 virtual
147 bool
148 updateToNextSeed( size_t & i1, size_t & i2
149 , const size_t i1min = 0, const size_t i1max = RnaSequence::lastPos
150 , const size_t i2min = 0, const size_t i2max = RnaSequence::lastPos
151 ) const;
152
160 virtual
161 void
162 addSeeds( Interaction & i ) const;
163
176 virtual
177 bool
178 areLoopOverlapping( const size_t i1, const size_t i2
179 , const size_t k1, const size_t k2 ) const;
180
190 virtual
191 bool
192 isFeasibleSeedBasePair( const size_t i1
193 , const size_t i2
194 , const bool atEndOfSeed = false ) const;
195
196protected:
197
200
203
204
205
206};
207
208
212
213
214inline
216 const InteractionEnergy & energy
217 , const SeedConstraint & seedConstraint
218 )
219 :
220 energy(energy)
221 , seedConstraint(seedConstraint)
222{
223}
224
226
227inline
231
233
234inline
235const SeedConstraint&
237getConstraint() const
238{
239 return seedConstraint;
240}
241
243
244inline
248{
249 return energy;
250}
251
253
254} // namespace
255
256#endif /* SEEDHANDLER_H_ */
Definition InteractionEnergy.h:20
Definition Interaction.h:28
static const size_t lastPos
Definition RnaSequence.h:57
Definition SeedConstraint.h:20
Definition SeedHandler.h:17
virtual bool updateToNextSeed(size_t &i1, size_t &i2, const size_t i1min=0, const size_t i1max=RnaSequence::lastPos, const size_t i2min=0, const size_t i2max=RnaSequence::lastPos) const
virtual E_type getSeedE(const size_t i1, const size_t i2) const =0
virtual size_t getSeedLength2(const size_t i1, const size_t i2) const =0
virtual void traceBackSeed(Interaction &interaction, const size_t i1, const size_t i2) const =0
const SeedConstraint & seedConstraint
the seed constraint to be applied
Definition SeedHandler.h:202
virtual bool isSeedBound(const size_t i1, const size_t i2) const =0
virtual bool areLoopOverlapping(const size_t i1, const size_t i2, const size_t k1, const size_t k2) const
virtual size_t fillSeed(const size_t i1, const size_t j1, const size_t i2, const size_t j2)=0
const InteractionEnergy & energy
the used energy function
Definition SeedHandler.h:199
SeedHandler(const InteractionEnergy &energy, const SeedConstraint &seedConstraint)
Definition SeedHandler.h:215
virtual void addSeeds(Interaction &i) const
virtual bool isFeasibleSeedBasePair(const size_t i1, const size_t i2, const bool atEndOfSeed=false) const
virtual const SeedConstraint & getConstraint() const
Definition SeedHandler.h:237
virtual size_t getSeedLength1(const size_t i1, const size_t i2) const =0
virtual const InteractionEnergy & getInteractionEnergy() const
Definition SeedHandler.h:247
virtual ~SeedHandler()
Definition SeedHandler.h:228
Definition Accessibility.h:13
int E_type
type for energy values (energy + accessibility [ED]) (internally)
Definition general.h:78