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
25 virtual bool guaranteesStackOnlySeeds() const;
26
27
36 );
37
41 virtual ~SeedHandler();
42
47 virtual
48 const SeedConstraint&
49 getConstraint() const;
50
55 virtual
58
59
68 virtual
69 size_t
70 fillSeed(const size_t i1, const size_t j1, const size_t i2, const size_t j2) = 0;
71
82 virtual
83 void
84 traceBackSeed( Interaction & interaction, const size_t i1, const size_t i2) const = 0;
85
86
93 virtual
94 E_type
95 getSeedE( const size_t i1, const size_t i2 ) const = 0;
96
105 virtual
106 bool
107 isSeedBound( const size_t i1, const size_t i2 ) const = 0;
108
115 virtual
116 size_t
117 getSeedLength1( const size_t i1, const size_t i2 ) const = 0;
118
125 virtual
126 size_t
127 getSeedLength2( const size_t i1, const size_t i2 ) const = 0;
128
129
153 virtual
154 bool
155 updateToNextSeed( size_t & i1, size_t & i2
156 , const size_t i1min = 0, const size_t i1max = RnaSequence::lastPos
157 , const size_t i2min = 0, const size_t i2max = RnaSequence::lastPos
158 ) const;
159
167 virtual
168 void
169 addSeeds( Interaction & i ) const;
170
183 virtual
184 bool
185 areLoopOverlapping( const size_t i1, const size_t i2
186 , const size_t k1, const size_t k2 ) const;
187
197 virtual
198 bool
199 isFeasibleSeedBasePair( const size_t i1
200 , const size_t i2
201 , const bool atEndOfSeed = false ) const;
202
203protected:
204
207
210
211
212
213};
214
215
219
220
221inline
223 const InteractionEnergy & energy
224 , const SeedConstraint & seedConstraint
225 )
226 :
227 energy(energy)
228 , seedConstraint(seedConstraint)
229{
230}
231
233
234inline
238
240
241inline
242const SeedConstraint&
244getConstraint() const
245{
246 return seedConstraint;
247}
248
250
251inline
255{
256 return energy;
257}
258
260
261inline bool
263{
264 return false;
265}
266
267} // namespace
268
269#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:209
virtual bool guaranteesStackOnlySeeds() const
Definition SeedHandler.h:262
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:206
SeedHandler(const InteractionEnergy &energy, const SeedConstraint &seedConstraint)
Definition SeedHandler.h:222
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:244
virtual size_t getSeedLength1(const size_t i1, const size_t i2) const =0
virtual const InteractionEnergy & getInteractionEnergy() const
Definition SeedHandler.h:254
virtual ~SeedHandler()
Definition SeedHandler.h:235
Definition Accessibility.h:13
int E_type
type for energy values (energy + accessibility [ED]) (internally)
Definition general.h:78