|
IntaRNA 3.4.1
RNA-RNA interaction prediction | C++ API
|
#include <InteractionEnergy.h>


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 | |
Abstract utility class that covers necessary energy related functionalities for the interaction energy computation given two RNAs.
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 |
|
inline |
Construct energy utility object given the accessibility ED values for two RNA sequences.
| accS1 | accessibility of the first sequence |
| accS2 | accessibility of the second sequence (reversed to 3'-5' index reading) |
| maxInternalLoopSize1 | maximal 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) |
| maxInternalLoopSize2 | maximal 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) |
| energyAdd | when 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 |
| energyWithDangle | whether or not danling end energy contributions are taken into account for the overall energy computation |
| internalLoopGU | whether or not GU base pairs are allowed within internal loops |
|
inlinevirtual |
destruction
|
inlinevirtual |
Checks whether or not two positions can form a base pair
| i1 | index in first sequence |
| i2 | index in second sequence |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
inlinevirtual |
Access to the accessibility object of the first sequence (including sequence access)
|
inlinevirtual |
Access to the accessibility object of the second sequence (including sequence access)
|
inlinevirtual |
Provides the base pair encoding for the given indices.
| i1 | the index in the first sequence |
| i2 | the index in the (reversed) second sequence |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
Provides the Boltzmann weight for a given energy.
| energy | the energy (internal representation) the Boltzmann weight is to be computed for |
Provides the Boltzmann weight for a given energy.
| energy | the energy (in kcal/mol) the Boltzmann weight is to be computed for |
|
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.
| i1 | the index of the first sequence interacting with i2 |
| j1 | the index of the first sequence interacting with j2 with i1<=j1 |
| i2 | the index of the second sequence interacting with i1 |
| j2 | the index of the second sequence interacting with j1 with i2<=j2 |
| hybridE | the hybridization energy for the interaction |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
Provides the ensemble energy (in internal energy representation) for a given partition function Z.
| Z | the ensemble's partition function to convert |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
virtual |
Provides details about the energy contributions for the given interaction
| interaction | the interaction of interest |
|
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).
| i1 | the index of the first sequence interacting with i2 |
| i2 | the index of the second sequence interacting with i1 |
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
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).
| j1 | the index of the first sequence interacting with j2 |
| j2 | the index of the second sequence interacting with j1 |
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
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)
| i1 | the index of the first sequence interacting with i2 |
| i2 | the index of the second sequence interacting with i1 |
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
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)
| j1 | the index of the first sequence interacting with j2 |
| j2 | the index of the second sequence interacting with j1 |
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
pure virtual |
Provides the duplex initiation energy.
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
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.
| i1 | the index of the first sequence interacting with i2 |
| j1 | the index of the first sequence interacting with j2 with i1<=j1 |
| i2 | the index of the second sequence interacting with i1 |
| j2 | the index of the second sequence interacting with j1 with i2<=j2 |
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
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.
| i1 | the start of the structured region of seq1 |
| j1 | the end of the structured region of seq1 |
| i2 | the start of the structured region of seq2 |
| j2 | the end of the structured region of seq2 |
| ES_mode | defines for which sequence intramolecular structure contributions are to be considered |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
pure virtual |
Provides the energy contribution/penalty for closing an intermolecular multiloop on the left of a multi-site gap.
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
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)
| j1 | the end of the gap in seq1, ie the first base paired in the interaction site to the right of the gap |
| j2 | the end of the gap in seq2, ie the first base paired in the interaction site to the right of the gap |
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
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.
| numUnpaired | the number of unpaired bases |
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
pure virtual |
Provides the overall ensemble energy for sequence 1 given its accessibility constraints
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
pure virtual |
Provides the overall ensemble energy for sequence 2 given its accessibility constraints
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
inlinevirtual |
Provides the ED penalty for making a region with sequence 1 accessible
| i1 | the start of the accessible region |
| j1 | the end of the accessible region |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
inlinevirtual |
Provides the ED penalty for making a region with (the reversed) sequence 2 accessible
| i2 | the start of the accessible region |
| j2 | the end of the accessible region |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
inlinevirtual |
Provides the energy shift used
|
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.
| i1 | the start of the structured region of seq1 |
| j1 | the end of the structured region of seq1 |
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
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.
| i2 | the start of the structured region of seq2 |
| j2 | the end of the structured region of seq2 |
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
inlinevirtual |
Provides the index within the first sequence of the given base pair.
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
inlinevirtual |
Provides the index within the second sequence of the given base pair.
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
inline |
Access to the maximal size of an unpaired stretch within seq1 within an interaction.
|
inline |
Access to the maximal size of an unpaired stretch within seq2 within an interaction.
|
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].
| i1 | the index of the first sequence interacting with i2 |
| j1 | the index of the first sequence interacting with j2 with i1<=j1 |
| i2 | the index of the second sequence interacting with i1 |
| j2 | the index of the second sequence interacting with j1 with i2<=j2 |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
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].
| i1 | the index of the first sequence interacting with i2 |
| j1 | the index of the first sequence interacting with j2 with i1<=j1 |
| i2 | the index of the second sequence interacting with i1 |
| j2 | the index of the second sequence interacting with j1 with i2<=j2 |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
pure virtual |
Access to the normalized temperature for Boltzmann weight computation
Implemented in IntaRNA::InteractionEnergyBasePair, IntaRNA::InteractionEnergyIdxOffset, and IntaRNA::InteractionEnergyVrna.
|
inlinevirtual |
Whether or not position i is accessible for interaction in sequence 1
| i | the position of interest in sequence 1 |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
inlinevirtual |
Whether or not position i is accessible for interaction in sequence 2
| i | the position of interest in sequence 2 |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
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.
| seq | the sequence the indices correspond to |
| i | begin index of the region in the sequence |
| j | end index of the region in the sequence |
| maxInternalLoopSize | the maximally allowed distance of i and j, ie. (j-i+1) <= maxInternalLoopSize |
|
inlinevirtual |
Checks whether or not two positions can form a GU base pair
| i1 | index in first sequence |
| i2 | index in second sequence |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
inline |
Whether or not GU base pairs are allowed within internal loops.
| true | if GU base pairs are allowed; false otherwise |
|
inlinevirtual |
Checks whether or not the given indices mark valid internal loop boundaries, i.e.
| i1 | the index of the first sequence interacting with i2 |
| j1 | the index of the first sequence interacting with j2 with i1<=j1 |
| i2 | the index of the second sequence interacting with i1 |
| j2 | the index of the second sequence interacting with j1 with i2<=j2 |
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
inlinevirtual |
Length of sequence 1
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
inlinevirtual |
Length of sequence 2
Reimplemented in IntaRNA::InteractionEnergyIdxOffset.
|
protected |
accessibility values for sequence S1
|
protected |
accessibility values for sequence S2 (reversed index order)
|
protected |
user defined shift of the energy spectrum
|
protected |
whether or not dangling end energy contributions are to be added
|
protected |
whether or not GU base pairs allowed in internal loops
|
protected |
maximally allowed unpaired range between two base pairs in sequence S1 forming an intermolecular internal loop
|
protected |
maximally allowed unpaired range between two base pairs in sequence S2 forming an intermolecular internal loop