RNAlib-2.3.1
part_func.h
Go to the documentation of this file.
1 #ifndef VIENNA_RNA_PACKAGE_PART_FUNC_H
2 #define VIENNA_RNA_PACKAGE_PART_FUNC_H
3 
4 /* make this interface backward compatible with RNAlib < 2.2.0 */
5 #define VRNA_BACKWARD_COMPAT
6 
8 #include <ViennaRNA/params.h>
9 #include <ViennaRNA/centroid.h>
12 
13 #ifdef DEPRECATION_WARNINGS
14 # ifdef __GNUC__
15 # define DEPRECATED(func) func __attribute__ ((deprecated))
16 # else
17 # define DEPRECATED(func) func
18 # endif
19 #else
20 # define DEPRECATED(func) func
21 #endif
22 
32 /*
33 #################################################
34 # PARTITION FUNCTION COMPUTATION #
35 #################################################
36 */
37 
64 float vrna_pf(vrna_fold_compound_t *vc, char *structure);
65 
89 float vrna_pf_fold(const char *sequence, char *structure, vrna_plist_t **pl);
90 
117 float vrna_pf_circfold(const char *sequence, char *structure, vrna_plist_t **pl);
118 
119 /*
120 #################################################
121 # OTHER PARTITION FUNCTION RELATED DECLARATIONS #
122 #################################################
123 */
124 
132 int vrna_pf_float_precision(void);
133 
134 #ifdef VRNA_BACKWARD_COMPAT
135 
136 /*
137 #################################################
138 # DEPRECATED FUNCTIONS #
139 #################################################
140 */
141 
154 extern int st_back;
155 
196 DEPRECATED(float pf_fold_par( const char *sequence,
197  char *structure,
198  vrna_exp_param_t *parameters,
199  int calculate_bppm,
200  int is_constrained,
201  int is_circular));
202 
242 DEPRECATED(float pf_fold(const char *sequence,
243  char *structure));
244 
271 DEPRECATED(float pf_circ_fold( const char *sequence,
272  char *structure));
273 
284 DEPRECATED(char *pbacktrack(char *sequence));
285 
286 DEPRECATED(char *pbacktrack5(char *sequence, int length));
287 
303 DEPRECATED(char *pbacktrack_circ(char *sequence));
304 
323 DEPRECATED(void free_pf_arrays(void));
324 
335 DEPRECATED(void update_pf_params(int length));
336 
344 DEPRECATED(void update_pf_params_par(int length, vrna_exp_param_t *parameters));
345 
362 DEPRECATED(FLT_OR_DBL *export_bppm(void));
363 
364 
380 DEPRECATED(int get_pf_arrays(short **S_p,
381  short **S1_p,
382  char **ptype_p,
383  FLT_OR_DBL **qb_p,
384  FLT_OR_DBL **qm_p,
385  FLT_OR_DBL **q1k_p,
386  FLT_OR_DBL **qln_p));
387 
391 DEPRECATED(double get_subseq_F(int i, int j));
392 
393 
405 DEPRECATED(double mean_bp_distance(int length));
406 
424 DEPRECATED(double mean_bp_distance_pr(int length, FLT_OR_DBL *pr));
425 
431 DEPRECATED(vrna_plist_t *stackProb(double cutoff));
432 
433 
439 DEPRECATED(void init_pf_fold(int length));
440 
445 DEPRECATED(char *centroid(int length, double *dist));
446 
451 DEPRECATED(char *get_centroid_struct_gquad_pr(int length,
452  double *dist));
453 
459 DEPRECATED(double mean_bp_dist(int length));
460 
464 DEPRECATED(double expLoopEnergy(int u1,
465  int u2,
466  int type,
467  int type2,
468  short si1,
469  short sj1,
470  short sp1,
471  short sq1));
472 
476 DEPRECATED(double expHairpinEnergy( int u,
477  int type,
478  short si1,
479  short sj1,
480  const char *string));
481 
482 /* this doesn't work if free_pf_arrays() is called before */
483 DEPRECATED(void assign_plist_gquad_from_pr(vrna_plist_t **pl,
484  int length,
485  double cut_off));
486 
487 #endif
488 
489 #endif
float pf_circ_fold(const char *sequence, char *structure)
Compute the partition function of a circular RNA sequence.
char * get_centroid_struct_gquad_pr(int length, double *dist)
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: data_structures.h:48
The most basic data structure required by many functions throughout the RNAlib.
Definition: data_structures.h:454
Equilibrium Probability implementations.
double expHairpinEnergy(int u, int type, short si1, short sj1, const char *string)
double get_subseq_F(int i, int j)
Get the free energy of a subsequence from the q[] array.
Various data structures and pre-processor macros.
void update_pf_params_par(int length, vrna_exp_param_t *parameters)
Recalculate energy parameters.
void init_pf_fold(int length)
Allocate space for pf_fold()
int st_back
Flag indicating that auxilary arrays are needed throughout the computations. This is essential for st...
char * centroid(int length, double *dist)
float vrna_pf(vrna_fold_compound_t *vc, char *structure)
Compute the partition function for a given RNA sequence, or sequence alignment.
float pf_fold(const char *sequence, char *structure)
Compute the partition function of an RNA sequence.
FLT_OR_DBL * export_bppm(void)
Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i...
Functions to deal with sets of energy parameters.
The data structure that contains temperature scaled Boltzmann weights of the energy parameters...
Definition: params.h:99
Boltzmann Sampling of secondary structures from the ensemble.
void free_pf_arrays(void)
Free arrays for the partition function recursions.
float vrna_pf_circfold(const char *sequence, char *structure, vrna_plist_t **pl)
Compute Partition function (and base pair probabilities) for a circular RNA sequences using a compar...
double mean_bp_distance(int length)
Get the mean base pair distance of the last partition function computation.
float vrna_pf_fold(const char *sequence, char *structure, vrna_plist_t **pl)
Compute Partition function (and base pair probabilities) for an RNA sequence using a comparative met...
this datastructure is used as input parameter in functions of PS_dot.h and others ...
Definition: data_structures.h:182
char * pbacktrack_circ(char *sequence)
Sample a secondary structure of a circular RNA from the Boltzmann ensemble according its probability...
void update_pf_params(int length)
Recalculate energy parameters.
double mean_bp_distance_pr(int length, FLT_OR_DBL *pr)
Get the mean base pair distance in the thermodynamic ensemble.
FLT_OR_DBL * pr
A pointer to the base pair probability matrix.
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...
char * pbacktrack(char *sequence)
Sample a secondary structure from the Boltzmann ensemble according its probability.
vrna_plist_t * stackProb(double cutoff)
Get the probability of stacks.
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.
double expLoopEnergy(int u1, int u2, int type, int type2, short si1, short sj1, short sp1, short sq1)
int vrna_pf_float_precision(void)
Find out whether partition function computations are using single precision floating points...
double mean_bp_dist(int length)
Centroid structure computation.