IntaRNA 3.4.1
RNA-RNA interaction prediction | C++ API
Loading...
Searching...
No Matches
Public Member Functions | List of all members
IntaRNA::InteractionEnergyBasePair Class Reference

#include <InteractionEnergyBasePair.h>

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

Public Member Functions

 InteractionEnergyBasePair (const Accessibility &accS1, const ReverseAccessibility &accS2, const size_t maxInternalLoopSize1=16, const size_t maxInternalLoopSize2=16, const bool initES=false, const Z_type RT=Z_type(1.0), const E_type bpEnergy=Ekcal_2_E(-1.0), const size_t minLoopLength=3, const E_type energyAdd=Ekcal_2_E(0.0), const bool energyWithDangles=true, const bool internalLoopGU=true)
 
virtual ~InteractionEnergyBasePair ()
 
virtual E_type getES1 (const size_t i1, const size_t j1) const
 
virtual E_type getES2 (const size_t i2, const size_t j2) const
 
virtual E_type getE_multiUnpaired (const size_t numUnpaired) const
 
virtual E_type getE_multiHelix (const size_t j1, const size_t j2) const
 
virtual E_type getE_multiClosing () const
 
virtual E_type getE_init () const
 
virtual E_type getE_interLeft (const size_t i1, const size_t j1, const size_t i2, const size_t j2) const
 
virtual E_type getE_danglingLeft (const size_t i1, const size_t i2) const
 
virtual E_type getE_danglingRight (const size_t j1, const size_t j2) const
 
virtual E_type getE_endLeft (const size_t i1, const size_t i2) const
 
virtual E_type getE_endRight (const size_t j1, const size_t j2) const
 
virtual Z_type getRT () const
 
E_type getE_basePair () const
 
virtual E_type getEall1 () const
 
virtual E_type getEall2 () const
 
- Public Member Functions inherited from 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)
 
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 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 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
 

Additional Inherited Members

- Public Types inherited from IntaRNA::InteractionEnergy
enum  ES_multi_mode { ES_multi_1only , ES_multi_2only , ES_multi_both }
 
- Static Protected Member Functions inherited from IntaRNA::InteractionEnergy
static bool isAllowedLoopRegion (const RnaSequence &seq, const size_t i, const size_t j, const size_t maxInternalLoopSize)
 
- Protected Attributes inherited from IntaRNA::InteractionEnergy
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

Implements a simple energy interface that is based on base pair counts only.

Author
Martin Mann 2014

Constructor & Destructor Documentation

◆ InteractionEnergyBasePair()

IntaRNA::InteractionEnergyBasePair::InteractionEnergyBasePair ( const Accessibility &  accS1,
const ReverseAccessibility &  accS2,
const size_t  maxInternalLoopSize1 = 16,
const size_t  maxInternalLoopSize2 = 16,
const bool  initES = false,
const Z_type  RT = Z_type(1.0),
const E_type  bpEnergy = Ekcal_2_E(-1.0),
const size_t  minLoopLength = 3,
const E_type  energyAdd = Ekcal_2_E(0.0),
const bool  energyWithDangles = true,
const bool  internalLoopGU = true 
)
inline

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

Parameters
accS1accessibility of the first sequence
accS2accessibility of the second sequence
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) <= maxInternalLoopSize
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) <= maxInternalLoopSize
initESwhether or not to compute and initialize ES values
RTThe energy constant corresponding to temperature
bpEnergyThe energy of the basepair
minLoopLengthThe minimum loop length
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
energyWithDangleswhether or not dangling end contributions are considered within overall energies
internalLoopGUwhether or not GU base pairs are allowed within internal loops

◆ ~InteractionEnergyBasePair()

IntaRNA::InteractionEnergyBasePair::~InteractionEnergyBasePair ( )
inlinevirtual

Member Function Documentation

◆ getE_basePair()

E_type IntaRNA::InteractionEnergyBasePair::getE_basePair ( ) const
inline

Provides the (constant) energy contribution of a base pair (sequence independent) for this energy model.

Returns
the (constant) base pair energy contribution

◆ getE_danglingLeft()

E_type IntaRNA::InteractionEnergyBasePair::getE_danglingLeft ( const size_t  i1,
const size_t  i2 
) const
inlinevirtual

Computes the dangling end energy penalty estimate for the left side of an interaction loop region closed on the left by the intermolecular base pair (i1,i2).

This penalty is always zero for this base pair based energy function.

Parameters
i1the index of the first sequence interacting with i2
i2the index of the second sequence interacting with i1
Returns
0

Implements IntaRNA::InteractionEnergy.

◆ getE_danglingRight()

E_type IntaRNA::InteractionEnergyBasePair::getE_danglingRight ( const size_t  j1,
const size_t  j2 
) const
inlinevirtual

Computes the dangling end energy penalty estimate for the right side of an interaction loop region closed on the right 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

Implements IntaRNA::InteractionEnergy.

◆ getE_endLeft()

E_type IntaRNA::InteractionEnergyBasePair::getE_endLeft ( const size_t  i1,
const size_t  i2 
) const
inlinevirtual

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
0

Implements IntaRNA::InteractionEnergy.

◆ getE_endRight()

E_type IntaRNA::InteractionEnergyBasePair::getE_endRight ( const size_t  j1,
const size_t  j2 
) const
inlinevirtual

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
0

Implements IntaRNA::InteractionEnergy.

◆ getE_init()

E_type IntaRNA::InteractionEnergyBasePair::getE_init ( ) const
inlinevirtual

Provides the duplex initiation energy.

Returns
the energy for duplex initiation

Implements IntaRNA::InteractionEnergy.

◆ getE_interLeft()

E_type IntaRNA::InteractionEnergyBasePair::getE_interLeft ( const size_t  i1,
const size_t  j1,
const size_t  i2,
const size_t  j2 
) const
inlinevirtual

Computes the energy estimate for the interaction loop region closed by the intermolecular base pairs (i1,i2) and (j1,j2) where the regions [i1,j1] and [i2,j2] are considered unpaired. The energy estimate is the negated number of gained base pairs by closing this loop, i.e. -1 or E_INF is the internal loop size exceeds the allowed maximum (see constructor).

Parameters
i1the index of the first sequence (<j1) interacting with i2
j1the index of the first sequence (>i1) interacting with j2
i2the index of the second sequence (<j2) interacting with i1
j2the index of the second sequence (>i2) interacting with j1
Returns
-1 or E_INF if the allowed loop size is exceeded or no valid internal loop boundaries

Implements IntaRNA::InteractionEnergy.

◆ getE_multiClosing()

E_type IntaRNA::InteractionEnergyBasePair::getE_multiClosing ( ) const
inlinevirtual

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

Returns
0

Implements IntaRNA::InteractionEnergy.

◆ getE_multiHelix()

E_type IntaRNA::InteractionEnergyBasePair::getE_multiHelix ( const size_t  j1,
const size_t  j2 
) const
inlinevirtual

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
0

Implements IntaRNA::InteractionEnergy.

◆ getE_multiUnpaired()

E_type IntaRNA::InteractionEnergyBasePair::getE_multiUnpaired ( const size_t  numUnpaired) const
inlinevirtual

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, which is always 0

Implements IntaRNA::InteractionEnergy.

◆ getEall1()

virtual E_type IntaRNA::InteractionEnergyBasePair::getEall1 ( ) const
virtual

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

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

Implements IntaRNA::InteractionEnergy.

◆ getEall2()

virtual E_type IntaRNA::InteractionEnergyBasePair::getEall2 ( ) const
virtual

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

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

Implements IntaRNA::InteractionEnergy.

◆ getES1()

E_type IntaRNA::InteractionEnergyBasePair::getES1 ( const size_t  i1,
const size_t  j1 
) const
inlinevirtual

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

Implements IntaRNA::InteractionEnergy.

◆ getES2()

E_type IntaRNA::InteractionEnergyBasePair::getES2 ( const size_t  i2,
const size_t  j2 
) const
inlinevirtual

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

Implements IntaRNA::InteractionEnergy.

◆ getRT()

Z_type IntaRNA::InteractionEnergyBasePair::getRT ( ) const
inlinevirtual

Returns always RT=1 due to the lack of reasonable values for this energy function.

Returns
1.0

Implements IntaRNA::InteractionEnergy.


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