2#ifndef INTARNA_SEEDCONSTRAINT_H_
3#define INTARNA_SEEDCONSTRAINT_H_
54 ,
const bool noGUallowed
55 ,
const bool noGUendAllowed
265 ,
const size_t maxUnpairedOverall_
266 ,
const size_t maxUnpaired1_
267 ,
const size_t maxUnpaired2_
273 ,
const std::string & explicitSeeds
274 ,
const bool noGUallowed
275 ,
const bool noGUendAllowed
280 , maxUnpairedOverall(maxUnpairedOverall_)
281 , maxUnpaired1(std::min(maxUnpaired1_,maxUnpairedOverall_))
282 , maxUnpaired2(std::min(maxUnpaired2_,maxUnpairedOverall_))
285 , maxEhybrid(maxEhybrid)
287 , ranges2(ranges2reversed)
288 , explicitSeeds(explicitSeeds)
289 , bpGUallowed(!noGUallowed)
290 , bpGUendAllowed(!noGUendAllowed)
293 if (
bp < 2 &&
explicitSeeds.empty())
throw std::runtime_error(
"SeedConstraint() : base pair number ("+
toString(
bp)+
") < 2");
Definition IndexRangeList.h:20
Definition SeedConstraint.h:20
E_type getMaxEhybrid() const
Definition SeedConstraint.h:334
size_t getMaxUnpaired2() const
Definition SeedConstraint.h:352
IndexRangeList ranges1
the index ranges of seq1 to be searched for seeds
Definition SeedConstraint.h:238
E_type getMaxE() const
Definition SeedConstraint.h:316
size_t getMaxLength2() const
Definition SeedConstraint.h:379
std::string explicitSeeds
the string encoding of the explicit seed interactions to be used
Definition SeedConstraint.h:244
bool isGUallowed() const
Definition SeedConstraint.h:442
E_type maxED
the maximal ED value (per sequence) allowed for a seed
Definition SeedConstraint.h:232
bool bpGUallowed
whether or not GU base pairs are allowed within seeds
Definition SeedConstraint.h:247
size_t maxUnpairedOverall
the overall summed maximally allowed number of unpaired bases in a seed
Definition SeedConstraint.h:220
const std::string & getExplicitSeeds() const
Definition SeedConstraint.h:424
const IndexRangeList & getRanges2() const
Definition SeedConstraint.h:397
bool isGUendAllowed() const
Definition SeedConstraint.h:451
E_type maxEhybrid
the maximal hybridization energy (incl E_init) allowed for a seed
Definition SeedConstraint.h:235
size_t getBasePairs() const
Definition SeedConstraint.h:307
size_t getMaxLength1() const
Definition SeedConstraint.h:370
const IndexRangeList & getRanges1() const
Definition SeedConstraint.h:388
E_type getMaxED() const
Definition SeedConstraint.h:325
bool lpAllowed
whether or not lonely base pairs are allowed
Definition SeedConstraint.h:253
bool bpGUendAllowed
whether or not GU base pairs are allowed at seed ends
Definition SeedConstraint.h:250
friend std::ostream & operator<<(std::ostream &out, const SeedConstraint &c)
Definition SeedConstraint.h:468
size_t bp
the number of base pairs to be present in a seed
Definition SeedConstraint.h:217
size_t getMaxUnpairedOverall() const
Definition SeedConstraint.h:361
size_t maxUnpaired2
the maximally allowed number of unpaired bases in seed seq2
Definition SeedConstraint.h:226
size_t maxUnpaired1
the maximally allowed number of unpaired bases in seed seq1
Definition SeedConstraint.h:223
virtual ~SeedConstraint()
Definition SeedConstraint.h:299
E_type maxE
the maximal energy allowed for a seed
Definition SeedConstraint.h:229
IndexRangeList ranges2
the index ranges of seq2 to be searched for seeds
Definition SeedConstraint.h:241
SeedConstraint(const size_t bp, const size_t maxUnpairedOverall, const size_t maxUnpaired1, const size_t maxUnpaired2, const E_type maxE, const E_type maxED, const E_type maxEhybrid, const IndexRangeList &ranges1, const IndexRangeList &ranges2reversed, const std::string &explicitSeeds, const bool noGUallowed, const bool noGUendAllowed, const bool noLP)
Definition SeedConstraint.h:263
size_t getMaxUnpaired1() const
Definition SeedConstraint.h:343
bool isLpAllowed() const
Definition SeedConstraint.h:460
#define toString(x)
Definition general.h:60
#define E_2_Ekcal(e)
convert internal energy type to energy value in kcal/mol units
Definition general.h:107
Definition Accessibility.h:13
int E_type
type for energy values (energy + accessibility [ED]) (internally)
Definition general.h:78
std::ostream & operator<<(std::ostream &out, const AccessibilityConstraint &c)
Definition AccessibilityConstraint.h:481