RNAlib-2.2.9
structure_utils.h
Go to the documentation of this file.
1 #ifndef VIENNA_RNA_PACKAGE_STRUCT_UTILS_H
2 #define VIENNA_RNA_PACKAGE_STRUCT_UTILS_H
3 
4 /* make this interface backward compatible with RNAlib < 2.2.0 */
5 #define VRNA_BACKWARD_COMPAT
6 
7 #ifdef DEPRECATION_WARNINGS
8 # ifdef __GNUC__
9 # define DEPRECATED(func) func __attribute__ ((deprecated))
10 # else
11 # define DEPRECATED(func) func
12 # endif
13 #else
14 # define DEPRECATED(func) func
15 #endif
16 
29 typedef struct vrna_hx_s vrna_hx_t;
30 
31 #include <stdio.h>
32 
34 
38 struct vrna_hx_s {
39  unsigned int start;
40  unsigned int end;
41  unsigned int length;
42  unsigned int up5;
43  unsigned int up3;
44 };
45 
58 char *vrna_db_pack(const char *struc);
59 
70 char *vrna_db_unpack(const char *packed);
71 
81 short *vrna_ptable(const char *structure);
82 
83 
96 short *vrna_pt_pk_get(const char *structure);
97 
104 short *vrna_ptable_copy(const short *pt);
105 
110 short *vrna_pt_ali_get(const char *structure);
111 
119 short *vrna_pt_snoop_get(const char *structure);
120 
124 int *vrna_loopidx_from_ptable(const short *pt);
125 
132 char *vrna_db_from_ptable(short *pt);
133 
134 
146 int vrna_bp_distance( const char *str1,
147  const char *str2);
148 
155 unsigned int *vrna_refBPcnt_matrix(const short *reference_pt,
156  unsigned int turn);
157 
165 unsigned int *vrna_refBPdist_matrix( const short *pt1,
166  const short *pt2,
167  unsigned int turn);
168 
172 char *vrna_db_from_probs( const FLT_OR_DBL *pr,
173  unsigned int length);
174 
178 char vrna_bpp_symbol(const float *x);
179 
192  unsigned int length);
193 
194 void vrna_letter_structure( char *structure,
195  vrna_bp_stack_t *bp,
196  unsigned int length);
197 
213 vrna_plist_t *vrna_plist(const char *struc, float pr);
214 
232 
242 char *vrna_db_from_plist(vrna_plist_t *pairs, unsigned int n);
243 
244 
245 vrna_hx_t *vrna_hx_from_ptable(short *pt);
246 vrna_hx_t *vrna_hx_merge(const vrna_hx_t *list, int maxdist);
247 
248 #ifdef VRNA_BACKWARD_COMPAT
249 
250 /*###########################################*/
251 /*# deprecated functions below #*/
252 /*###########################################*/
253 
271 DEPRECATED(void assign_plist_from_db(vrna_plist_t **pl, const char *struc, float pr));
272 
285 DEPRECATED(char *pack_structure(const char *struc));
286 
297 DEPRECATED(char *unpack_structure(const char *packed));
298 
310 DEPRECATED(short *make_pair_table(const char *structure));
311 
312 DEPRECATED(short *make_pair_table_pk(const char *structure));
313 
322 DEPRECATED(short *copy_pair_table(const short *pt));
323 
329 DEPRECATED(short *alimake_pair_table(const char *structure));
330 
337 DEPRECATED(short *make_pair_table_snoop(const char *structure));
338 
339 DEPRECATED(int *make_loop_index_pt(short *pt));
340 
353 DEPRECATED(int bp_distance(const char *str1, const char *str2));
354 
363 DEPRECATED(unsigned int *make_referenceBP_array(short *reference_pt,
364  unsigned int turn));
373 DEPRECATED(unsigned int *compute_BPdifferences( short *pt1,
374  short *pt2,
375  unsigned int turn));
376 
396 DEPRECATED(void assign_plist_from_pr( vrna_plist_t **pl,
397  FLT_OR_DBL *probs,
398  int length,
399  double cutoff));
400 
408 DEPRECATED(void parenthesis_structure(char *structure,
409  vrna_bp_stack_t *bp,
410  int length));
411 
420 DEPRECATED(void parenthesis_zuker(char *structure,
421  vrna_bp_stack_t *bp,
422  int length));
423 
424 DEPRECATED(void letter_structure( char *structure,
425  vrna_bp_stack_t *bp,
426  int length));
427 
432 DEPRECATED(void bppm_to_structure(char *structure, FLT_OR_DBL *pr, unsigned int length));
433 
438 DEPRECATED(char bppm_symbol(const float *x));
439 
440 #endif
441 
446 #endif
char vrna_bpp_symbol(const float *x)
Get a pseudo dot bracket notation for a given probability information.
int * vrna_loopidx_from_ptable(const short *pt)
Get a loop index representation of a structure.
int vrna_bp_distance(const char *str1, const char *str2)
Compute the "base pair" distance between two secondary structures s1 and s2.
vrna_plist_t * vrna_plist(const char *struc, float pr)
Create a vrna_plist_t from a dot-bracket string.
char * vrna_db_from_plist(vrna_plist_t *pairs, unsigned int n)
Convert a list of base pairs into dot-bracket notation.
char * vrna_db_from_bp_stack(vrna_bp_stack_t *bp, unsigned int length)
Create a dot-backet/parenthesis structure from backtracking stack.
int bp_distance(const char *str1, const char *str2)
Compute the "base pair" distance between two secondary structures s1 and s2.
char * vrna_db_pack(const char *struc)
Pack secondary secondary structure, 5:1 compression using base 3 encoding.
double FLT_OR_DBL
Typename for floating point number in partition function computations.
Definition: data_structures.h:39
vrna_plist_t * vrna_plist_from_probs(vrna_fold_compound_t *vc, double cut_off)
Create a vrna_plist_t from base pair probability matrix.
The most basic data structure required by many functions throughout the RNAlib.
Definition: data_structures.h:424
short * vrna_ptable(const char *structure)
Create a pair table of a secondary structure.
char * vrna_db_from_probs(const FLT_OR_DBL *pr, unsigned int length)
Create a dot-bracket like structure string from base pair probability matrix.
void parenthesis_zuker(char *structure, vrna_bp_stack_t *bp, int length)
Create a dot-backet/parenthesis structure from backtracking stack obtained by zuker suboptimal calcul...
char * vrna_db_from_ptable(short *pt)
Convert a pair table into dot-parenthesis notation.
short * vrna_pt_pk_get(const char *structure)
Create a pair table of a secondary structure (pseudo-knot version)
short * make_pair_table(const char *structure)
Create a pair table of a secondary structure.
char bppm_symbol(const float *x)
Get a pseudo dot bracket notation for a given probability information.
unsigned int * compute_BPdifferences(short *pt1, short *pt2, unsigned int turn)
Make a reference base pair distance matrix.
unsigned int * vrna_refBPdist_matrix(const short *pt1, const short *pt2, unsigned int turn)
Make a reference base pair distance matrix.
Data structure representing an entry of a helix list.
Definition: structure_utils.h:38
char * vrna_db_unpack(const char *packed)
Unpack secondary structure previously packed with vrna_db_pack()
short * copy_pair_table(const short *pt)
Get an exact copy of a pair table.
void assign_plist_from_db(vrna_plist_t **pl, const char *struc, float pr)
Create a vrna_plist_t from a dot-bracket string.
short * vrna_pt_ali_get(const char *structure)
Create a pair table of a secondary structure (snoop align version)
this datastructure is used as input parameter in functions of PS_dot.h and others ...
Definition: data_structures.h:164
void bppm_to_structure(char *structure, FLT_OR_DBL *pr, unsigned int length)
Create a dot-bracket like structure string from base pair probability matrix.
void parenthesis_structure(char *structure, vrna_bp_stack_t *bp, int length)
Create a dot-backet/parenthesis structure from backtracking stack.
Base pair stack element.
Definition: data_structures.h:192
FLT_OR_DBL * pr
A pointer to the base pair probability matrix.
char * unpack_structure(const char *packed)
Unpack secondary structure previously packed with pack_structure()
char * pack_structure(const char *struc)
Pack secondary secondary structure, 5:1 compression using base 3 encoding.
short * alimake_pair_table(const char *structure)
short * vrna_pt_snoop_get(const char *structure)
Create a pair table of a secondary structure (snoop version)
short * make_pair_table_snoop(const char *structure)
short * vrna_ptable_copy(const short *pt)
Get an exact copy of a pair table.
void assign_plist_from_pr(vrna_plist_t **pl, FLT_OR_DBL *probs, int length, double cutoff)
Create a vrna_plist_t from a probability matrix.
int pairs
contains the number of base pairs in the last parsed structure.
unsigned int * vrna_refBPcnt_matrix(const short *reference_pt, unsigned int turn)
Make a reference base pair count matrix.
unsigned int * make_referenceBP_array(short *reference_pt, unsigned int turn)
Make a reference base pair count matrix.