RNAlib-2.2.5
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 
28 typedef struct vrna_hx_s vrna_hx_t;
29 
30 #include <stdio.h>
31 
33 
34 struct vrna_hx_s {
35  unsigned int start;
36  unsigned int end;
37  unsigned int length;
38  unsigned int up5;
39  unsigned int up3;
40 };
41 
54 char *vrna_db_pack(const char *struc);
55 
66 char *vrna_db_unpack(const char *packed);
67 
77 short *vrna_ptable(const char *structure);
78 
79 
92 short *vrna_pt_pk_get(const char *structure);
93 
100 short *vrna_ptable_copy(const short *pt);
101 
106 short *vrna_pt_ali_get(const char *structure);
107 
115 short *vrna_pt_snoop_get(const char *structure);
116 
120 int *vrna_loopidx_from_ptable(const short *pt);
121 
128 char *vrna_db_from_ptable(short *pt);
129 
130 
142 int vrna_bp_distance( const char *str1,
143  const char *str2);
144 
151 unsigned int *vrna_refBPcnt_matrix(const short *reference_pt,
152  unsigned int turn);
153 
161 unsigned int *vrna_refBPdist_matrix( const short *pt1,
162  const short *pt2,
163  unsigned int turn);
164 
168 char *vrna_db_from_probs( const FLT_OR_DBL *pr,
169  unsigned int length);
170 
174 char vrna_bpp_symbol(const float *x);
175 
188  unsigned int length);
189 
190 void vrna_letter_structure( char *structure,
191  vrna_bp_stack_t *bp,
192  unsigned int length);
193 
209 vrna_plist_t *vrna_plist(const char *struc, float pr);
210 
228 
238 char *vrna_db_from_plist(vrna_plist_t *pairs, unsigned int n);
239 
240 
241 vrna_hx_t *vrna_hx_from_ptable(short *pt);
242 vrna_hx_t *vrna_hx_merge(const vrna_hx_t *list, int maxdist);
243 
244 #ifdef VRNA_BACKWARD_COMPAT
245 
246 /*###########################################*/
247 /*# deprecated functions below #*/
248 /*###########################################*/
249 
267 DEPRECATED(void assign_plist_from_db(vrna_plist_t **pl, const char *struc, float pr));
268 
281 DEPRECATED(char *pack_structure(const char *struc));
282 
293 DEPRECATED(char *unpack_structure(const char *packed));
294 
306 DEPRECATED(short *make_pair_table(const char *structure));
307 
308 DEPRECATED(short *make_pair_table_pk(const char *structure));
309 
318 DEPRECATED(short *copy_pair_table(const short *pt));
319 
325 DEPRECATED(short *alimake_pair_table(const char *structure));
326 
333 DEPRECATED(short *make_pair_table_snoop(const char *structure));
334 
335 DEPRECATED(int *make_loop_index_pt(short *pt));
336 
349 DEPRECATED(int bp_distance(const char *str1, const char *str2));
350 
359 DEPRECATED(unsigned int *make_referenceBP_array(short *reference_pt,
360  unsigned int turn));
369 DEPRECATED(unsigned int *compute_BPdifferences( short *pt1,
370  short *pt2,
371  unsigned int turn));
372 
392 DEPRECATED(void assign_plist_from_pr( vrna_plist_t **pl,
393  FLT_OR_DBL *probs,
394  int length,
395  double cutoff));
396 
404 DEPRECATED(void parenthesis_structure(char *structure,
405  vrna_bp_stack_t *bp,
406  int length));
407 
416 DEPRECATED(void parenthesis_zuker(char *structure,
417  vrna_bp_stack_t *bp,
418  int length));
419 
420 DEPRECATED(void letter_structure( char *structure,
421  vrna_bp_stack_t *bp,
422  int length));
423 
428 DEPRECATED(void bppm_to_structure(char *structure, FLT_OR_DBL *pr, unsigned int length));
429 
434 DEPRECATED(char bppm_symbol(const float *x));
435 
436 #endif
437 
442 #endif
char vrna_bpp_symbol(const float *x)
Get a pseudo dot bracket notation for a given probability information.
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.
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.
Definition: structure_utils.h:34
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:44
The most basic data structure required by many functions throughout the RNAlib.
Definition: data_structures.h:397
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.
Various data structures and pre-processor macros.
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.
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)
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.
this datastructure is used as input parameter in functions of PS_dot.h and others ...
Definition: data_structures.h:171
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:199
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.
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.