IntaRNA 3.4.1
RNA-RNA interaction prediction | C++ API
Loading...
Searching...
No Matches
SeedHandlerExplicit.h
Go to the documentation of this file.
1
2#ifndef INTARNA_SEEDHANDLEREXPLICIT_H_
3#define INTARNA_SEEDHANDLEREXPLICIT_H_
4
5
7
8#include <boost/unordered_map.hpp>
9
10namespace IntaRNA
11{
12
20{
21public:
22
24 bool guaranteesStackOnlySeeds() const override;
25
35 );
36
40 virtual ~SeedHandlerExplicit() override;
41
42
51 virtual
52 size_t
53 fillSeed(const size_t i1, const size_t j1, const size_t i2, const size_t j2) override;
54
65 virtual
66 void
67 traceBackSeed( Interaction & interaction, const size_t i1, const size_t i2) const override;
68
69
76 virtual
77 E_type
78 getSeedE( const size_t i1, const size_t i2 ) const override;
79
88 virtual
89 bool
90 isSeedBound( const size_t i1, const size_t i2 ) const override;
91
98 virtual
99 size_t
100 getSeedLength1( const size_t i1, const size_t i2 ) const override;
101
108 virtual
109 size_t
110 getSeedLength2( const size_t i1, const size_t i2 ) const override;
111
112
113
121 static
122 std::string
123 checkSeedEncoding( const std::string & seed );
124
131 static
132 size_t
133 getSeedMinBP( const std::string & seedEncoding );
134
158 virtual
159 bool
160 updateToNextSeed( size_t & i1, size_t & i2
161 , const size_t i1min = 0, const size_t i1max = RnaSequence::lastPos
162 , const size_t i2min = 0, const size_t i2max = RnaSequence::lastPos
163 ) const override;
164
165public:
166
170 class SeedData {
171 public:
172
177
186 SeedData( const std::string & seedEncoding, const InteractionEnergy & energyFunction );
187
189 size_t start1;
191 size_t start2;
193 std::string dotBar1;
195 std::string dotBar2;
196 // flag about bp complementarity
200
204 bool
205 isValid() const;
206
207 };
208
209protected:
210
212 boost::unordered_map< Interaction::BasePair, SeedData, Interaction::BasePair::Hash > seedForLeftEnd;
213
216
217};
218
219} /* namespace IntaRNA */
220
221#endif /* INTARNA_SEEDHANDLEREXPLICIT_H_ */
Definition InteractionEnergy.h:20
Definition Interaction.h:28
static const size_t lastPos
Definition RnaSequence.h:57
Definition SeedConstraint.h:20
Definition SeedHandlerExplicit.h:170
E_type energy
energy of the seed interaction excluding the right base pair
Definition SeedHandlerExplicit.h:199
bool allBpCompl
Definition SeedHandlerExplicit.h:197
size_t start2
5' start position in sequence 2
Definition SeedHandlerExplicit.h:191
std::string dotBar1
dot-bar encoding for sequence 1
Definition SeedHandlerExplicit.h:193
SeedData(const std::string &seedEncoding, const InteractionEnergy &energyFunction)
size_t start1
5' start position in sequence 1
Definition SeedHandlerExplicit.h:189
std::string dotBar2
dot-bar encoding for sequence 2
Definition SeedHandlerExplicit.h:195
Definition SeedHandlerExplicit.h:20
bool guaranteesStackOnlySeeds() const override
boost::unordered_map< Interaction::BasePair, SeedData, Interaction::BasePair::Hash > seedForLeftEnd
container to store
Definition SeedHandlerExplicit.h:212
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 override
virtual size_t getSeedLength2(const size_t i1, const size_t i2) const override
static size_t getSeedMinBP(const std::string &seedEncoding)
virtual size_t fillSeed(const size_t i1, const size_t j1, const size_t i2, const size_t j2) override
SeedHandlerExplicit(const InteractionEnergy &energy, const SeedConstraint &seedConstraint)
virtual size_t getSeedLength1(const size_t i1, const size_t i2) const override
static std::string checkSeedEncoding(const std::string &seed)
virtual E_type getSeedE(const size_t i1, const size_t i2) const override
bool allSeedsStacked
whether or not all seeds are stacked (i.e. no bulges or internal loops)
Definition SeedHandlerExplicit.h:215
virtual ~SeedHandlerExplicit() override
virtual bool isSeedBound(const size_t i1, const size_t i2) const override
virtual void traceBackSeed(Interaction &interaction, const size_t i1, const size_t i2) const override
Definition SeedHandler.h:17
const SeedConstraint & seedConstraint
the seed constraint to be applied
Definition SeedHandler.h:209
const InteractionEnergy & energy
the used energy function
Definition SeedHandler.h:206
Definition Accessibility.h:13
int E_type
type for energy values (energy + accessibility [ED]) (internally)
Definition general.h:78