Go to the documentation of this file. 1 #ifndef VIENNA_RNA_PACKAGE_UTILS_H
2 #define VIENNA_RNA_PACKAGE_UTILS_H
4 #ifdef VRNA_WARN_DEPRECATED
5 # if defined(__clang__)
6 # define DEPRECATED(func, msg) func __attribute__ ((deprecated("", msg)))
7 # elif defined(__GNUC__)
8 # define DEPRECATED(func, msg) func __attribute__ ((deprecated(msg)))
10 # define DEPRECATED(func, msg) func
13 # define DEPRECATED(func, msg) func
35 #define PRIVATE static
40 #define VRNA_INPUT_ERROR 1U
44 #define VRNA_INPUT_QUIT 2U
48 #define VRNA_INPUT_MISC 4U
57 #define VRNA_INPUT_FASTA_HEADER 8U
64 #define VRNA_INPUT_SEQUENCE 16U
70 #define VRNA_INPUT_CONSTRAINT 32U
76 #define VRNA_INPUT_NO_TRUNCATION 256U
81 #define VRNA_INPUT_NO_REST 512U
86 #define VRNA_INPUT_NO_SPAN 1024U
91 #define VRNA_INPUT_NOSKIP_BLANK_LINES 2048U
96 #define VRNA_INPUT_BLANK_LINE 4096U
101 #define VRNA_INPUT_NOSKIP_COMMENTS 128U
106 #define VRNA_INPUT_COMMENT 8192U
111 #define MIN2(A, B) ((A) < (B) ? (A) : (B))
116 #define MAX2(A, B) ((A) > (B) ? (A) : (B))
121 #define MIN3(A, B, C) (MIN2((MIN2((A), (B))), (C)))
126 #define MAX3(A, B, C) (MAX2((MAX2((A), (B))), (C)))
132 #define vrna_alloc(S) calloc(1, (S))
133 #define vrna_realloc(p, S) xrealloc(p, S)
175 extern unsigned short xsubi[3];
235 unsigned int options);
405 vrna_message_input_msa(
const char *s);
412 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
414 DEPRECATED(
int *get_indx(
unsigned int length),
"Use vrna_idx_col_wise() instead");
416 DEPRECATED(
int *get_iindx(
unsigned int length),
"Use vrna_idx_row_wise() instead");
430 DEPRECATED(
char *
get_line(FILE *fp),
"Use vrna_read_line() instead");
457 DEPRECATED(
void warn_user(
const char message[]),
"Use vrna_message_warning() instead");
464 DEPRECATED(
void nrerror(
const char message[]),
"Use vrna_message_error() instead()");
471 DEPRECATED(
void *
space(
unsigned size),
"Use vrna_alloc() instead");
479 unsigned size),
"Use vrna_realloc() instead");
485 DEPRECATED(
void init_rand(
void),
"Use vrna_init_rand() instead");
492 DEPRECATED(
double urn(
void),
"Use vrna_urn() instead");
499 DEPRECATED(
int int_urn(
int from,
500 int to),
"Use vrna_int_urn() instead()");
507 DEPRECATED(
void filecopy(FILE *from,
508 FILE *to),
"Use vrna_file_copy() instead");
515 DEPRECATED(
char *
time_stamp(
void),
"Use vrna_time_stamp() instead");
unsigned short xsubi[3]
Current 48 bit random number.
void print_tty_input_seq_str(const char *s)
Print a line with a user defined string and a ruler to stdout.
double urn(void)
get a random number from [0..1]
void nrerror(const char message[])
Die with an error message.
char * get_line(FILE *fp)
Read a line of arbitrary length from a stream.
void vrna_message_vinfo(FILE *fp, const char *format, va_list args)
Print an info message.
void vrna_message_warning(const char *format,...)
Print a warning message.
void print_tty_input_seq(void)
Print a line to stdout that asks for an input sequence.
void * xrealloc(void *p, unsigned size)
Reallocate space safely.
int * vrna_idx_row_wise(unsigned int length)
Get an index mapper array (iindx) for accessing the energy matrices, e.g. in partition function relat...
int * vrna_idx_col_wise(unsigned int length)
Get an index mapper array (indx) for accessing the energy matrices, e.g. in MFE related functions.
void vrna_init_rand(void)
Initialize seed for random number generator.
char * vrna_time_stamp(void)
Get a timestamp.
void vrna_message_input_seq_simple(void)
Print a line to stdout that asks for an input sequence.
void vrna_message_vwarning(const char *format, va_list args)
Print a warning message.
void filecopy(FILE *from, FILE *to)
Inefficient cp
Various data structures and pre-processor macros.
void init_rand(void)
Make random number seeds.
void vrna_message_info(FILE *fp, const char *format,...)
Print an info message.
void vrna_message_verror(const char *format, va_list args)
Print an error message and die.
void warn_user(const char message[])
Print a warning message.
char * time_stamp(void)
Get a timestamp.
void * vrna_realloc(void *p, unsigned size)
Reallocate space safely.
void * space(unsigned size)
Allocate space safely.
int vrna_int_urn(int from, int to)
Generates a pseudo random integer in a specified range.
void vrna_message_error(const char *format,...)
Print an error message and die.
int int_urn(int from, int to)
Generates a pseudo random integer in a specified range.
void vrna_message_input_seq(const char *s)
Print a line with a user defined string and a ruler to stdout.
unsigned int get_input_line(char **string, unsigned int options)
double vrna_urn(void)
get a random number from [0..1]
void * vrna_alloc(unsigned size)
Allocate space safely.