Implementation of RnaEnsemble. More...
#include <rna_ensemble_impl.hh>
Public Member Functions | |
RnaEnsembleImpl (const MultipleAlignment &sequence, const PFoldParams &pfparams, bool inLoopProbs, bool use_alifold) | |
Construct from sequence or multiple alignment. | |
~RnaEnsembleImpl () | |
Destructor. | |
int | ptype_of_admissible_basepair (size_type i, size_type j) const |
Pair type of an admissible basepair. | |
void | compute_ensemble_probs (const PFoldParams ¶ms, bool inLoopProbs, bool use_alifold) |
(re)compute the pair probabilities | |
double | arc_2_prob_noali (size_type i, size_type j) const |
Get joint probability of stacked arcs. | |
double | arc_2_prob_ali (size_type i, size_type j) const |
Get joint probability of stacked arcs (alifold version) | |
double | unpaired_in_loop_prob_ali (size_type k, size_type i, size_type j) const |
Unpaired probabilty of base in a specified loop (alifold) | |
double | unpaired_in_loop_prob_noali (size_type k, size_type i, size_type j) const |
Unpaired probabilty of base in a specified loop (no alifold) | |
double | arc_in_loop_prob_ali (size_type ip, size_type jp, size_type i, size_type j) const |
Probabilty of base pair in a specified loop (alifold) | |
double | arc_in_loop_prob_noali (size_type ip, size_type jp, size_type i, size_type j) const |
Probabilty of base pair in a specified loop. | |
void | compute_Qm2 () |
Computes the Qm2 matrix. | |
void | compute_Qm2_ali () |
Computes the Qm2 matrix (alifold) | |
void | compute_McCaskill_matrices (const PFoldParams ¶ms, bool inLoopProbs) |
Computes the McCaskill matrices and keeps them accessible. | |
void | compute_McCaskill_alifold_matrices (const PFoldParams ¶ms, bool inLoopProbs) |
Computes the McCaskill matrices and keeps them accessible (alifold) | |
Public Attributes | |
MultipleAlignment | sequence_ |
the sequence | |
bool | pair_probs_available_ |
whether pair probabilities are availabe | |
bool | stacking_probs_available_ |
whether stacking probabilities are available | |
bool | in_loop_probs_available_ |
whether "in loop" probabilities are availabe | |
std::vector< FLT_OR_DBL > | qm2_ |
matrix qm2_ (stored VRNA-style in a vector) | |
std::vector< FLT_OR_DBL > | expMLbase_ |
table for precomputed multi loop terms | |
McC_matrices_base * | McCmat_ |
bool | used_alifold_ |
whether alifold was used to compute the McCaskill matrices | |
double | min_free_energy_ |
minimum free energy (if computed anyway) | |
std::string | min_free_energy_structure_ |
Implementation of RnaEnsemble.
LocARNA::RnaEnsembleImpl::RnaEnsembleImpl | ( | const MultipleAlignment & | sequence, |
const PFoldParams & | pfparams, | ||
bool | inLoopProbs, | ||
bool | use_alifold = true |
||
) |
Construct from sequence or multiple alignment.
sequence | sequence or multiple alignment |
pfparams | partition folding parameters |
inLoopProbs | whether to compute in loop probabilities |
use_alifold | whether to use alifold (required unless sequence is a single sequence) |
Destructor.
Free McCaskill DP matrices
double LocARNA::RnaEnsembleImpl::arc_2_prob_ali | ( | size_type | i, |
size_type | j | ||
) | const |
Get joint probability of stacked arcs (alifold version)
i | left sequence position |
j | right sequence position |
double LocARNA::RnaEnsembleImpl::arc_2_prob_noali | ( | size_type | i, |
size_type | j | ||
) | const |
Get joint probability of stacked arcs.
i | left sequence position |
j | right sequence position |
double LocARNA::RnaEnsembleImpl::arc_in_loop_prob_ali | ( | size_type | ip, |
size_type | jp, | ||
size_type | i, | ||
size_type | j | ||
) | const |
Probabilty of base pair in a specified loop (alifold)
`alifold-specific code
ip | left end of inner base pair |
jp | right end of inner base pair |
i | left end of loop enclosing base pair |
j | right end of loop enclosing base pair |
double LocARNA::RnaEnsembleImpl::arc_in_loop_prob_noali | ( | size_type | ip, |
size_type | jp, | ||
size_type | i, | ||
size_type | j | ||
) | const |
Probabilty of base pair in a specified loop.
`single sequence folding-specific code
ip | left end of inner base pair |
jp | right end of inner base pair |
i | left end of loop enclosing base pair |
j | right end of loop enclosing base pair |
void LocARNA::RnaEnsembleImpl::compute_ensemble_probs | ( | const PFoldParams & | params, |
bool | inLoopProbs, | ||
bool | use_alifold | ||
) |
(re)compute the pair probabilities
params | pfolding parameters |
inLoopProbs | whether in loop probabilities should be made available |
use_alifold | whether alifold should be used |
void LocARNA::RnaEnsembleImpl::compute_McCaskill_alifold_matrices | ( | const PFoldParams & | params, |
bool | inLoopProbs | ||
) |
Computes the McCaskill matrices and keeps them accessible (alifold)
Allocates and fills the McCaskill alifold matrices.
params | parameters for partition folding |
inLoopProbs | whether to compute and keep information for in loop probablities |
void LocARNA::RnaEnsembleImpl::compute_McCaskill_matrices | ( | const PFoldParams & | params, |
bool | inLoopProbs | ||
) |
Computes the McCaskill matrices and keeps them accessible.
Allocates and fills the McCaskill matrices.
params | parameters for partition folding |
inLoopProbs | whether to compute information for in loop probablities |
Computes the Qm2 matrix.
The method creates and fills the Qm2 matrix needed for prob_unpaired_in_loop().
Computes the Qm2 matrix (alifold)
The method creates and fills the Qm2 matrix needed for prob_unpaired_in_loop() if alifold is used.
int LocARNA::RnaEnsembleImpl::ptype_of_admissible_basepair | ( | size_type | i, |
size_type | j | ||
) | const |
Pair type of an admissible basepair.
i | left end of base pair |
j | right end of base pair |
double LocARNA::RnaEnsembleImpl::unpaired_in_loop_prob_ali | ( | size_type | k, |
size_type | i, | ||
size_type | j | ||
) | const |
Unpaired probabilty of base in a specified loop (alifold)
alifold-specific version of prob_unpaired_in_loop()
k | unpaired sequence position |
i | left end of loop enclosing base pair |
j | right end of loop enclosing base pair |
double LocARNA::RnaEnsembleImpl::unpaired_in_loop_prob_noali | ( | size_type | k, |
size_type | i, | ||
size_type | j | ||
) | const |
Unpaired probabilty of base in a specified loop (no alifold)
single sequence folding-specific version of prob_unpaired_in_loop()
k | unpaired sequence position |
i | left end of loop enclosing base pair |
j | right end of loop enclosing base pair |
DP matrix data structures of VRNA's McCaskill algorithm
minimum free energy structure (if computed)