\hypertarget{utils_8h_source}{
\section{/homes/fmmarquesmadeira/Projects/jabaws/binaries/src/ViennaRNA/H/utils.h}
}


\begin{footnotesize}\begin{alltt}
00001 \textcolor{preprocessor}{#ifndef \_\_VIENNA\_RNA\_PACKAGE\_UTILS\_H\_\_}
00002 \textcolor{preprocessor}{}\textcolor{preprocessor}{#define \_\_VIENNA\_RNA\_PACKAGE\_UTILS\_H\_\_}
00003 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00012}{}\hyperlink{utils_8h_ad403c9ea58f1836689404c2931419c8c}{00012} \textcolor{preprocessor}{#define VRNA\_INPUT\_ERROR                  1U}
00013 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00016}{}\hyperlink{utils_8h_a72f3c6ca5c83d2b9baed2922d19c403d}{00016} \textcolor{preprocessor}{#define VRNA\_INPUT\_QUIT                   2U}
00017 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00020}{}\hyperlink{utils_8h_a8e3241b321c9c1a78a69e59e2e019a71}{00020} \textcolor{preprocessor}{#define VRNA\_INPUT\_MISC                   4U}
00021 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00028}{}\hyperlink{utils_8h_a2f0d8069e93d3ac54d9320d6bdb8e7e7}{00028} \textcolor{preprocessor}{#define VRNA\_INPUT\_FASTA\_HEADER           8U}
00029 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00034}{}\hyperlink{utils_8h_a8566d6787972100e68b5a2a159b4cf45}{00034} \textcolor{preprocessor}{#define VRNA\_INPUT\_SEQUENCE               16U}
00035 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00040}{}\hyperlink{utils_8h_ac08a9df45b9721b97a47dbfe7a6e5f85}{00040} \textcolor{preprocessor}{#define VRNA\_INPUT\_CONSTRAINT             32U}
00041 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00046}{}\hyperlink{utils_8h_a086742158293217a46ae2f71bb296937}{00046} \textcolor{preprocessor}{#define VRNA\_INPUT\_NO\_TRUNCATION          256U}
00047 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00051}{}\hyperlink{utils_8h_a7a2e8c50a0c7ce82e60da1016e1367fd}{00051} \textcolor{preprocessor}{#define VRNA\_INPUT\_NO\_REST                512U}
00052 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00056}{}\hyperlink{utils_8h_a0de536599b881c787b0943a2671da476}{00056} \textcolor{preprocessor}{#define VRNA\_INPUT\_NO\_SPAN                1024U}
00057 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00061}{}\hyperlink{utils_8h_ab4db885222b3b69608310d7c7e63e286}{00061} \textcolor{preprocessor}{#define VRNA\_INPUT\_NOSKIP\_BLANK\_LINES     2048U}
00062 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00066}{}\hyperlink{utils_8h_a305474b93ccb79ae4c7754016a8ddd84}{00066} \textcolor{preprocessor}{#define VRNA\_INPUT\_BLANK\_LINE             4096U}
00067 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00071}{}\hyperlink{utils_8h_a0f6311f11bed1842e3a527ab27b294c6}{00071} \textcolor{preprocessor}{#define VRNA\_INPUT\_NOSKIP\_COMMENTS        128U}
00072 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00076}{}\hyperlink{utils_8h_af2062e0eeefffd3ed639af460b3d4fab}{00076} \textcolor{preprocessor}{#define VRNA\_INPUT\_COMMENT                8192U}
00077 \textcolor{preprocessor}{}
00078 
00079 
00080 
\hypertarget{utils_8h_source_l00084}{}\hyperlink{utils_8h_a4e8d7120619b21df0309af425acbc9a2}{00084} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_PIPE              1U}
00085 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00088}{}\hyperlink{utils_8h_a55e1d16fd693ae9ec8e987b0750da804}{00088} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_DOT               2U}
00089 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00092}{}\hyperlink{utils_8h_a077c56550c915d4516d84a5ed8d051f4}{00092} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_X                 4U}
00093 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00096}{}\hyperlink{utils_8h_a0512d790f738742cbdcf3f7c87b46f48}{00096} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_ANG\_BRACK         8U}
00097 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00100}{}\hyperlink{utils_8h_aa20bfca4bb2903c8548000a33d7bbb53}{00100} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_RND\_BRACK         16U}
00101 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00104}{}\hyperlink{utils_8h_a7d725ef525b29891abef3f1ed42599a4}{00104} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_MULTILINE         32U}
00105 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00108}{}\hyperlink{utils_8h_a08d12a9a846ea593b7171d277c9f033f}{00108} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_NO\_HEADER         64U}
00109 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00112}{}\hyperlink{utils_8h_a0a697f77a6fbb10f34e16fa68ed9e655}{00112} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_ALL              128U}
00113 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00116}{}\hyperlink{utils_8h_a99dc6b23dc4080a76e2ed1a81c20e94d}{00116} \textcolor{preprocessor}{#define VRNA\_CONSTRAINT\_G                256U}
00117 \textcolor{preprocessor}{}
00118 
00119 
\hypertarget{utils_8h_source_l00128}{}\hyperlink{utils_8h_abec89c09874528c6cb73140a4c3d86d7}{00128} \textcolor{preprocessor}{#define VRNA\_OPTION\_MULTILINE             32U}
00129 \textcolor{preprocessor}{}
00130 
\hypertarget{utils_8h_source_l00134}{}\hyperlink{utils_8h_ae0b9cd0ce090bd69b951aa73e8fa4f7d}{00134} \textcolor{preprocessor}{#define MIN2(A, B)      ((A) < (B) ? (A) : (B))}
00135 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00138}{}\hyperlink{utils_8h_a33297b3679c713b0c4d897cd0fe3b122}{00138} \textcolor{preprocessor}{#define MAX2(A, B)      ((A) > (B) ? (A) : (B))}
00139 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00142}{}\hyperlink{utils_8h_a721b8d5f3abef17f10293f1f7f8c958e}{00142} \textcolor{preprocessor}{#define MIN3(A, B, C)   (MIN2(  (MIN2((A),(B))) ,(C)))}
00143 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00146}{}\hyperlink{utils_8h_a8d577123d2e66d2b7d0bf9af6e172b93}{00146} \textcolor{preprocessor}{#define MAX3(A, B, C)   (MAX2(  (MAX2((A),(B))) ,(C)))}
00147 \textcolor{preprocessor}{}
00148 
\hypertarget{utils_8h_source_l00152}{}\hyperlink{utils_8h_a03943706e48069237cd57f2d35ca987e}{00152} \textcolor{preprocessor}{#define XSTR(s) STR(s)}
00153 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00156}{}\hyperlink{utils_8h_a6388870e639eee9c0a69446876f1f8cc}{00156} \textcolor{preprocessor}{#define STR(s) #s}
00157 \textcolor{preprocessor}{}
00158 \textcolor{preprocessor}{#ifndef FILENAME\_MAX\_LENGTH}
00159 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00165}{}\hyperlink{utils_8h_afb228174279df9486a5cb56ac0bc79a3}{00165} \textcolor{preprocessor}{#define FILENAME\_MAX\_LENGTH   80}
00166 \textcolor{preprocessor}{}
\hypertarget{utils_8h_source_l00172}{}\hyperlink{utils_8h_a33c3b1826b8e2739f09f111ec719ded5}{00172} \textcolor{preprocessor}{#define FILENAME\_ID\_LENGTH    42}
00173 \textcolor{preprocessor}{}\textcolor{preprocessor}{#endif}
00174 \textcolor{preprocessor}{}
00175 
00176 \textcolor{preprocessor}{#ifdef HAVE\_CONFIG\_H}
00177 \textcolor{preprocessor}{}\textcolor{preprocessor}{#include <config.h>}
00178 \textcolor{preprocessor}{#ifndef HAVE\_STRDUP}
00179 \textcolor{preprocessor}{}\textcolor{keywordtype}{char} *strdup(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s);
00180 \textcolor{preprocessor}{#endif}
00181 \textcolor{preprocessor}{}\textcolor{preprocessor}{#endif}
00182 \textcolor{preprocessor}{}\textcolor{preprocessor}{#ifdef WITH\_DMALLOC}
00183 \textcolor{preprocessor}{}\textcolor{comment}{/* use dmalloc library to check for memory management bugs */}
00184 \textcolor{preprocessor}{#include "dmalloc.h"}
00185 \textcolor{preprocessor}{#define space(S) calloc(1,(S))}
00186 \textcolor{preprocessor}{}\textcolor{preprocessor}{#else}
00187 \textcolor{preprocessor}{}
00194 \textcolor{comment}{/*@only@*/} \textcolor{comment}{/*@notnull@*/}
00195 \textcolor{keywordtype}{void}  *\hyperlink{utils_8h_ad7e1e137b3bf1f7108933d302a7f0177}{space}(\textcolor{keywordtype}{unsigned} size) \textcolor{comment}{/*@ensures MaxSet(result) == (size-1);@*/};
00196 
00204 \textcolor{comment}{/*@only@*/} \textcolor{comment}{/*@notnull@*/}
00205 \textcolor{keywordtype}{void}  *\hyperlink{utils_8h_a9037ada838835b1b9db41581a021b0c8}{xrealloc}(\textcolor{comment}{/*@null@*/} \textcolor{comment}{/*@only@*/} \textcolor{comment}{/*@out@*/} \textcolor{comment}{/*@returned@*/} \textcolor{keywordtype}{void} *p,
00206                 \textcolor{keywordtype}{unsigned} size) \textcolor{comment}{/*@modifies *p @*/} \textcolor{comment}{/*@ensures MaxSet(result) == (s
      ize-1) @*/};
00207 \textcolor{preprocessor}{#endif}
00208 \textcolor{preprocessor}{}
00215 \textcolor{comment}{/*@exits@*/}
00216 \textcolor{keywordtype}{void} \hyperlink{utils_8h_a127ce946e56b5a5773781cabe68e38c5}{nrerror}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} message[]);
00217 
00225 \textcolor{keywordtype}{void} \hyperlink{utils_8h_af2355fa8746f2f30fbe71db65dea3d51}{warn_user}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} message[]);
00226 
00230 \textcolor{keywordtype}{void}   \hyperlink{utils_8h_a8aaa6d9be6f803f496d9b97375c371f3}{init_rand}(\textcolor{keywordtype}{void});
00231 
00240 \textcolor{keyword}{extern} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{short} \hyperlink{utils_8h_af9a866c8417afda7368bbac939ab3c47}{xsubi}[3];
00241 
00248 \textcolor{keywordtype}{double} \hyperlink{utils_8h_aaa328491c84996e445d027fde9800f2e}{urn}(\textcolor{keywordtype}{void});
00249 
00257 \textcolor{keywordtype}{int}    \hyperlink{utils_8h_a68ff0849d44f62fe491800378a5ffcb4}{int_urn}(\textcolor{keywordtype}{int} from, \textcolor{keywordtype}{int} to);
00258 
00259 \textcolor{keywordtype}{void}   filecopy(FILE *from, FILE *to); \textcolor{comment}{/* inefficient `cp' */}
00260 
00269 \textcolor{comment}{/*@observer@*/}
00270 \textcolor{keywordtype}{char}  *\hyperlink{utils_8h_a7afeb906cb36e9d77379eabc6907ac46}{time_stamp}(\textcolor{keywordtype}{void});
00271 
00279 \textcolor{comment}{/*@only@*/} \textcolor{comment}{/*@notnull@*/}
00280 \textcolor{keywordtype}{char}  *\hyperlink{utils_8h_a1b95eac365a021572e1c37e5993a89be}{random_string}(\textcolor{keywordtype}{int} l, \textcolor{keyword}{const} \textcolor{keywordtype}{char} symbols[]);
00281 
00290 \textcolor{keywordtype}{int}   \hyperlink{utils_8h_ad9dc7bfc9aa664dc6698f17ce07fc7e7}{hamming}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s1, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *s2);
00291 
00301 \textcolor{keywordtype}{int}   \hyperlink{utils_8h_a96d3c36717d624514055ce201cab1542}{hamming_bound}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s1, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *s2, \textcolor{keywordtype}{int} n);
00302 
00313 \textcolor{comment}{/*@only@*/} \textcolor{comment}{/*@null@*/}
00314 \textcolor{keywordtype}{char}  *\hyperlink{utils_8h_abe51806d14cff0789a8c1df7dbc45b71}{get_line}(FILE *fp);
00315 
00316 \textcolor{keywordtype}{int} skip\_comment\_lines(\textcolor{keywordtype}{char} **line);
00317 
00338 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \hyperlink{utils_8h_a8ef1835eb83f542396f59f0b205965e5}{get_input_line}(\textcolor{keywordtype}{char} **\textcolor{keywordtype}{string},
00339                             \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} options);
00340 
00341 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} get\_multi\_input\_line(\textcolor{keywordtype}{char} **\textcolor{keywordtype}{string},
00342                                   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} options);
00343 
00396 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} \hyperlink{utils_8h_afd194a69af9d92b5b0412a7627ac1595}{read_record}( \textcolor{keywordtype}{char} **header,
00397                           \textcolor{keywordtype}{char} **sequence,
00398                           \textcolor{keywordtype}{char}  ***rest,
00399                           \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} options);
00400 
00401 
00402 \textcolor{comment}{/* \(\backslash\)brief Extract a dot-bracket structure string from (multiline)character array}
00403 \textcolor{comment}{ *}
00404 \textcolor{comment}{ * This function extracts a dot-bracket structure string from the 'rest' array as
      }
00405 \textcolor{comment}{ * returned by read\_record() and returns it. All occurences of comments within th
      e}
00406 \textcolor{comment}{ * 'lines' array will be skipped as long as they do not break the structure strin
      g.}
00407 \textcolor{comment}{ * If no structure could be read, this function returns NULL.}
00408 \textcolor{comment}{ *}
00409 \textcolor{comment}{ * \(\backslash\)see read\_record()}
00410 \textcolor{comment}{ *}
00411 \textcolor{comment}{ * \(\backslash\)param lines   The (multiline) character array to be parsed}
00412 \textcolor{comment}{ * \(\backslash\)param length  The assumed length of the dot-bracket string (passing a value <
       1 results in no length limit)}
00413 \textcolor{comment}{ * \(\backslash\)param option  Some options which may be passed to alter the behavior of the f
      unction, use 0 for no options}
00414 \textcolor{comment}{ * \(\backslash\)return        The dot-bracket string read from lines or NULL}
00415 \textcolor{comment}{ */}
00416 \textcolor{keywordtype}{char} *extract\_record\_rest\_structure(\textcolor{keyword}{const} \textcolor{keywordtype}{char} **lines,
00417                                     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} length,
00418                                     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} option);
00419 
00431 \textcolor{keywordtype}{char} *\hyperlink{utils_8h_ac6dfa5e22928c087c6e09ff0054a7ced}{pack_structure}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *struc);
00432 
00442 \textcolor{keywordtype}{char} *\hyperlink{utils_8h_a071c6921efe1eb974f115ee6fefa3c39}{unpack_structure}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *packed);
00443 
00453 \textcolor{keywordtype}{short} *\hyperlink{utils_8h_a89c32307ee50a0026f4a3131fac0845a}{make_pair_table}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *structure);
00454 
00455 \textcolor{keywordtype}{short} *make\_pair\_table\_pk(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *structure);
00456 
00463 \textcolor{keywordtype}{short} *\hyperlink{utils_8h_afeaa6d68eef3a99d0a7aa08aa91c6601}{copy_pair_table}(\textcolor{keyword}{const} \textcolor{keywordtype}{short} *pt);
00464 
00470 \textcolor{keywordtype}{short} *\hyperlink{utils_8h_a3c81b3967056c3888b8472b65fbb16f5}{alimake_pair_table}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *structure);
00471 
00477 \textcolor{keywordtype}{short} *\hyperlink{utils_8h_a9aa3bf3b4346bb7fb88efc154dd07a79}{make_pair_table_snoop}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *structure);
00478 
00491 \textcolor{keywordtype}{int} *\hyperlink{utils_8h_a4358e89f64cc87a563b7ef3855f75bed}{make_loop_index_pt}(\textcolor{keywordtype}{short} *pt);
00492 
00493 
00494 \textcolor{keywordtype}{int} bp\_distance(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *str1,
00495                 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *str2);
00496 
00502 \textcolor{keywordtype}{void} \hyperlink{utils_8h_a6bf778117d31b7fd90db435323f4ef74}{print_tty_input_seq}(\textcolor{keywordtype}{void});
00503 
00512 \textcolor{keywordtype}{void} \hyperlink{utils_8h_ae4ef89b662a3e9b5b5f0781d9757aba0}{print_tty_input_seq_str}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *s);
00513 
00519 \textcolor{keywordtype}{void} \hyperlink{utils_8h_ae8ae8a34962b9959be3f6c40f0a80ac1}{print_tty_constraint_full}(\textcolor{keywordtype}{void});
00520 
00537 \textcolor{keywordtype}{void} \hyperlink{utils_8h_a4d167deb70bb51723e44374dc981deb2}{print_tty_constraint}(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} option);
00538 
00546 \textcolor{keywordtype}{void} \hyperlink{utils_8h_ad3f18dd83f958f18b2f26ecb99305208}{str_DNA2RNA}(\textcolor{keywordtype}{char} *sequence);
00547 
00553 \textcolor{keywordtype}{void}  \hyperlink{utils_8h_a17b796b806f96b70382077fb5bc519bb}{str_uppercase}(\textcolor{keywordtype}{char} *sequence);
00554 
00568 \textcolor{keywordtype}{int}   *\hyperlink{utils_8h_a55c0f6b3b07b6adf2ee235ba901fe397}{get_iindx}(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} length);
00569 
00584 \textcolor{keywordtype}{int}   *\hyperlink{utils_8h_a4d9ee1572c1bfcd02d3d3f2db8a6530f}{get_indx}(\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} length);
00585 
00586 \textcolor{keywordtype}{void} getConstraint( \textcolor{keywordtype}{char} **cstruc,
00587                     \textcolor{keyword}{const} \textcolor{keywordtype}{char} **lines,
00588                     \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} option);
00589 
00601 \textcolor{keywordtype}{void} \hyperlink{utils_8h_a36c3a6c3218b041f992052767bc74549}{constrain_ptypes}(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *constraint,
00602                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} length,
00603                       \textcolor{keywordtype}{char} *ptype,
00604                       \textcolor{keywordtype}{int} *BP,
00605                       \textcolor{keywordtype}{int} min\_loop\_size,
00606                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} idx\_type);
00607 
00608 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}  *make\_referenceBP\_array(\textcolor{keywordtype}{short} *reference\_pt,
00609                                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} turn);
00610 
00611 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}  *compute\_BPdifferences( \textcolor{keywordtype}{short} *pt1,
00612                                       \textcolor{keywordtype}{short} *pt2,
00613                                       \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} turn);
00614 
00615 \textcolor{preprocessor}{#endif}
\end{alltt}\end{footnotesize}
