RNAlib-2.2.0-RC2
utils.h File Reference

General utility- and helper-functions used throughout the ViennaRNA Package. More...

+ Include dependency graph for utils.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define VRNA_INPUT_ERROR   1U
 Output flag of get_input_line(): "An ERROR has occured, maybe EOF".
 
#define VRNA_INPUT_QUIT   2U
 Output flag of get_input_line(): "the user requested quitting the program".
 
#define VRNA_INPUT_MISC   4U
 Output flag of get_input_line(): "something was read".
 
#define VRNA_INPUT_FASTA_HEADER   8U
 Input/Output flag of get_input_line():
if used as input option this tells get_input_line() that the data to be read should comply with the FASTA format. More...
 
#define VRNA_INPUT_CONSTRAINT   32U
 Input flag for get_input_line():
Tell get_input_line() that we assume to read a structure constraint. More...
 
#define VRNA_INPUT_NO_TRUNCATION   256U
 Input switch for get_input_line(): "do not trunkate the line by eliminating white spaces at end of line".
 
#define VRNA_INPUT_NO_REST   512U
 Input switch for vrna_read_fasta_record(): "do fill rest array".
 
#define VRNA_INPUT_NO_SPAN   1024U
 Input switch for vrna_read_fasta_record(): "never allow data to span more than one line".
 
#define VRNA_INPUT_NOSKIP_BLANK_LINES   2048U
 Input switch for vrna_read_fasta_record(): "do not skip empty lines".
 
#define VRNA_INPUT_BLANK_LINE   4096U
 Output flag for vrna_read_fasta_record(): "read an empty line".
 
#define VRNA_INPUT_NOSKIP_COMMENTS   128U
 
#define VRNA_INPUT_COMMENT   8192U
 Output flag for vrna_read_fasta_record(): "read a comment".
 
#define VRNA_OPTION_MULTILINE   32U
 Tell a function that an input is assumed to span several lines. More...
 
#define MIN2(A, B)   ((A) < (B) ? (A) : (B))
 Get the minimum of two comparable values.
 
#define MAX2(A, B)   ((A) > (B) ? (A) : (B))
 Get the maximum of two comparable values.
 
#define MIN3(A, B, C)   (MIN2( (MIN2((A),(B))) ,(C)))
 Get the minimum of three comparable values.
 
#define MAX3(A, B, C)   (MAX2( (MAX2((A),(B))) ,(C)))
 Get the maximum of three comparable values.
 
#define XSTR(s)   STR(s)
 Stringify a macro after expansion.
 
#define STR(s)   #s
 Stringify a macro argument.
 
#define FILENAME_MAX_LENGTH   80
 Maximum length of filenames that are generated by our programs. More...
 
#define FILENAME_ID_LENGTH   42
 Maximum length of id taken from fasta header for filename generation. More...
 

Functions

void * vrna_alloc (unsigned size)
 Allocate space safely. More...
 
void * vrna_realloc (void *p, unsigned size)
 Reallocate space safely. More...
 
void vrna_message_error (const char message[])
 Die with an error message. More...
 
void vrna_message_warning (const char message[])
 Print a warning message. More...
 
void vrna_init_rand (void)
 Initialize seed for random number generator.
 
double vrna_urn (void)
 get a random number from [0..1] More...
 
int vrna_int_urn (int from, int to)
 Generates a pseudo random integer in a specified range. More...
 
void vrna_file_copy (FILE *from, FILE *to)
 Inefficient `cp'.
 
char * vrna_time_stamp (void)
 Get a timestamp. More...
 
char * vrna_random_string (int l, const char symbols[])
 Create a random string using characters from a specified symbol set. More...
 
int vrna_hamming_distance (const char *s1, const char *s2)
 Calculate hamming distance between two sequences. More...
 
int vrna_hamming_distance_bound (const char *s1, const char *s2, int n)
 Calculate hamming distance between two sequences up to a specified length. More...
 
char * get_line (FILE *fp)
 Read a line of arbitrary length from a stream. More...
 
unsigned int get_input_line (char **string, unsigned int options)
 
void vrna_message_input_seq_simple (void)
 Print a line to stdout that asks for an input sequence. More...
 
void vrna_message_input_seq (const char *s)
 Print a line with a user defined string and a ruler to stdout. More...
 
void vrna_seq_toRNA (char *sequence)
 Convert an input sequence (possibly containing DNA alphabet characters) to RNA alphabet. More...
 
void vrna_seq_toupper (char *sequence)
 Convert an input sequence to uppercase. More...
 
int * vrna_get_iindx (unsigned int length)
 Get an index mapper array (iindx) for accessing the energy matrices, e.g. in partition function related functions. More...
 
int * vrna_get_indx (unsigned int length)
 Get an index mapper array (indx) for accessing the energy matrices, e.g. in MFE related functions. More...
 
short * vrna_seq_encode (const char *sequence, vrna_md_t *md)
 Get a numerical representation of the nucleotide sequence.
 
short * vrna_seq_encode_simple (const char *sequence, vrna_md_t *md)
 Get a numerical representation of the nucleotide sequence (simple version)
 
int vrna_nucleotide_encode (char c, vrna_md_t *md)
 Encode a nucleotide character to numerical value. More...
 
char vrna_nucleotide_decode (int enc, vrna_md_t *md)
 Decode a numerical representation of a nucleotide back into nucleotide alphabet. More...
 
char * vrna_get_ptypes (const short *S, vrna_md_t *md)
 Get an array of the numerical encoding for each possible base pair (i,j) More...
 
void str_uppercase (char *sequence)
 Convert an input sequence to uppercase. More...
 
void str_DNA2RNA (char *sequence)
 Convert a DNA input sequence to RNA alphabet. More...
 
void print_tty_input_seq (void)
 Print a line to stdout that asks for an input sequence. More...
 
void print_tty_input_seq_str (const char *s)
 Print a line with a user defined string and a ruler to stdout. More...
 
void warn_user (const char message[])
 Print a warning message. More...
 
void nrerror (const char message[])
 Die with an error message. More...
 
void * space (unsigned size)
 Allocate space safely. More...
 
void * xrealloc (void *p, unsigned size)
 Reallocate space safely. More...
 
void init_rand (void)
 Make random number seeds. More...
 
double urn (void)
 get a random number from [0..1] More...
 
int int_urn (int from, int to)
 Generates a pseudo random integer in a specified range. More...
 
char * random_string (int l, const char symbols[])
 Create a random string using characters from a specified symbol set. More...
 
void filecopy (FILE *from, FILE *to)
 Inefficient cp More...
 
char * time_stamp (void)
 Get a timestamp. More...
 
int hamming (const char *s1, const char *s2)
 Calculate hamming distance between two sequences. More...
 
int hamming_bound (const char *s1, const char *s2, int n)
 Calculate hamming distance between two sequences up to a specified length. More...
 

Variables

unsigned short xsubi [3]
 Current 48 bit random number. More...
 

Detailed Description

General utility- and helper-functions used throughout the ViennaRNA Package.