- Main Page
- Related Pages
- Data Structures
- Files

- File List
- Globals

# H/utils.h

Go to the documentation of this file.

    00001 #ifndef __VIENNA_RNA_PACKAGE_UTILS_H__
    00002 #define __VIENNA_RNA_PACKAGE_UTILS_H__
    00003
    00012 #define VRNA_INPUT_ERROR                  1U
    00013
    00016 #define VRNA_INPUT_QUIT                   2U
    00017
    00020 #define VRNA_INPUT_MISC                   4U
    00021
    00027 #define VRNA_INPUT_FASTA_HEADER           8U
    00028
    00032 #define VRNA_INPUT_SEQUENCE               16U
    00033
    00037 #define VRNA_INPUT_CONSTRAINT             32U
    00038
    00042 #define VRNA_INPUT_NO_TRUNCATION          256U
    00043
    00046 #define VRNA_INPUT_NO_REST                512U
    00047
    00050 #define VRNA_INPUT_NO_SPAN                1024U
    00051
    00054 #define VRNA_INPUT_NOSKIP_BLANK_LINES     2048U
    00055
    00058 #define VRNA_INPUT_BLANK_LINE             4096U
    00059
    00062 #define VRNA_INPUT_NOSKIP_COMMENTS        128U
    00063
    00066 #define VRNA_INPUT_COMMENT                8192U
    00067
    00068
    00069
    00070
    00074 #define VRNA_CONSTRAINT_PIPE              1U
    00075
    00078 #define VRNA_CONSTRAINT_DOT               2U
    00079
    00082 #define VRNA_CONSTRAINT_X                 4U
    00083
    00086 #define VRNA_CONSTRAINT_ANG_BRACK         8U
    00087
    00090 #define VRNA_CONSTRAINT_RND_BRACK         16U
    00091
    00094 #define VRNA_CONSTRAINT_MULTILINE         32U
    00095
    00098 #define VRNA_CONSTRAINT_NO_HEADER         64U
    00099
    00102 #define VRNA_CONSTRAINT_ALL              128U
    00103
    00107 #define MIN2(A, B)      ((A) < (B) ? (A) : (B))
    00108
    00111 #define MAX2(A, B)      ((A) > (B) ? (A) : (B))
    00112
    00115 #define MIN3(A, B, C)   (MIN2(  (MIN2((A),(B))) ,(C)))
    00116
    00119 #define MAX3(A, B, C)   (MAX2(  (MAX2((A),(B))) ,(C)))
    00120
    00121
    00125 #define XSTR(s) STR(s)
    00126
    00129 #define STR(s) #s
    00130
    00131 #ifndef FILENAME_MAX_LENGTH
    00132
    00138 #define FILENAME_MAX_LENGTH   80
    00139
    00145 #define FILENAME_ID_LENGTH    42
    00146 #endif
    00147
    00148
    00149 #ifdef HAVE_CONFIG_H
    00150 #include <config.h>
    00151 #ifndef HAVE_STRDUP
    00152 char *strdup(const char *s);
    00153 #endif
    00154 #endif
    00155 #ifdef WITH_DMALLOC
    00156 /* use dmalloc library to check for memory management bugs */
    00157 #include "dmalloc.h"
    00158 #define space(S) calloc(1,(S))
    00159 #else
    00160
    00167 /*@only@*/ /*@notnull@*/
    00168 void  *space(unsigned size) /*@ensures MaxSet(result) == (size-1);@*/;
    00169
    00177 /*@only@*/ /*@notnull@*/
    00178 void  *xrealloc(/*@null@*/ /*@only@*/ /*@out@*/ /*@returned@*/ void *p,
    00179                 unsigned size) /*@modifies *p @*/ /*@ensures MaxSet(result) == (size-1) @*/;
    00180 #endif
    00181
    00188 /*@exits@*/
    00189 void nrerror(const char message[]);
    00190
    00198 void warn_user(const char message[]);
    00199
    00203 void   init_rand(void);
    00204
    00213 extern unsigned short xsubi[3];
    00214
    00221 double urn(void);
    00222
    00230 int    int_urn(int from, int to);
    00231
    00232 void   filecopy(FILE *from, FILE *to); /* inefficient `cp' */
    00233
    00242 /*@observer@*/
    00243 char  *time_stamp(void);
    00244
    00252 /*@only@*/ /*@notnull@*/
    00253 char  *random_string(int l, const char symbols[]);
    00254
    00263 int   hamming(const char *s1, const char *s2);
    00264
    00274 int   hamming_bound(const char *s1, const char *s2, int n);
    00275
    00286 /*@only@*/ /*@null@*/
    00287 char  *get_line(FILE *fp);
    00288
    00289 int skip_comment_lines(char **line);
    00290
    00311 unsigned int get_input_line(char **string,
    00312                             unsigned int options);
    00313
    00314 unsigned int get_multi_input_line(char **string,
    00315                                   unsigned int options);
    00316
    00369 unsigned int read_record( char **header,
    00370                           char **sequence,
    00371                           char  ***rest,
    00372                           unsigned int options);
    00373
    00385 char *pack_structure(const char *struc);
    00386
    00396 char *unpack_structure(const char *packed);
    00397
    00407 short *make_pair_table(const char *structure);
    00408
    00415 short *copy_pair_table(const short *pt);
    00416
    00422 short *alimake_pair_table(const char *structure);
    00423
    00429 short *make_pair_table_snoop(const char *structure);
    00430
    00442 int bp_distance(const char *str1,
    00443                 const char *str2);
    00444
    00450 void print_tty_input_seq(void);
    00451
    00460 void print_tty_input_seq_str(const char *s);
    00461
    00467 void print_tty_constraint_full(void);
    00468
    00485 void print_tty_constraint(unsigned int option);
    00486
    00494 void str_DNA2RNA(char *sequence);
    00495
    00501 void  str_uppercase(char *sequence);
    00502
    00516 int   *get_iindx(unsigned int length);
    00517
    00532 int   *get_indx(unsigned int length);
    00533
    00534 void getConstraint( char **cstruc,
    00535                     const char **lines,
    00536                     unsigned int option);
    00537
    00549 void constrain_ptypes(const char *constraint,
    00550                       unsigned int length,
    00551                       char *ptype,
    00552                       int *BP,
    00553                       int min_loop_size,
    00554                       unsigned int idx_type);
    00555
    00556 unsigned int  *make_referenceBP_array(short *reference_pt,
    00557                                       unsigned int turn);
    00558
    00559 unsigned int  *compute_BPdifferences( short *pt1,
    00560                                       short *pt2,
    00561                                       unsigned int turn);
    00562
    00563 #endif