1#ifndef VIENNA_RNA_PACKAGE_PART_FUNC_H
2#define VIENNA_RNA_PACKAGE_PART_FUNC_H
12#ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
31#ifdef VRNA_WARN_DEPRECATED
32# if defined(__clang__)
33# define DEPRECATED(func, msg) func __attribute__ ((deprecated("", msg)))
34# elif defined(__GNUC__)
35# define DEPRECATED(func, msg) func __attribute__ ((deprecated(msg)))
37# define DEPRECATED(func, msg) func
40# define DEPRECATED(func, msg) func
177 size_t complex_size);
362#ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
431 "Use the new API and vrna_pf() instead");
475 "Use vrna_pf_fold() or vrna_pf() instead");
506 "Use vrna_pf_circfold() or vrna_pf() instead");
519DEPRECATED(
char *
pbacktrack(
char *sequence),
"Use vrna_pbacktrack() instead");
527 int length),
"Use vrna_pbacktrack5() instead");
592 "Use the new API with vrna_fold_compound_t instead");
612 "Use the new API with vrna_fold_compound_t instead");
639 "Use the new API with vrna_fold_compound_t instead");
649 "Use the new API with vrna_fold_compound_t instead");
665 "Use vrna_mean_bp_distance() or vrna_mean_bp_distance_pr() instead");
687 "Use vrna_mean_bp_distance() or vrna_mean_bp_distance_pr() instead");
713DEPRECATED(
char *
centroid(
int length,
715 "Use vrna_centroid() instead");
723 "Use vrna_centroid() instead");
732 "Use vrna_mean_bp_distance() or vrna_mean_bp_distance_pr() instead");
761 assign_plist_gquad_from_pr(
vrna_ep_t **pl,
764 "Use vrna_plist_from_probs() instead");
Boltzmann Sampling of secondary structures from the ensemble.
Centroid structure computation.
Various data structures and pre-processor macros.
Equilibrium Probability implementations.
The Basic Fold Compound API.
FLT_OR_DBL * pr
A pointer to the base pair probability matrix.
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: basic.h:43
The data structure that contains temperature scaled Boltzmann weights of the energy parameters.
Definition: basic.h:103
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:148
void init_pf_fold(int length)
Allocate space for pf_fold()
double get_subseq_F(int i, int j)
Get the free energy of a subsequence from the q[] array.
void update_pf_params(int length)
Recalculate energy parameters.
int get_pf_arrays(short **S_p, short **S1_p, char **ptype_p, FLT_OR_DBL **qb_p, FLT_OR_DBL **qm_p, FLT_OR_DBL **q1k_p, FLT_OR_DBL **qln_p)
Get the pointers to (almost) all relavant computation arrays used in partition function computation.
double mean_bp_distance(int length)
Get the mean base pair distance of the last partition function computation.
float pf_circ_fold(const char *sequence, char *structure)
Compute the partition function of a circular RNA sequence.
vrna_ep_t * stackProb(double cutoff)
Get the probability of stacks.
void update_pf_params_par(int length, vrna_exp_param_t *parameters)
Recalculate energy parameters.
float pf_fold_par(const char *sequence, char *structure, vrna_exp_param_t *parameters, int calculate_bppm, int is_constrained, int is_circular)
Compute the partition function for a given RNA sequence.
FLT_OR_DBL * export_bppm(void)
Get a pointer to the base pair probability array.
double mean_bp_distance_pr(int length, FLT_OR_DBL *pr)
Get the mean base pair distance in the thermodynamic ensemble.
float pf_fold(const char *sequence, char *structure)
Compute the partition function of an RNA sequence.
void free_pf_arrays(void)
Free arrays for the partition function recursions.
double FAB
all states with DuplexInit correction
Definition: part_func.h:101
double FA
monomer A
Definition: part_func.h:103
size_t num_monomers
Number of monomers.
Definition: part_func.h:111
double * F_monomers
monomers
Definition: part_func.h:110
double FcAB
true hybrid states only
Definition: part_func.h:102
double F0AB
Null model without DuplexInit.
Definition: part_func.h:100
double FB
monomer B
Definition: part_func.h:104
double F_connected
Fully connected ensemble (incl. DuplexInititiation and rotational symmetry correction.
Definition: part_func.h:109
FLT_OR_DBL vrna_pf(vrna_fold_compound_t *vc, char *structure)
Compute the partition function for a given RNA sequence, or sequence alignment.
float vrna_pf_alifold(const char **sequences, char *structure, vrna_ep_t **pl)
Compute Partition function (and base pair probabilities) for an RNA sequence alignment using a compa...
vrna_dimer_pf_t vrna_pf_dimer(vrna_fold_compound_t *vc, char *structure)
Calculate partition function and base pair probabilities of nucleic acid/nucleic acid dimers.
float vrna_pf_circfold(const char *sequence, char *structure, vrna_ep_t **pl)
Compute Partition function (and base pair probabilities) for a circular RNA sequences using a compar...
float vrna_pf_circalifold(const char **sequences, char *structure, vrna_ep_t **pl)
Compute Partition function (and base pair probabilities) for an alignment of circular RNA sequences ...
float vrna_pf_fold(const char *sequence, char *structure, vrna_ep_t **pl)
Compute Partition function (and base pair probabilities) for an RNA sequence using a comparative met...
vrna_dimer_pf_t vrna_pf_co_fold(const char *seq, char *structure, vrna_ep_t **pl)
Calculate partition function and base pair probabilities of nucleic acid/nucleic acid dimers.
Data structure returned by vrna_pf_dimer()
Definition: part_func.h:98
Definition: part_func.h:107
int vrna_pf_float_precision(void)
Find out whether partition function computations are using single precision floating points.
Data structure representing a single entry of an element probability list (e.g. list of pair probabil...
Definition: structures.h:482
char * pbacktrack5(char *sequence, int length)
Sample a sub-structure from the Boltzmann ensemble according its probability.
char * pbacktrack_circ(char *sequence)
Sample a secondary structure of a circular RNA from the Boltzmann ensemble according its probability.
char * pbacktrack(char *sequence)
Sample a secondary structure from the Boltzmann ensemble according its probability.
int st_back
Flag indicating that auxilary arrays are needed throughout the computations. This is essential for st...
Functions to deal with sets of energy parameters.
double expLoopEnergy(int u1, int u2, int type, int type2, short si1, short sj1, short sp1, short sq1)
double expHairpinEnergy(int u, int type, short si1, short sj1, const char *string)
char * get_centroid_struct_gquad_pr(int length, double *dist)
char * centroid(int length, double *dist)
double mean_bp_dist(int length)
Various utility- and helper-functions for secondary structure parsing, converting,...