IntaRNA 3.4.1
RNA-RNA interaction prediction | C++ API
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
IntaRNA::InteractionEnergy Class Referenceabstract

#include <InteractionEnergy.h>

Inheritance diagram for IntaRNA::InteractionEnergy:
Inheritance graph
[legend]
Collaboration diagram for IntaRNA::InteractionEnergy:
Collaboration graph
[legend]

Classes

struct  EnergyContributions
 

Public Types

enum  ES_multi_mode { ES_multi_1only , ES_multi_2only , ES_multi_both }
 

Public Member Functions

 InteractionEnergy (const Accessibility &accS1, const ReverseAccessibility &accS2, const size_t maxInternalLoopSize1, const size_t maxInternalLoopSize2, const E_type energyAdd, const bool energyWithDangle, const bool internalLoopGU)
 
virtual ~InteractionEnergy ()
 
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
 
virtual E_type getE (const Z_type Z) const
 
virtual EnergyContributions getE_contributions (const Interaction &interaction) const
 
virtual bool areComplementary (const size_t i1, const size_t i2) const
 
virtual bool isGU (const size_t i1, const size_t i2) const
 
virtual size_t size1 () const
 
virtual size_t size2 () const
 
virtual E_type getED1 (const size_t i1, const size_t j1) const
 
virtual E_type getED2 (const size_t i2, const size_t j2) const
 
virtual bool isAccessible1 (const size_t i) const
 
virtual bool isAccessible2 (const size_t i) const
 
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
 
virtual E_type getES1 (const size_t i1, const size_t j1) const =0
 
virtual E_type getES2 (const size_t i2, const size_t j2) const =0
 
virtual E_type getE_multiUnpaired (const size_t numUnpaired) const =0
 
virtual E_type getE_multiHelix (const size_t j1, const size_t j2) const =0
 
virtual E_type getE_multiClosing () const =0
 
virtual E_type getE_init () const =0
 
virtual E_type getE_interLeft (const size_t i1, const size_t j1, const size_t i2, const size_t j2) const =0
 
virtual E_type getE_danglingLeft (const size_t i1, const size_t i2) const =0
 
virtual E_type getE_danglingRight (const size_t j1, const size_t j2) const =0
 
virtual E_type getE_endLeft (const size_t i1, const size_t i2) const =0
 
virtual E_type getE_endRight (const size_t j1, const size_t j2) const =0
 
virtual Z_type getPr_danglingLeft (const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
 
virtual Z_type getPr_danglingRight (const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
 
virtual const Accessibility & getAccessibility1 () const
 
virtual const ReverseAccessibility & getAccessibility2 () const
 
const size_t getMaxInternalLoopSize1 () const
 
const size_t getMaxInternalLoopSize2 () const
 
virtual Z_type getRT () const =0
 
virtual Z_type getBoltzmannWeight (const E_type energy) const
 
virtual Z_type getBoltzmannWeight (const Z_type energy) const
 
virtual Interaction::BasePair getBasePair (const size_t i1, const size_t i2) const
 
virtual size_t getIndex1 (const Interaction::BasePair &bp) const
 
virtual size_t getIndex2 (const Interaction::BasePair &bp) const
 
virtual E_type getEnergyAdd () const
 
virtual bool isValidInternalLoop (const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
 
bool isInternalLoopGUallowed () const
 
virtual E_type getEall1 () const =0
 
virtual E_type getEall2 () const =0
 

Static Protected Member Functions

static bool isAllowedLoopRegion (const RnaSequence &seq, const size_t i, const size_t j, const size_t maxInternalLoopSize)
 

Protected Attributes

const Accessibility & accS1
 accessibility values for sequence S1
 
const ReverseAccessibility & accS2
 accessibility values for sequence S2 (reversed index order)
 
const size_t maxInternalLoopSize1
 
const size_t maxInternalLoopSize2
 
const E_type energyAdd
 user defined shift of the energy spectrum
 
const bool energyWithDangles
 whether or not dangling end energy contributions are to be added
 
const bool internalLoopGU
 whether or not GU base pairs allowed in internal loops
 

Detailed Description

Abstract utility class that covers necessary energy related functionalities for the interaction energy computation given two RNAs.

Author
Martin Mann 2014

Member Enumeration Documentation

◆ ES_multi_mode

defines where intramolecular structure contributions are to be considered e.g. in getE_multi().

Enumerator
ES_multi_1only 

incorporate ES for seq1 only

ES_multi_2only 

incorporate ES for seq2 only

ES_multi_both 

incorporate ES for both sequences

Constructor & Destructor Documentation

◆ InteractionEnergy()

IntaRNA::InteractionEnergy::InteractionEnergy ( const Accessibility &  accS1,
const ReverseAccessibility &  accS2,
const size_t  maxInternalLoopSize1,
const size_t  maxInternalLoopSize2,
const E_type  energyAdd,
const bool  energyWithDangle,
const bool  internalLoopGU 
)
inline

Construct energy utility object given the accessibility ED values for two RNA sequences.

Parameters
accS1accessibility of the first sequence
accS2accessibility of the second sequence (reversed to 3'-5' index reading)
maxInternalLoopSize1maximal number of enclosed unpaired positions between two intermolecular base pairs in sequence 1, ie it holds for an intermolecular loop closed by base pairs (i1,i2) and (j1,j2) : (j1-i1) <= (1+maxInternalLoopSize1)
maxInternalLoopSize2maximal number of enclosed unpaired positions between two intermolecular base pairs in sequence 2, ie it holds for an intermolecular loop closed by base pairs (i1,i2) and (j1,j2) : (j2-i2) <= (1+maxInternalLoopSize2)
energyAddwhen computing the overall energy via getE(), this term is always added; thus it defines a shift of the energy spectrum as e.g. needed when computing predictions with accessibility constraints
energyWithDanglewhether or not danling end energy contributions are taken into account for the overall energy computation
internalLoopGUwhether or not GU base pairs are allowed within internal loops

◆ ~InteractionEnergy()

IntaRNA::InteractionEnergy::~InteractionEnergy ( )
inlinevirtual

destruction

Member Function Documentation

◆ areComplementary()

bool IntaRNA::InteractionEnergy::areComplementary ( const size_t  i1,
const size_t  i2 
) const
inlinevirtual

Checks whether or not two positions can form a base pair

Parameters
i1index in first sequence
i2index in second sequence
Returns
true if seq1(i1) can form a base pair with seq2(i2) and both positions are accessible

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getAccessibility1()

const Accessibility & IntaRNA::InteractionEnergy::getAccessibility1 ( ) const
inlinevirtual

Access to the accessibility object of the first sequence (including sequence access)

Returns
the accessibility object for the first sequence

◆ getAccessibility2()

const ReverseAccessibility & IntaRNA::InteractionEnergy::getAccessibility2 ( ) const
inlinevirtual

Access to the accessibility object of the second sequence (including sequence access)

Returns
the reverse accessibility object for the second sequence

◆ getBasePair()

Interaction::BasePair IntaRNA::InteractionEnergy::getBasePair ( const size_t  i1,
const size_t  i2 
) const
inlinevirtual

Provides the base pair encoding for the given indices.

Parameters
i1the index in the first sequence
i2the index in the (reversed) second sequence
Returns
the according base pair (i1,reverseIdx(i2))

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getBoltzmannWeight() [1/2]

Z_type IntaRNA::InteractionEnergy::getBoltzmannWeight ( const E_type  energy) const
inlinevirtual

Provides the Boltzmann weight for a given energy.

Parameters
energythe energy (internal representation) the Boltzmann weight is to be computed for
Returns
the Boltzmann weight, i.e. exp( - energy / RT );

◆ getBoltzmannWeight() [2/2]

Z_type IntaRNA::InteractionEnergy::getBoltzmannWeight ( const Z_type  energy) const
inlinevirtual

Provides the Boltzmann weight for a given energy.

Parameters
energythe energy (in kcal/mol) the Boltzmann weight is to be computed for
Returns
the Boltzmann weight, i.e. exp( - energy / RT );

◆ getE() [1/2]

E_type IntaRNA::InteractionEnergy::getE ( const size_t  i1,
const size_t  j1,
const size_t  i2,
const size_t  j2,
const E_type  hybridE 
) const
inlinevirtual

Provides the overall energy for an interaction from [i1,j1] in the first sequence and [i2,j2] in the second sequence given the hybridization energy contribution.

Parameters
i1the index of the first sequence interacting with i2
j1the index of the first sequence interacting with j2 with i1<=j1
i2the index of the second sequence interacting with i1
j2the index of the second sequence interacting with j1 with i2<=j2
hybridEthe hybridization energy for the interaction
Returns
E = hybridE
  • ED1(i1,j1) + ED2(i2,j2)
  • Edangle(i1,i2) + Edangle(j1,j2)
  • Eend(i1,i2) + Eend(j1,j2)

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getE() [2/2]

E_type IntaRNA::InteractionEnergy::getE ( const Z_type  Z) const
inlinevirtual

Provides the ensemble energy (in internal energy representation) for a given partition function Z.

Parameters
Zthe ensemble's partition function to convert
Returns
E = -RT * log( Z ) in internal energy representation

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getE_contributions()

virtual EnergyContributions IntaRNA::InteractionEnergy::getE_contributions ( const Interaction &  interaction) const
virtual

Provides details about the energy contributions for the given interaction

Parameters
interactionthe interaction of interest
Returns
the individual energy contributions

◆ getE_danglingLeft()

virtual E_type IntaRNA::InteractionEnergy::getE_danglingLeft ( const size_t  i1,
const size_t  i2 
) const
pure virtual

Computes the dangling end energy penalties for the left side (i1-1 and i2-1) of the interaction closed by the intermolecular base pair (i1,i2).

Parameters
i1the index of the first sequence interacting with i2
i2the index of the second sequence interacting with i1
Returns
the dangling end penalty for the left side of the interaction

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getE_danglingRight()

virtual E_type IntaRNA::InteractionEnergy::getE_danglingRight ( const size_t  j1,
const size_t  j2 
) const
pure virtual

Computes the dangling end energy penalties for the right side (j1+1 and j2+1) of the interaction closed by the intermolecular base pair (j1,j2).

Parameters
j1the index of the first sequence interacting with j2
j2the index of the second sequence interacting with j1
Returns
the dangling end penalty for the right side of the interaction

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getE_endLeft()

virtual E_type IntaRNA::InteractionEnergy::getE_endLeft ( const size_t  i1,
const size_t  i2 
) const
pure virtual

Provides the penalty for closing an interaction with the given base pair on the "left side" (i1 = 5' end of seq1 of the interaction)

Parameters
i1the index of the first sequence interacting with i2
i2the index of the second sequence interacting with i1
Returns
the loop closure penalty for the left side of the interaction

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getE_endRight()

virtual E_type IntaRNA::InteractionEnergy::getE_endRight ( const size_t  j1,
const size_t  j2 
) const
pure virtual

Provides the penalty for closing an interaction with the given base pair on the "right side" (j1 = 3' end of seq1 of the interaction)

Parameters
j1the index of the first sequence interacting with j2
j2the index of the second sequence interacting with j1
Returns
the loop closure penalty for the right side of the interaction

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getE_init()

virtual E_type IntaRNA::InteractionEnergy::getE_init ( ) const
pure virtual

Provides the duplex initiation energy.

Returns
the energy for duplex initiation

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getE_interLeft()

virtual E_type IntaRNA::InteractionEnergy::getE_interLeft ( const size_t  i1,
const size_t  j1,
const size_t  i2,
const size_t  j2 
) const
pure virtual

Computes the energy estimate for the 'left side' interaction loop region closed by the intermolecular base pairs (i1,i2) and enclosing (j1,j2) where the regions [i1,j1] and [i2,j2] are considered unpaired or E_INF if the internal loop size exceeds the allowed maximum (see constructor).

Note, the right interaction base pair (j1,j2) is not included in the returned energy value.

Parameters
i1the index of the first sequence interacting with i2
j1the index of the first sequence interacting with j2 with i1<=j1
i2the index of the second sequence interacting with i1
j2the index of the second sequence interacting with j1 with i2<=j2
Returns
the energy for the loop or E_INF if the allowed loop size is exceeded or no valid internal loop boundaries

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getE_multi()

E_type IntaRNA::InteractionEnergy::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
inlinevirtual

Provides the energy contribution of an interaction site gap, i.e. the provided regions are without intermolecular base pairs but are considered to be involved in intramolecular base pairs only. The multi-site gap is scored according to a multiloop in a single structure prediction model. The ends of the two regions are supposed to form an intermolecular base pair each, i.e. (i1,i2) and (j1,j2) have to be complementary.

Parameters
i1the start of the structured region of seq1
j1the end of the structured region of seq1
i2the start of the structured region of seq2
j2the end of the structured region of seq2
ES_modedefines for which sequence intramolecular structure contributions are to be considered
Returns
the energy contribution of a multi-site interaction gap

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getE_multiClosing()

virtual E_type IntaRNA::InteractionEnergy::getE_multiClosing ( ) const
pure virtual

Provides the energy contribution/penalty for closing an intermolecular multiloop on the left of a multi-site gap.

Returns
the energy contribution/penalty of the intermolecular helix within an intramolecular multiloop

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getE_multiHelix()

virtual E_type IntaRNA::InteractionEnergy::getE_multiHelix ( const size_t  j1,
const size_t  j2 
) const
pure virtual

Provides the energy contribution/penalty of the helix repesented by the interaction right of a multi-site gap starting with base pair (j1,j2)

Parameters
j1the end of the gap in seq1, ie the first base paired in the interaction site to the right of the gap
j2the end of the gap in seq2, ie the first base paired in the interaction site to the right of the gap
Returns
the energy contribution/penalty of the intermolecular helix within an intramolecular multiloop

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getE_multiUnpaired()

virtual E_type IntaRNA::InteractionEnergy::getE_multiUnpaired ( const size_t  numUnpaired) const
pure virtual

Provides the energy contribution for a given number of unpaired nucleotides under the assumption that the region is part of an (intermolecular) multiloop.

Parameters
numUnpairedthe number of unpaired bases
Returns
the energy contribution of the given number of unpaired bases within an intramolecular multiloop

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getEall1()

virtual E_type IntaRNA::InteractionEnergy::getEall1 ( ) const
pure virtual

Provides the overall ensemble energy for sequence 1 given its accessibility constraints

Returns
Eall(constraint-conform intra-molecular structures for seq1)

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getEall2()

virtual E_type IntaRNA::InteractionEnergy::getEall2 ( ) const
pure virtual

Provides the overall ensemble energy for sequence 2 given its accessibility constraints

Returns
Eall(constraint-conform intra-molecular structures for seq2)

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getED1()

E_type IntaRNA::InteractionEnergy::getED1 ( const size_t  i1,
const size_t  j1 
) const
inlinevirtual

Provides the ED penalty for making a region with sequence 1 accessible

Parameters
i1the start of the accessible region
j1the end of the accessible region
Returns
the ED value for [i1,j1]

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getED2()

E_type IntaRNA::InteractionEnergy::getED2 ( const size_t  i2,
const size_t  j2 
) const
inlinevirtual

Provides the ED penalty for making a region with (the reversed) sequence 2 accessible

Parameters
i2the start of the accessible region
j2the end of the accessible region
Returns
the ED value for [i2,j2]

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getEnergyAdd()

E_type IntaRNA::InteractionEnergy::getEnergyAdd ( ) const
inlinevirtual

Provides the energy shift used

Returns
the energy contribution always added to compute the overall energy

◆ getES1()

virtual E_type IntaRNA::InteractionEnergy::getES1 ( const size_t  i1,
const size_t  j1 
) const
pure virtual

Provides the ensemble energy (ES) of all intramolecular substructures that can be formed within a given region of sequence 1 under the assumption that the region is part of an (intermolecular) multiloop, i.e. at least one base pair is formed by each substructure.

If no structure can be formed within the region, E_INF is returned.

Parameters
i1the start of the structured region of seq1
j1the end of the structured region of seq1
Returns
the ES value for [i1,j1] or E_INF if no intramolecular structure can be formed

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getES2()

virtual E_type IntaRNA::InteractionEnergy::getES2 ( const size_t  i2,
const size_t  j2 
) const
pure virtual

Provides the ensemble energy (ES) of all intramolecular substructures that can be formed within a given region of sequence 2 under the assumption that the region is part of an (intermolecular) multiloop, i.e. at least one base pair is formed by each substructure.

If no structure can be formed within the region, E_INF is returned.

Parameters
i2the start of the structured region of seq2
j2the end of the structured region of seq2
Returns
the ES value for [i2,j2] or E_INF if no intramolecular structure can be formed

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ getIndex1()

size_t IntaRNA::InteractionEnergy::getIndex1 ( const Interaction::BasePair &  bp) const
inlinevirtual

Provides the index within the first sequence of the given base pair.

Returns
the index of the first sequence within the base pair encoding

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getIndex2()

size_t IntaRNA::InteractionEnergy::getIndex2 ( const Interaction::BasePair &  bp) const
inlinevirtual

Provides the index within the second sequence of the given base pair.

Returns
the index of the second sequence within the base pair encoding

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getMaxInternalLoopSize1()

const size_t IntaRNA::InteractionEnergy::getMaxInternalLoopSize1 ( ) const
inline

Access to the maximal size of an unpaired stretch within seq1 within an interaction.

Returns
the maximal internal loop size of an interaction for seq1

◆ getMaxInternalLoopSize2()

const size_t IntaRNA::InteractionEnergy::getMaxInternalLoopSize2 ( ) const
inline

Access to the maximal size of an unpaired stretch within seq2 within an interaction.

Returns
the maximal internal loop size of an interaction for seq2

◆ getPr_danglingLeft()

Z_type IntaRNA::InteractionEnergy::getPr_danglingLeft ( const size_t  i1,
const size_t  j1,
const size_t  i2,
const size_t  j2 
) const
inlinevirtual

Computes the probability of the dangling ends for the left side (i1-1 and i2-1) of the interaction closed by the intermolecular base pair (i1,i2) for an interaction of [i1,j1] with [i2,j2].

Parameters
i1the index of the first sequence interacting with i2
j1the index of the first sequence interacting with j2 with i1<=j1
i2the index of the second sequence interacting with i1
j2the index of the second sequence interacting with j1 with i2<=j2
Returns
the dangling end probability for the left side of the interaction

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getPr_danglingRight()

Z_type IntaRNA::InteractionEnergy::getPr_danglingRight ( const size_t  i1,
const size_t  j1,
const size_t  i2,
const size_t  j2 
) const
inlinevirtual

Computes the probability of the dangling ends for the right side (j1+1 and j2+1) of the interaction closed by the intermolecular base pair (j1,j2) for an interaction of [i1,j1] with [i2,j2].

Parameters
i1the index of the first sequence interacting with i2
j1the index of the first sequence interacting with j2 with i1<=j1
i2the index of the second sequence interacting with i1
j2the index of the second sequence interacting with j1 with i2<=j2
Returns
the dangling end probability for the right side of the interaction

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ getRT()

virtual Z_type IntaRNA::InteractionEnergy::getRT ( ) const
pure virtual

Access to the normalized temperature for Boltzmann weight computation

Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.

◆ isAccessible1()

bool IntaRNA::InteractionEnergy::isAccessible1 ( const size_t  i) const
inlinevirtual

Whether or not position i is accessible for interaction in sequence 1

Parameters
ithe position of interest in sequence 1
Returns
true if the position can partake in an interaction; false otherwise

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ isAccessible2()

bool IntaRNA::InteractionEnergy::isAccessible2 ( const size_t  i) const
inlinevirtual

Whether or not position i is accessible for interaction in sequence 2

Parameters
ithe position of interest in sequence 2
Returns
true if the position can partake in an interaction; false otherwise

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ isAllowedLoopRegion()

bool IntaRNA::InteractionEnergy::isAllowedLoopRegion ( const RnaSequence &  seq,
const size_t  i,
const size_t  j,
const size_t  maxInternalLoopSize 
)
inlinestaticprotected

Checks whether or not the given indices are valid index region within the sequence for an intermolecular loop and do not violate the maximal internal loop size.

Parameters
seqthe sequence the indices correspond to
ibegin index of the region in the sequence
jend index of the region in the sequence
maxInternalLoopSizethe maximally allowed distance of i and j, ie. (j-i+1) <= maxInternalLoopSize
Returns
true if the indices are fulfilling 0 <= i <= j < seq.length, both sequence positions denote non-ambiguous nucleotides (!= N) and (j-i+1) <= maxInternalLoopSize; false otherwise

◆ isGU()

bool IntaRNA::InteractionEnergy::isGU ( const size_t  i1,
const size_t  i2 
) const
inlinevirtual

Checks whether or not two positions can form a GU base pair

Parameters
i1index in first sequence
i2index in second sequence
Returns
true if seq1(i1) can form a GU base pair with seq2(i2)

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ isInternalLoopGUallowed()

bool IntaRNA::InteractionEnergy::isInternalLoopGUallowed ( ) const
inline

Whether or not GU base pairs are allowed within internal loops.

Parameters
trueif GU base pairs are allowed; false otherwise

◆ isValidInternalLoop()

bool IntaRNA::InteractionEnergy::isValidInternalLoop ( const size_t  i1,
const size_t  j1,
const size_t  i2,
const size_t  j2 
) const
inlinevirtual

Checks whether or not the given indices mark valid internal loop boundaries, i.e.

  • (i1,i2) and (j1,j2) are complementary
  • i1..j1 and i2..j2 are allowed loop regions
  • no boundary overlap ( (j1-i1==0 && j2-i2==0) || (j1-i1>0 && j2-i2>0) )
  • if !internalLoopGU : both ends are no GU base pairs
Parameters
i1the index of the first sequence interacting with i2
j1the index of the first sequence interacting with j2 with i1<=j1
i2the index of the second sequence interacting with i1
j2the index of the second sequence interacting with j1 with i2<=j2
Returns
true if the boundaries are sound for internal loop calculation; false otherwise

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ size1()

size_t IntaRNA::InteractionEnergy::size1 ( ) const
inlinevirtual

Length of sequence 1

Returns
length of sequence 1

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

◆ size2()

size_t IntaRNA::InteractionEnergy::size2 ( ) const
inlinevirtual

Length of sequence 2

Returns
length of sequence 2

Reimplemented in IntaRNA::InteractionEnergyIdxOffset.

Member Data Documentation

◆ accS1

const Accessibility& IntaRNA::InteractionEnergy::accS1
protected

accessibility values for sequence S1

◆ accS2

const ReverseAccessibility& IntaRNA::InteractionEnergy::accS2
protected

accessibility values for sequence S2 (reversed index order)

◆ energyAdd

const E_type IntaRNA::InteractionEnergy::energyAdd
protected

user defined shift of the energy spectrum

◆ energyWithDangles

const bool IntaRNA::InteractionEnergy::energyWithDangles
protected

whether or not dangling end energy contributions are to be added

◆ internalLoopGU

const bool IntaRNA::InteractionEnergy::internalLoopGU
protected

whether or not GU base pairs allowed in internal loops

◆ maxInternalLoopSize1

const size_t IntaRNA::InteractionEnergy::maxInternalLoopSize1
protected

maximally allowed unpaired range between two base pairs in sequence S1 forming an intermolecular internal loop

◆ maxInternalLoopSize2

const size_t IntaRNA::InteractionEnergy::maxInternalLoopSize2
protected

maximally allowed unpaired range between two base pairs in sequence S2 forming an intermolecular internal loop


The documentation for this class was generated from the following file: