2#ifndef INTARNA_INTERACTIONENERGYIDXOFFSET_H_
3#define INTARNA_INTERACTIONENERGYIDXOFFSET_H_
78 getE(
const size_t i1,
const size_t j1
79 ,
const size_t i2,
const size_t j2
80 ,
const E_type hybridE )
const;
111 isGU(
const size_t i1,
const size_t i2 )
const;
140 getED1(
const size_t i1,
const size_t j1 )
const;
154 getED2(
const size_t i2,
const size_t j2 )
const;
199 ,
const size_t i2,
const size_t j2
217 getES1(
const size_t i1,
const size_t j1 )
const;
234 getES2(
const size_t i2,
const size_t j2 )
const;
309 getE_interLeft(
const size_t i1,
const size_t j1,
const size_t i2,
const size_t j2 )
const;
391 getPr_danglingLeft(
const size_t i1,
const size_t j1,
const size_t i2,
const size_t j2 )
const;
409 getPr_danglingRight(
const size_t i1,
const size_t j1,
const size_t i2,
const size_t j2 )
const;
429 getBasePair(
const size_t i1,
const size_t i2 )
const;
470 isValidInternalLoop(
const size_t i1,
const size_t j1,
const size_t i2,
const size_t j2 )
const;
514 ,
const size_t offset1
515 ,
const size_t offset2 )
519 , energyOriginal(energyOriginal)
523#if INTARNA_IN_DEBUG_MODE
554#if INTARNA_IN_DEBUG_MODE
556 throw std::runtime_error(
"InteractionEnergyIdxOffset : offset1 "+
toString(
offset1)
580#if INTARNA_IN_DEBUG_MODE
582 throw std::runtime_error(
"InteractionEnergyIdxOffset : offset2 "+
toString(
offset2)
594getED1(
const size_t i1,
const size_t j1 )
const
604getED2(
const size_t i2,
const size_t j2 )
const
634isGU(
const size_t i1,
const size_t i2 )
const
674getES1(
const size_t i1,
const size_t j1 )
const
684getES2(
const size_t i2,
const size_t j2 )
const
735getE_interLeft(
const size_t i1,
const size_t j1,
const size_t i2,
const size_t j2 )
const
786getPr_danglingLeft(
const size_t i1,
const size_t j1,
const size_t i2,
const size_t j2 )
const
796getPr_danglingRight(
const size_t i1,
const size_t j1,
const size_t i2,
const size_t j2 )
const
806getBasePair(
const size_t i1,
const size_t i2 )
const
818#if INTARNA_IN_DEBUG_MODE
831#if INTARNA_IN_DEBUG_MODE
862getE(
const size_t i1,
const size_t j1
863 ,
const size_t i2,
const size_t j2
864 ,
const E_type hybridE )
const
875 ,
const size_t i2,
const size_t j2
886isValidInternalLoop(
const size_t i1,
const size_t j1,
const size_t i2,
const size_t j2 )
const
Definition InteractionEnergyIdxOffset.h:18
virtual E_type getE_multiHelix(const size_t j1, const size_t j2) const
Definition InteractionEnergyIdxOffset.h:705
virtual Interaction::BasePair getBasePair(const size_t i1, const size_t i2) const
Definition InteractionEnergyIdxOffset.h:806
virtual bool areComplementary(const size_t i1, const size_t i2) const
Definition InteractionEnergyIdxOffset.h:644
virtual E_type getE_endRight(const size_t j1, const size_t j2) const
Definition InteractionEnergyIdxOffset.h:776
virtual E_type getEall2() const
Definition InteractionEnergyIdxOffset.h:906
void setOffset1(size_t offset1)
Definition InteractionEnergyIdxOffset.h:552
virtual size_t size2() const
Definition InteractionEnergyIdxOffset.h:664
virtual E_type getE(const size_t i1, const size_t j1, const size_t i2, const size_t j2, const E_type hybridE) const
Definition InteractionEnergyIdxOffset.h:862
virtual E_type getES1(const size_t i1, const size_t j1) const
Definition InteractionEnergyIdxOffset.h:674
virtual E_type getE_multi(const size_t i1, const size_t j1, const size_t i2, const size_t j2, const ES_multi_mode ES_mode) const
Definition InteractionEnergyIdxOffset.h:874
size_t getOffset2() const
Definition InteractionEnergyIdxOffset.h:568
virtual E_type getE_danglingRight(const size_t j1, const size_t j2) const
Definition InteractionEnergyIdxOffset.h:756
virtual Z_type getPr_danglingLeft(const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
Definition InteractionEnergyIdxOffset.h:786
virtual bool isAccessible1(const size_t i) const
Definition InteractionEnergyIdxOffset.h:614
size_t getOffset1() const
Definition InteractionEnergyIdxOffset.h:542
virtual bool isGU(const size_t i1, const size_t i2) const
Definition InteractionEnergyIdxOffset.h:634
virtual bool isAccessible2(const size_t i) const
Definition InteractionEnergyIdxOffset.h:624
virtual ~InteractionEnergyIdxOffset()
Definition InteractionEnergyIdxOffset.h:533
virtual size_t size1() const
Definition InteractionEnergyIdxOffset.h:654
void setOffset2(size_t offset2)
Definition InteractionEnergyIdxOffset.h:578
virtual Z_type getRT() const
Definition InteractionEnergyIdxOffset.h:842
virtual Z_type getPr_danglingRight(const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
Definition InteractionEnergyIdxOffset.h:796
virtual size_t getIndex1(const Interaction::BasePair &bp) const
Definition InteractionEnergyIdxOffset.h:816
size_t offset2
Definition InteractionEnergyIdxOffset.h:500
virtual E_type getEall1() const
Definition InteractionEnergyIdxOffset.h:896
virtual E_type getE_multiUnpaired(const size_t numUnpaired) const
Definition InteractionEnergyIdxOffset.h:694
virtual E_type getE_interLeft(const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
Definition InteractionEnergyIdxOffset.h:735
virtual E_type getE_danglingLeft(const size_t i1, const size_t i2) const
Definition InteractionEnergyIdxOffset.h:746
virtual E_type getED1(const size_t i1, const size_t j1) const
Definition InteractionEnergyIdxOffset.h:594
size_t offset1
Definition InteractionEnergyIdxOffset.h:497
virtual bool isValidInternalLoop(const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
Definition InteractionEnergyIdxOffset.h:886
virtual E_type getE_endLeft(const size_t i1, const size_t i2) const
Definition InteractionEnergyIdxOffset.h:766
virtual E_type getED2(const size_t i2, const size_t j2) const
Definition InteractionEnergyIdxOffset.h:604
virtual E_type getES2(const size_t i2, const size_t j2) const
Definition InteractionEnergyIdxOffset.h:684
virtual size_t getIndex2(const Interaction::BasePair &bp) const
Definition InteractionEnergyIdxOffset.h:829
InteractionEnergyIdxOffset(const InteractionEnergy &energyOriginal, const size_t offset1=0, const size_t offset2=0)
Definition InteractionEnergyIdxOffset.h:513
virtual E_type getE_multiClosing() const
Definition InteractionEnergyIdxOffset.h:715
virtual E_type getE_init() const
Definition InteractionEnergyIdxOffset.h:725
const InteractionEnergy & energyOriginal
Definition InteractionEnergyIdxOffset.h:494
Definition InteractionEnergy.h:20
virtual E_type getE_multiClosing() const =0
virtual E_type getE_endLeft(const size_t i1, const size_t i2) const =0
virtual E_type getE_multi(const size_t i1, const size_t j1, const size_t i2, const size_t j2, const ES_multi_mode ES_mode) const
Definition InteractionEnergy.h:1003
virtual size_t getIndex2(const Interaction::BasePair &bp) const
Definition InteractionEnergy.h:828
virtual E_type getE_multiUnpaired(const size_t numUnpaired) const =0
virtual Z_type getRT() const =0
virtual E_type getEall2() const =0
virtual E_type getE_init() const =0
virtual E_type getE(const size_t i1, const size_t j1, const size_t i2, const size_t j2, const E_type hybridE) const
Definition InteractionEnergy.h:957
virtual Z_type getPr_danglingRight(const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
Definition InteractionEnergy.h:920
virtual size_t getIndex1(const Interaction::BasePair &bp) const
Definition InteractionEnergy.h:818
virtual bool isAccessible2(const size_t i) const
Definition InteractionEnergy.h:871
virtual E_type getE_interLeft(const size_t i1, const size_t j1, const size_t i2, const size_t j2) const =0
virtual bool isAccessible1(const size_t i) const
Definition InteractionEnergy.h:858
virtual E_type getE_danglingLeft(const size_t i1, const size_t i2) const =0
virtual bool areComplementary(const size_t i1, const size_t i2) const
Definition InteractionEnergy.h:687
virtual E_type getE_endRight(const size_t j1, const size_t j2) const =0
virtual E_type getE_multiHelix(const size_t j1, const size_t j2) const =0
virtual E_type getES2(const size_t i2, const size_t j2) const =0
virtual bool isValidInternalLoop(const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
Definition InteractionEnergy.h:729
virtual size_t size1() const
Definition InteractionEnergy.h:709
virtual E_type getED1(const size_t i1, const size_t j1) const
Definition InteractionEnergy.h:838
virtual E_type getEall1() const =0
virtual Interaction::BasePair getBasePair(const size_t i1, const size_t i2) const
Definition InteractionEnergy.h:808
virtual E_type getES1(const size_t i1, const size_t j1) const =0
virtual Z_type getPr_danglingLeft(const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
Definition InteractionEnergy.h:883
virtual size_t size2() const
Definition InteractionEnergy.h:719
virtual bool isGU(const size_t i1, const size_t i2) const
Definition InteractionEnergy.h:699
virtual E_type getE_danglingRight(const size_t j1, const size_t j2) const =0
ES_multi_mode
Definition InteractionEnergy.h:28
virtual E_type getED2(const size_t i2, const size_t j2) const
Definition InteractionEnergy.h:848
type of a base pair index encoding
Definition Interaction.h:33
#define toString(x)
Definition general.h:60
Definition Accessibility.h:13
int E_type
type for energy values (energy + accessibility [ED]) (internally)
Definition general.h:78
double Z_type
type for probabilities, RT and Boltzmann values
Definition general.h:88