RNAlib-2.2.7
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 
26 typedef struct vrna_hx_s vrna_hx_t;
27 
28 #include <stdio.h>
29 
31 
32 struct vrna_hx_s {
33  unsigned int start;
34  unsigned int end;
35  unsigned int length;
36  unsigned int up5;
37  unsigned int up3;
38 };
39 
52 char *vrna_db_pack(const char *struc);
53 
64 char *vrna_db_unpack(const char *packed);
65 
75 short *vrna_ptable(const char *structure);
76 
77 
90 short *vrna_pt_pk_get(const char *structure);
91 
98 short *vrna_ptable_copy(const short *pt);
99 
104 short *vrna_pt_ali_get(const char *structure);
105 
113 short *vrna_pt_snoop_get(const char *structure);
114 
118 int *vrna_loopidx_from_ptable(const short *pt);
119 
126 char *vrna_db_from_ptable(short *pt);
127 
128 
140 int vrna_bp_distance( const char *str1,
141  const char *str2);
142 
149 unsigned int *vrna_refBPcnt_matrix(const short *reference_pt,
150  unsigned int turn);
151 
159 unsigned int *vrna_refBPdist_matrix( const short *pt1,
160  const short *pt2,
161  unsigned int turn);
162 
166 char *vrna_db_from_probs( const FLT_OR_DBL *pr,
167  unsigned int length);
168 
172 char vrna_bpp_symbol(const float *x);
173 
186  unsigned int length);
187 
188 void vrna_letter_structure( char *structure,
189  vrna_bp_stack_t *bp,
190  unsigned int length);
191 
207 vrna_plist_t *vrna_plist(const char *struc, float pr);
208 
226 
236 char *vrna_db_from_plist(vrna_plist_t *pairs, unsigned int n);
237 
238 
239 vrna_hx_t *vrna_hx_from_ptable(short *pt);
240 vrna_hx_t *vrna_hx_merge(const vrna_hx_t *list, int maxdist);
241 
242 #ifdef VRNA_BACKWARD_COMPAT
243 
244 /*###########################################*/
245 /*# deprecated functions below #*/
246 /*###########################################*/
247 
265 DEPRECATED(void assign_plist_from_db(vrna_plist_t **pl, const char *struc, float pr));
266 
279 DEPRECATED(char *pack_structure(const char *struc));
280 
291 DEPRECATED(char *unpack_structure(const char *packed));
292 
304 DEPRECATED(short *make_pair_table(const char *structure));
305 
306 DEPRECATED(short *make_pair_table_pk(const char *structure));
307 
316 DEPRECATED(short *copy_pair_table(const short *pt));
317 
323 DEPRECATED(short *alimake_pair_table(const char *structure));
324 
331 DEPRECATED(short *make_pair_table_snoop(const char *structure));
332 
333 DEPRECATED(int *make_loop_index_pt(short *pt));
334 
347 DEPRECATED(int bp_distance(const char *str1, const char *str2));
348 
357 DEPRECATED(unsigned int *make_referenceBP_array(short *reference_pt,
358  unsigned int turn));
367 DEPRECATED(unsigned int *compute_BPdifferences( short *pt1,
368  short *pt2,
369  unsigned int turn));
370 
390 DEPRECATED(void assign_plist_from_pr( vrna_plist_t **pl,
391  FLT_OR_DBL *probs,
392  int length,
393  double cutoff));
394 
402 DEPRECATED(void parenthesis_structure(char *structure,
403  vrna_bp_stack_t *bp,
404  int length));
405 
414 DEPRECATED(void parenthesis_zuker(char *structure,
415  vrna_bp_stack_t *bp,
416  int length));
417 
418 DEPRECATED(void letter_structure( char *structure,
419  vrna_bp_stack_t *bp,
420  int length));
421 
426 DEPRECATED(void bppm_to_structure(char *structure, FLT_OR_DBL *pr, unsigned int length));
427 
432 DEPRECATED(char bppm_symbol(const float *x));
433 
434 #endif
435 
440 #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:390
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.
Definition: structure_utils.h:32
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.