1 #ifndef VIENNA_RNA_PACKAGE_PART_FUNC_H 2 #define VIENNA_RNA_PACKAGE_PART_FUNC_H 11 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY 28 #ifdef VRNA_WARN_DEPRECATED 29 # if defined(__clang__) 30 # define DEPRECATED(func, msg) func __attribute__ ((deprecated("", msg))) 31 # elif defined(__GNUC__) 32 # define DEPRECATED(func, msg) func __attribute__ ((deprecated(msg))) 34 # define DEPRECATED(func, msg) func 37 # define DEPRECATED(func, msg) func 322 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY 384 DEPRECATED(
float pf_fold_par(
const char *sequence,
390 "Use the new API and vrna_pf() instead");
431 DEPRECATED(
float pf_fold(
const char *sequence,
433 "Use vrna_pf_fold() or vrna_pf() instead");
463 "Use vrna_pf_circfold() or vrna_pf() instead");
475 DEPRECATED(
char *
pbacktrack(
char *sequence),
"Use vrna_pbacktrack() instead");
477 DEPRECATED(
char *pbacktrack5(
char *sequence,
int length),
"Use vrna_pbacktrack5() instead");
494 DEPRECATED(
char *
pbacktrack_circ(
char *sequence),
"Use vrna_pbacktrack() instead");
514 DEPRECATED(
void free_pf_arrays(
void),
"This function is obsolete");
538 "Use the new API with vrna_fold_compound_t instead");
558 "Use the new API with vrna_fold_compound_t instead");
584 "Use the new API with vrna_fold_compound_t instead");
592 "Use the new API with vrna_fold_compound_t instead");
607 "Use vrna_mean_bp_distance() or vrna_mean_bp_distance_pr() instead");
627 "Use vrna_mean_bp_distance() or vrna_mean_bp_distance_pr() instead");
646 DEPRECATED(
void init_pf_fold(
int length),
"This function is obsolete");
652 DEPRECATED(
char *
centroid(
int length,
double *dist),
653 "Use vrna_centroid() instead");
661 "Use vrna_centroid() instead");
669 "Use vrna_mean_bp_distance() or vrna_mean_bp_distance_pr() instead");
695 DEPRECATED(
void assign_plist_gquad_from_pr(
vrna_ep_t **pl,
698 "Use vrna_plist_from_probs() instead");
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 ...
vrna_ep_t * stackProb(double cutoff)
Get the probability of stacks.
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...
float pf_fold(const char *sequence, char *structure)
Compute the partition function of an RNA sequence.
int vrna_pf_float_precision(void)
Find out whether partition function computations are using single precision floating points...
char * get_centroid_struct_gquad_pr(int length, double *dist)
void update_pf_params(int length)
Recalculate energy parameters.
double FAB
all states with DuplexInit correction
Definition: part_func.h:98
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.
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...
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: basic.h:43
The most basic data structure required by many functions throughout the RNAlib.
Definition: fold_compound.h:132
float pf_circ_fold(const char *sequence, char *structure)
Compute the partition function of a circular RNA sequence.
double FB
monomer B
Definition: part_func.h:101
Equilibrium Probability implementations.
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...
double mean_bp_distance(int length)
Get the mean base pair distance of the last partition function computation.
double expHairpinEnergy(int u, int type, short si1, short sj1, const char *string)
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...
void init_pf_fold(int length)
Allocate space for pf_fold()
Data structure returned by vrna_pf_dimer()
Definition: part_func.h:95
Various data structures and pre-processor macros.
double get_subseq_F(int i, int j)
Get the free energy of a subsequence from the q[] array.
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...
int st_back
Flag indicating that auxilary arrays are needed throughout the computations. This is essential for st...
char * centroid(int length, double *dist)
The data structure that contains temperature scaled Boltzmann weights of the energy parameters...
Definition: basic.h:101
Boltzmann Sampling of secondary structures from the ensemble.
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...
double mean_bp_distance_pr(int length, FLT_OR_DBL *pr)
Get the mean base pair distance in the thermodynamic ensemble.
double FA
monomer A
Definition: part_func.h:100
char * pbacktrack_circ(char *sequence)
Sample a secondary structure of a circular RNA from the Boltzmann ensemble according its probability...
void free_pf_arrays(void)
Free arrays for the partition function recursions.
void update_pf_params_par(int length, vrna_exp_param_t *parameters)
Recalculate energy parameters.
FLT_OR_DBL * pr
A pointer to the base pair probability matrix.
Functions to deal with sets of energy parameters.
FLT_OR_DBL * export_bppm(void)
Get a pointer to the base pair probability array.
char * pbacktrack(char *sequence)
Sample a secondary structure from the Boltzmann ensemble according its probability.
double expLoopEnergy(int u1, int u2, int type, int type2, short si1, short sj1, short sp1, short sq1)
double mean_bp_dist(int length)
Data structure representing a single entry of an element probability list (e.g. list of pair probabil...
Definition: structures.h:358
double F0AB
Null model without DuplexInit.
Definition: part_func.h:97
float vrna_pf(vrna_fold_compound_t *vc, char *structure)
Compute the partition function for a given RNA sequence, or sequence alignment.
Centroid structure computation.
double FcAB
true hybrid states only
Definition: part_func.h:99