<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<title>RNAlib-2.1.2: /home/mescalin/ronny/public_html/programs/ViennaRNA/H/utils.h Source File</title>
+<title>RNAlib-2.1.2: /homes/fmmarquesmadeira/Projects/jabaws/binaries/src/ViennaRNA/H/utils.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="navtree.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="resize.js"></script>
-<script type="text/javascript" src="navtree.js"></script>
-<script type="text/javascript">
- $(document).ready(initResizable);
-</script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">RNAlib-2.1.2
- </div>
- </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.8.1.1 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="pages.html"><span>Related Pages</span></a></li>
+<!-- Generated by Doxygen 1.6.1 -->
+<script type="text/javascript">
+<!--
+function changeDisplayState (e){
+ var num=this.id.replace(/[^[0-9]/g,'');
+ var button=this.firstChild;
+ var sectionDiv=document.getElementById('dynsection'+num);
+ if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
+ sectionDiv.style.display='block';
+ button.src='open.gif';
+ }else{
+ sectionDiv.style.display='none';
+ button.src='closed.gif';
+ }
+}
+function initDynSections(){
+ var divs=document.getElementsByTagName('div');
+ var sectionCounter=1;
+ for(var i=0;i<divs.length-1;i++){
+ if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
+ var header=divs[i];
+ var section=divs[i+1];
+ var button=header.firstChild;
+ if (button!='IMG'){
+ divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
+ button=document.createElement('img');
+ divs[i].insertBefore(button,divs[i].firstChild);
+ }
+ header.style.cursor='pointer';
+ header.onclick=changeDisplayState;
+ header.id='dynheader'+sectionCounter;
+ button.src='closed.gif';
+ section.id='dynsection'+sectionCounter;
+ section.style.display='none';
+ section.style.marginLeft='14px';
+ sectionCounter++;
+ }
+ }
+}
+window.onload = initDynSections;
+-->
+</script>
+<div class="navigation" id="top">
+ <div class="tabs">
+ <ul>
+ <li><a href="main.html"><span>Main Page</span></a></li>
+ <li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
- <li><a href="annotated.html"><span>Data Structures</span></a></li>
+ <li><a href="annotated.html"><span>Data Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="files.html"><span>File List</span></a></li>
+ <div class="tabs">
+ <ul>
+ <li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
-</div><!-- top -->
-<div id="side-nav" class="ui-resizable side-nav-resizable">
- <div id="nav-tree">
- <div id="nav-tree-contents">
- </div>
- </div>
- <div id="splitbar" style="-moz-user-select:none;"
- class="ui-resizable-handle">
- </div>
-</div>
-<script type="text/javascript">
-$(document).ready(function(){initNavTree('utils_8h.html','');});
-</script>
-<div id="doc-content">
-<div class="header">
- <div class="headertitle">
-<div class="title">utils.h</div> </div>
-</div><!--header-->
-<div class="contents">
-<a href="utils_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="preprocessor">#ifndef __VIENNA_RNA_PACKAGE_UTILS_H__</span></div>
-<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor"></span><span class="preprocessor">#define __VIENNA_RNA_PACKAGE_UTILS_H__</span></div>
-<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00012"></a><span class="lineno"><a class="code" href="utils_8h.html#ad403c9ea58f1836689404c2931419c8c"> 12</a></span> <span class="preprocessor">#define VRNA_INPUT_ERROR 1U</span></div>
-<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00016"></a><span class="lineno"><a class="code" href="utils_8h.html#a72f3c6ca5c83d2b9baed2922d19c403d"> 16</a></span> <span class="preprocessor">#define VRNA_INPUT_QUIT 2U</span></div>
-<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00020"></a><span class="lineno"><a class="code" href="utils_8h.html#a8e3241b321c9c1a78a69e59e2e019a71"> 20</a></span> <span class="preprocessor">#define VRNA_INPUT_MISC 4U</span></div>
-<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"><a class="code" href="utils_8h.html#a2f0d8069e93d3ac54d9320d6bdb8e7e7"> 28</a></span> <span class="preprocessor">#define VRNA_INPUT_FASTA_HEADER 8U</span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"><a class="code" href="utils_8h.html#a8566d6787972100e68b5a2a159b4cf45"> 34</a></span> <span class="preprocessor">#define VRNA_INPUT_SEQUENCE 16U</span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00040"></a><span class="lineno"><a class="code" href="utils_8h.html#ac08a9df45b9721b97a47dbfe7a6e5f85"> 40</a></span> <span class="preprocessor">#define VRNA_INPUT_CONSTRAINT 32U</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="utils_8h.html#a086742158293217a46ae2f71bb296937"> 46</a></span> <span class="preprocessor">#define VRNA_INPUT_NO_TRUNCATION 256U</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00051"></a><span class="lineno"><a class="code" href="utils_8h.html#a7a2e8c50a0c7ce82e60da1016e1367fd"> 51</a></span> <span class="preprocessor">#define VRNA_INPUT_NO_REST 512U</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="utils_8h.html#a0de536599b881c787b0943a2671da476"> 56</a></span> <span class="preprocessor">#define VRNA_INPUT_NO_SPAN 1024U</span></div>
-<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00061"></a><span class="lineno"><a class="code" href="utils_8h.html#ab4db885222b3b69608310d7c7e63e286"> 61</a></span> <span class="preprocessor">#define VRNA_INPUT_NOSKIP_BLANK_LINES 2048U</span></div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="utils_8h.html#a305474b93ccb79ae4c7754016a8ddd84"> 66</a></span> <span class="preprocessor">#define VRNA_INPUT_BLANK_LINE 4096U</span></div>
-<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00071"></a><span class="lineno"><a class="code" href="utils_8h.html#a0f6311f11bed1842e3a527ab27b294c6"> 71</a></span> <span class="preprocessor">#define VRNA_INPUT_NOSKIP_COMMENTS 128U</span></div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="utils_8h.html#af2062e0eeefffd3ed639af460b3d4fab"> 76</a></span> <span class="preprocessor">#define VRNA_INPUT_COMMENT 8192U</span></div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div>
-<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div>
-<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div>
-<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="utils_8h.html#a4e8d7120619b21df0309af425acbc9a2"> 84</a></span> <span class="preprocessor">#define VRNA_CONSTRAINT_PIPE 1U</span></div>
-<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="code" href="utils_8h.html#a55e1d16fd693ae9ec8e987b0750da804"> 88</a></span> <span class="preprocessor">#define VRNA_CONSTRAINT_DOT 2U</span></div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="utils_8h.html#a077c56550c915d4516d84a5ed8d051f4"> 92</a></span> <span class="preprocessor">#define VRNA_CONSTRAINT_X 4U</span></div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="utils_8h.html#a0512d790f738742cbdcf3f7c87b46f48"> 96</a></span> <span class="preprocessor">#define VRNA_CONSTRAINT_ANG_BRACK 8U</span></div>
-<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00100"></a><span class="lineno"><a class="code" href="utils_8h.html#aa20bfca4bb2903c8548000a33d7bbb53"> 100</a></span> <span class="preprocessor">#define VRNA_CONSTRAINT_RND_BRACK 16U</span></div>
-<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00104"></a><span class="lineno"><a class="code" href="utils_8h.html#a7d725ef525b29891abef3f1ed42599a4"> 104</a></span> <span class="preprocessor">#define VRNA_CONSTRAINT_MULTILINE 32U</span></div>
-<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="utils_8h.html#a08d12a9a846ea593b7171d277c9f033f"> 108</a></span> <span class="preprocessor">#define VRNA_CONSTRAINT_NO_HEADER 64U</span></div>
-<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00112"></a><span class="lineno"><a class="code" href="utils_8h.html#a0a697f77a6fbb10f34e16fa68ed9e655"> 112</a></span> <span class="preprocessor">#define VRNA_CONSTRAINT_ALL 128U</span></div>
-<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00116"></a><span class="lineno"><a class="code" href="utils_8h.html#a99dc6b23dc4080a76e2ed1a81c20e94d"> 116</a></span> <span class="preprocessor">#define VRNA_CONSTRAINT_G 256U</span></div>
-<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div>
-<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div>
-<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="utils_8h.html#abec89c09874528c6cb73140a4c3d86d7"> 128</a></span> <span class="preprocessor">#define VRNA_OPTION_MULTILINE 32U</span></div>
-<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div>
-<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="utils_8h.html#ae0b9cd0ce090bd69b951aa73e8fa4f7d"> 134</a></span> <span class="preprocessor">#define MIN2(A, B) ((A) < (B) ? (A) : (B))</span></div>
-<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00138"></a><span class="lineno"><a class="code" href="utils_8h.html#a33297b3679c713b0c4d897cd0fe3b122"> 138</a></span> <span class="preprocessor">#define MAX2(A, B) ((A) > (B) ? (A) : (B))</span></div>
-<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="utils_8h.html#a721b8d5f3abef17f10293f1f7f8c958e"> 142</a></span> <span class="preprocessor">#define MIN3(A, B, C) (MIN2( (MIN2((A),(B))) ,(C)))</span></div>
-<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00146"></a><span class="lineno"><a class="code" href="utils_8h.html#a8d577123d2e66d2b7d0bf9af6e172b93"> 146</a></span> <span class="preprocessor">#define MAX3(A, B, C) (MAX2( (MAX2((A),(B))) ,(C)))</span></div>
-<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div>
-<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="utils_8h.html#a03943706e48069237cd57f2d35ca987e"> 152</a></span> <span class="preprocessor">#define XSTR(s) STR(s)</span></div>
-<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00156"></a><span class="lineno"><a class="code" href="utils_8h.html#a6388870e639eee9c0a69446876f1f8cc"> 156</a></span> <span class="preprocessor">#define STR(s) #s</span></div>
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor">#ifndef FILENAME_MAX_LENGTH</span></div>
-<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="utils_8h.html#afb228174279df9486a5cb56ac0bc79a3"> 165</a></span> <span class="preprocessor">#define FILENAME_MAX_LENGTH 80</span></div>
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00172"></a><span class="lineno"><a class="code" href="utils_8h.html#a33c3b1826b8e2739f09f111ec719ded5"> 172</a></span> <span class="preprocessor">#define FILENAME_ID_LENGTH 42</span></div>
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div>
-<div class="line"><a name="l00176"></a><span class="lineno"> 176</span> <span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span></div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor">#ifndef HAVE_STRDUP</span></div>
-<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor"></span><span class="keywordtype">char</span> *strdup(<span class="keyword">const</span> <span class="keywordtype">char</span> *s);</div>
-<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor"></span><span class="preprocessor">#ifdef WITH_DMALLOC</span></div>
-<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor"></span><span class="comment">/* use dmalloc library to check for memory management bugs */</span></div>
-<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor">#include "dmalloc.h"</span></div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor">#define space(S) calloc(1,(S))</span></div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor"></span><span class="preprocessor">#else</span></div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment">/*@only@*/</span> <span class="comment">/*@notnull@*/</span></div>
-<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keywordtype">void</span> *<a class="code" href="utils_8h.html#ad7e1e137b3bf1f7108933d302a7f0177" title="Allocate space safely.">space</a>(<span class="keywordtype">unsigned</span> size) <span class="comment">/*@ensures MaxSet(result) == (size-1);@*/</span>;</div>
-<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div>
-<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="comment">/*@only@*/</span> <span class="comment">/*@notnull@*/</span></div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="keywordtype">void</span> *<a class="code" href="utils_8h.html#a9037ada838835b1b9db41581a021b0c8" title="Reallocate space safely.">xrealloc</a>(<span class="comment">/*@null@*/</span> <span class="comment">/*@only@*/</span> <span class="comment">/*@out@*/</span> <span class="comment">/*@returned@*/</span> <span class="keywordtype">void</span> *p,</div>
-<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordtype">unsigned</span> size) <span class="comment">/*@modifies *p @*/</span> <span class="comment">/*@ensures MaxSet(result) == (size-1) @*/</span>;</div>
-<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor">#endif</span></div>
-<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor"></span></div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="comment">/*@exits@*/</span></div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a127ce946e56b5a5773781cabe68e38c5" title="Die with an error message.">nrerror</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> message[]);</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div>
-<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#af2355fa8746f2f30fbe71db65dea3d51" title="Print a warning message.">warn_user</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> message[]);</div>
-<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div>
-<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a8aaa6d9be6f803f496d9b97375c371f3" title="Make random number seeds.">init_rand</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div>
-<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keyword">extern</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="utils_8h.html#af9a866c8417afda7368bbac939ab3c47" title="Current 48 bit random number.">xsubi</a>[3];</div>
-<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div>
-<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="keywordtype">double</span> <a class="code" href="utils_8h.html#aaa328491c84996e445d027fde9800f2e" title="get a random number from [0..1]">urn</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> </div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#a68ff0849d44f62fe491800378a5ffcb4" title="Generates a pseudo random integer in a specified range.">int_urn</a>(<span class="keywordtype">int</span> from, <span class="keywordtype">int</span> to);</div>
-<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div>
-<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keywordtype">void</span> filecopy(FILE *from, FILE *to); <span class="comment">/* inefficient `cp' */</span></div>
-<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment">/*@observer@*/</span></div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="keywordtype">char</span> *<a class="code" href="utils_8h.html#a7afeb906cb36e9d77379eabc6907ac46" title="Get a timestamp.">time_stamp</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div>
-<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="comment">/*@only@*/</span> <span class="comment">/*@notnull@*/</span></div>
-<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keywordtype">char</span> *<a class="code" href="utils_8h.html#a1b95eac365a021572e1c37e5993a89be" title="Create a random string using characters from a specified symbol set.">random_string</a>(<span class="keywordtype">int</span> l, <span class="keyword">const</span> <span class="keywordtype">char</span> symbols[]);</div>
-<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div>
-<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#ad9dc7bfc9aa664dc6698f17ce07fc7e7" title="Calculate hamming distance between two sequences.">hamming</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2);</div>
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div>
-<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#a96d3c36717d624514055ce201cab1542" title="Calculate hamming distance between two sequences up to a specified length.">hamming_bound</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n);</div>
-<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> <span class="keywordtype">char</span> *<a class="code" href="utils_8h.html#abe51806d14cff0789a8c1df7dbc45b71" title="Read a line of arbitrary length from a stream.">get_line</a>(FILE *fp);</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="keywordtype">int</span> skip_comment_lines(<span class="keywordtype">char</span> **line);</div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#a8ef1835eb83f542396f59f0b205965e5">get_input_line</a>(<span class="keywordtype">char</span> **<span class="keywordtype">string</span>,</div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> options);</div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> get_multi_input_line(<span class="keywordtype">char</span> **<span class="keywordtype">string</span>,</div>
-<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> options);</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
-<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#afd194a69af9d92b5b0412a7627ac1595" title="Get a data record from stdin.">read_record</a>( <span class="keywordtype">char</span> **header,</div>
-<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordtype">char</span> **sequence,</div>
-<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordtype">char</span> ***rest,</div>
-<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> options);</div>
-<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div>
-<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div>
-<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="comment">/* \brief Extract a dot-bracket structure string from (multiline)character array</span></div>
-<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="comment"> * This function extracts a dot-bracket structure string from the 'rest' array as</span></div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="comment"> * returned by read_record() and returns it. All occurences of comments within the</span></div>
-<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="comment"> * 'lines' array will be skipped as long as they do not break the structure string.</span></div>
-<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> <span class="comment"> * If no structure could be read, this function returns NULL.</span></div>
-<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> <span class="comment"> * \see read_record()</span></div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment"> * \param lines The (multiline) character array to be parsed</span></div>
-<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"> * \param length The assumed length of the dot-bracket string (passing a value < 1 results in no length limit)</span></div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> * \param option Some options which may be passed to alter the behavior of the function, use 0 for no options</span></div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="comment"> * \return The dot-bracket string read from lines or NULL</span></div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keywordtype">char</span> *extract_record_rest_structure(<span class="keyword">const</span> <span class="keywordtype">char</span> **lines,</div>
-<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length,</div>
-<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> option);</div>
-<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div>
-<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keywordtype">char</span> *<a class="code" href="utils_8h.html#ac6dfa5e22928c087c6e09ff0054a7ced" title="Pack secondary secondary structure, 5:1 compression using base 3 encoding.">pack_structure</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *struc);</div>
-<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="keywordtype">char</span> *<a class="code" href="utils_8h.html#a071c6921efe1eb974f115ee6fefa3c39" title="Unpack secondary structure previously packed with pack_structure()">unpack_structure</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *packed);</div>
-<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="keywordtype">short</span> *<a class="code" href="utils_8h.html#a89c32307ee50a0026f4a3131fac0845a" title="Create a pair table of a secondary structure.">make_pair_table</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *structure);</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keywordtype">short</span> *make_pair_table_pk(<span class="keyword">const</span> <span class="keywordtype">char</span> *structure);</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div>
-<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordtype">short</span> *<a class="code" href="utils_8h.html#afeaa6d68eef3a99d0a7aa08aa91c6601" title="Get an exact copy of a pair table.">copy_pair_table</a>(<span class="keyword">const</span> <span class="keywordtype">short</span> *pt);</div>
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div>
-<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> <span class="keywordtype">short</span> *<a class="code" href="utils_8h.html#a3c81b3967056c3888b8472b65fbb16f5">alimake_pair_table</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *structure);</div>
-<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> </div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="keywordtype">short</span> *<a class="code" href="utils_8h.html#a9aa3bf3b4346bb7fb88efc154dd07a79">make_pair_table_snoop</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *structure);</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="keywordtype">int</span> *<a class="code" href="utils_8h.html#a4358e89f64cc87a563b7ef3855f75bed" title="Compute the "base pair" distance between two secondary structures s1 and s2.">make_loop_index_pt</a>(<span class="keywordtype">short</span> *pt);</div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keywordtype">int</span> bp_distance(<span class="keyword">const</span> <span class="keywordtype">char</span> *str1,</div>
-<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> *str2);</div>
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> </div>
-<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a6bf778117d31b7fd90db435323f4ef74" title="Print a line to stdout that asks for an input sequence.">print_tty_input_seq</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div>
-<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#ae4ef89b662a3e9b5b5f0781d9757aba0" title="Print a line with a user defined string and a ruler to stdout.">print_tty_input_seq_str</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s);</div>
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div>
-<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#ae8ae8a34962b9959be3f6c40f0a80ac1" title="Print structure constraint characters to stdout (full constraint support)">print_tty_constraint_full</a>(<span class="keywordtype">void</span>);</div>
-<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div>
-<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a4d167deb70bb51723e44374dc981deb2" title="Print structure constraint characters to stdout. (constraint support is specified by option parameter...">print_tty_constraint</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> option);</div>
-<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
-<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#ad3f18dd83f958f18b2f26ecb99305208" title="Convert a DNA input sequence to RNA alphabet.">str_DNA2RNA</a>(<span class="keywordtype">char</span> *sequence);</div>
-<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div>
-<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a17b796b806f96b70382077fb5bc519bb" title="Convert an input sequence to uppercase.">str_uppercase</a>(<span class="keywordtype">char</span> *sequence);</div>
-<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="keywordtype">int</span> *<a class="code" href="utils_8h.html#a55c0f6b3b07b6adf2ee235ba901fe397" title="Get an index mapper array (iindx) for accessing the energy matrices, e.g. in partition function relat...">get_iindx</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length);</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
-<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="keywordtype">int</span> *<a class="code" href="utils_8h.html#a4d9ee1572c1bfcd02d3d3f2db8a6530f" title="Get an index mapper array (indx) for accessing the energy matrices, e.g. in MFE related functions...">get_indx</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length);</div>
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> </div>
-<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordtype">void</span> getConstraint( <span class="keywordtype">char</span> **cstruc,</div>
-<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> **lines,</div>
-<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> option);</div>
-<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div>
-<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a36c3a6c3218b041f992052767bc74549" title="Insert constraining pair types according to constraint structure string.">constrain_ptypes</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *constraint,</div>
-<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length,</div>
-<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="keywordtype">char</span> *ptype,</div>
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="keywordtype">int</span> *BP,</div>
-<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <span class="keywordtype">int</span> min_loop_size,</div>
-<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx_type);</div>
-<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div>
-<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *make_referenceBP_array(<span class="keywordtype">short</span> *reference_pt,</div>
-<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> turn);</div>
-<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> </div>
-<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *compute_BPdifferences( <span class="keywordtype">short</span> *pt1,</div>
-<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="keywordtype">short</span> *pt2,</div>
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> turn);</div>
-<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> </div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="preprocessor">#endif</span></div>
-</div><!-- fragment --></div><!-- contents -->
-</div><!-- doc-content -->
-<!-- start footer part -->
-<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
- <ul>
- <li class="navelem"><a class="el" href="dir_d72344b28b4f2089ce25682c4e6eba22.html">H</a></li><li class="navelem"><a class="el" href="utils_8h.html">utils.h</a></li>
- <li class="footer">Generated on Wed Jul 24 2013 13:38:56 for RNAlib-2.1.2 by
- <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.1 </li>
- </ul>
-</div>
+<h1>/homes/fmmarquesmadeira/Projects/jabaws/binaries/src/ViennaRNA/H/utils.h</h1><a href="utils_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __VIENNA_RNA_PACKAGE_UTILS_H__</span>
+<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __VIENNA_RNA_PACKAGE_UTILS_H__</span>
+<a name="l00003"></a>00003 <span class="preprocessor"></span>
+<a name="l00012"></a><a class="code" href="utils_8h.html#ad403c9ea58f1836689404c2931419c8c">00012</a> <span class="preprocessor">#define VRNA_INPUT_ERROR 1U</span>
+<a name="l00013"></a>00013 <span class="preprocessor"></span>
+<a name="l00016"></a><a class="code" href="utils_8h.html#a72f3c6ca5c83d2b9baed2922d19c403d">00016</a> <span class="preprocessor">#define VRNA_INPUT_QUIT 2U</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span>
+<a name="l00020"></a><a class="code" href="utils_8h.html#a8e3241b321c9c1a78a69e59e2e019a71">00020</a> <span class="preprocessor">#define VRNA_INPUT_MISC 4U</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span>
+<a name="l00028"></a><a class="code" href="utils_8h.html#a2f0d8069e93d3ac54d9320d6bdb8e7e7">00028</a> <span class="preprocessor">#define VRNA_INPUT_FASTA_HEADER 8U</span>
+<a name="l00029"></a>00029 <span class="preprocessor"></span>
+<a name="l00034"></a><a class="code" href="utils_8h.html#a8566d6787972100e68b5a2a159b4cf45">00034</a> <span class="preprocessor">#define VRNA_INPUT_SEQUENCE 16U</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span>
+<a name="l00040"></a><a class="code" href="utils_8h.html#ac08a9df45b9721b97a47dbfe7a6e5f85">00040</a> <span class="preprocessor">#define VRNA_INPUT_CONSTRAINT 32U</span>
+<a name="l00041"></a>00041 <span class="preprocessor"></span>
+<a name="l00046"></a><a class="code" href="utils_8h.html#a086742158293217a46ae2f71bb296937">00046</a> <span class="preprocessor">#define VRNA_INPUT_NO_TRUNCATION 256U</span>
+<a name="l00047"></a>00047 <span class="preprocessor"></span>
+<a name="l00051"></a><a class="code" href="utils_8h.html#a7a2e8c50a0c7ce82e60da1016e1367fd">00051</a> <span class="preprocessor">#define VRNA_INPUT_NO_REST 512U</span>
+<a name="l00052"></a>00052 <span class="preprocessor"></span>
+<a name="l00056"></a><a class="code" href="utils_8h.html#a0de536599b881c787b0943a2671da476">00056</a> <span class="preprocessor">#define VRNA_INPUT_NO_SPAN 1024U</span>
+<a name="l00057"></a>00057 <span class="preprocessor"></span>
+<a name="l00061"></a><a class="code" href="utils_8h.html#ab4db885222b3b69608310d7c7e63e286">00061</a> <span class="preprocessor">#define VRNA_INPUT_NOSKIP_BLANK_LINES 2048U</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span>
+<a name="l00066"></a><a class="code" href="utils_8h.html#a305474b93ccb79ae4c7754016a8ddd84">00066</a> <span class="preprocessor">#define VRNA_INPUT_BLANK_LINE 4096U</span>
+<a name="l00067"></a>00067 <span class="preprocessor"></span>
+<a name="l00071"></a><a class="code" href="utils_8h.html#a0f6311f11bed1842e3a527ab27b294c6">00071</a> <span class="preprocessor">#define VRNA_INPUT_NOSKIP_COMMENTS 128U</span>
+<a name="l00072"></a>00072 <span class="preprocessor"></span>
+<a name="l00076"></a><a class="code" href="utils_8h.html#af2062e0eeefffd3ed639af460b3d4fab">00076</a> <span class="preprocessor">#define VRNA_INPUT_COMMENT 8192U</span>
+<a name="l00077"></a>00077 <span class="preprocessor"></span>
+<a name="l00078"></a>00078
+<a name="l00079"></a>00079
+<a name="l00080"></a>00080
+<a name="l00084"></a><a class="code" href="utils_8h.html#a4e8d7120619b21df0309af425acbc9a2">00084</a> <span class="preprocessor">#define VRNA_CONSTRAINT_PIPE 1U</span>
+<a name="l00085"></a>00085 <span class="preprocessor"></span>
+<a name="l00088"></a><a class="code" href="utils_8h.html#a55e1d16fd693ae9ec8e987b0750da804">00088</a> <span class="preprocessor">#define VRNA_CONSTRAINT_DOT 2U</span>
+<a name="l00089"></a>00089 <span class="preprocessor"></span>
+<a name="l00092"></a><a class="code" href="utils_8h.html#a077c56550c915d4516d84a5ed8d051f4">00092</a> <span class="preprocessor">#define VRNA_CONSTRAINT_X 4U</span>
+<a name="l00093"></a>00093 <span class="preprocessor"></span>
+<a name="l00096"></a><a class="code" href="utils_8h.html#a0512d790f738742cbdcf3f7c87b46f48">00096</a> <span class="preprocessor">#define VRNA_CONSTRAINT_ANG_BRACK 8U</span>
+<a name="l00097"></a>00097 <span class="preprocessor"></span>
+<a name="l00100"></a><a class="code" href="utils_8h.html#aa20bfca4bb2903c8548000a33d7bbb53">00100</a> <span class="preprocessor">#define VRNA_CONSTRAINT_RND_BRACK 16U</span>
+<a name="l00101"></a>00101 <span class="preprocessor"></span>
+<a name="l00104"></a><a class="code" href="utils_8h.html#a7d725ef525b29891abef3f1ed42599a4">00104</a> <span class="preprocessor">#define VRNA_CONSTRAINT_MULTILINE 32U</span>
+<a name="l00105"></a>00105 <span class="preprocessor"></span>
+<a name="l00108"></a><a class="code" href="utils_8h.html#a08d12a9a846ea593b7171d277c9f033f">00108</a> <span class="preprocessor">#define VRNA_CONSTRAINT_NO_HEADER 64U</span>
+<a name="l00109"></a>00109 <span class="preprocessor"></span>
+<a name="l00112"></a><a class="code" href="utils_8h.html#a0a697f77a6fbb10f34e16fa68ed9e655">00112</a> <span class="preprocessor">#define VRNA_CONSTRAINT_ALL 128U</span>
+<a name="l00113"></a>00113 <span class="preprocessor"></span>
+<a name="l00116"></a><a class="code" href="utils_8h.html#a99dc6b23dc4080a76e2ed1a81c20e94d">00116</a> <span class="preprocessor">#define VRNA_CONSTRAINT_G 256U</span>
+<a name="l00117"></a>00117 <span class="preprocessor"></span>
+<a name="l00118"></a>00118
+<a name="l00119"></a>00119
+<a name="l00128"></a><a class="code" href="utils_8h.html#abec89c09874528c6cb73140a4c3d86d7">00128</a> <span class="preprocessor">#define VRNA_OPTION_MULTILINE 32U</span>
+<a name="l00129"></a>00129 <span class="preprocessor"></span>
+<a name="l00130"></a>00130
+<a name="l00134"></a><a class="code" href="utils_8h.html#ae0b9cd0ce090bd69b951aa73e8fa4f7d">00134</a> <span class="preprocessor">#define MIN2(A, B) ((A) < (B) ? (A) : (B))</span>
+<a name="l00135"></a>00135 <span class="preprocessor"></span>
+<a name="l00138"></a><a class="code" href="utils_8h.html#a33297b3679c713b0c4d897cd0fe3b122">00138</a> <span class="preprocessor">#define MAX2(A, B) ((A) > (B) ? (A) : (B))</span>
+<a name="l00139"></a>00139 <span class="preprocessor"></span>
+<a name="l00142"></a><a class="code" href="utils_8h.html#a721b8d5f3abef17f10293f1f7f8c958e">00142</a> <span class="preprocessor">#define MIN3(A, B, C) (MIN2( (MIN2((A),(B))) ,(C)))</span>
+<a name="l00143"></a>00143 <span class="preprocessor"></span>
+<a name="l00146"></a><a class="code" href="utils_8h.html#a8d577123d2e66d2b7d0bf9af6e172b93">00146</a> <span class="preprocessor">#define MAX3(A, B, C) (MAX2( (MAX2((A),(B))) ,(C)))</span>
+<a name="l00147"></a>00147 <span class="preprocessor"></span>
+<a name="l00148"></a>00148
+<a name="l00152"></a><a class="code" href="utils_8h.html#a03943706e48069237cd57f2d35ca987e">00152</a> <span class="preprocessor">#define XSTR(s) STR(s)</span>
+<a name="l00153"></a>00153 <span class="preprocessor"></span>
+<a name="l00156"></a><a class="code" href="utils_8h.html#a6388870e639eee9c0a69446876f1f8cc">00156</a> <span class="preprocessor">#define STR(s) #s</span>
+<a name="l00157"></a>00157 <span class="preprocessor"></span>
+<a name="l00158"></a>00158 <span class="preprocessor">#ifndef FILENAME_MAX_LENGTH</span>
+<a name="l00159"></a>00159 <span class="preprocessor"></span>
+<a name="l00165"></a><a class="code" href="utils_8h.html#afb228174279df9486a5cb56ac0bc79a3">00165</a> <span class="preprocessor">#define FILENAME_MAX_LENGTH 80</span>
+<a name="l00166"></a>00166 <span class="preprocessor"></span>
+<a name="l00172"></a><a class="code" href="utils_8h.html#a33c3b1826b8e2739f09f111ec719ded5">00172</a> <span class="preprocessor">#define FILENAME_ID_LENGTH 42</span>
+<a name="l00173"></a>00173 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00174"></a>00174 <span class="preprocessor"></span>
+<a name="l00175"></a>00175
+<a name="l00176"></a>00176 <span class="preprocessor">#ifdef HAVE_CONFIG_H</span>
+<a name="l00177"></a>00177 <span class="preprocessor"></span><span class="preprocessor">#include <config.h></span>
+<a name="l00178"></a>00178 <span class="preprocessor">#ifndef HAVE_STRDUP</span>
+<a name="l00179"></a>00179 <span class="preprocessor"></span><span class="keywordtype">char</span> *strdup(<span class="keyword">const</span> <span class="keywordtype">char</span> *s);
+<a name="l00180"></a>00180 <span class="preprocessor">#endif</span>
+<a name="l00181"></a>00181 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
+<a name="l00182"></a>00182 <span class="preprocessor"></span><span class="preprocessor">#ifdef WITH_DMALLOC</span>
+<a name="l00183"></a>00183 <span class="preprocessor"></span><span class="comment">/* use dmalloc library to check for memory management bugs */</span>
+<a name="l00184"></a>00184 <span class="preprocessor">#include "dmalloc.h"</span>
+<a name="l00185"></a>00185 <span class="preprocessor">#define space(S) calloc(1,(S))</span>
+<a name="l00186"></a>00186 <span class="preprocessor"></span><span class="preprocessor">#else</span>
+<a name="l00187"></a>00187 <span class="preprocessor"></span>
+<a name="l00194"></a>00194 <span class="comment">/*@only@*/</span> <span class="comment">/*@notnull@*/</span>
+<a name="l00195"></a>00195 <span class="keywordtype">void</span> *<a class="code" href="utils_8h.html#ad7e1e137b3bf1f7108933d302a7f0177" title="Allocate space safely.">space</a>(<span class="keywordtype">unsigned</span> size) <span class="comment">/*@ensures MaxSet(result) == (size-1);@*/</span>;
+<a name="l00196"></a>00196
+<a name="l00204"></a>00204 <span class="comment">/*@only@*/</span> <span class="comment">/*@notnull@*/</span>
+<a name="l00205"></a>00205 <span class="keywordtype">void</span> *<a class="code" href="utils_8h.html#a9037ada838835b1b9db41581a021b0c8" title="Reallocate space safely.">xrealloc</a>(<span class="comment">/*@null@*/</span> <span class="comment">/*@only@*/</span> <span class="comment">/*@out@*/</span> <span class="comment">/*@returned@*/</span> <span class="keywordtype">void</span> *p,
+<a name="l00206"></a>00206 <span class="keywordtype">unsigned</span> size) <span class="comment">/*@modifies *p @*/</span> <span class="comment">/*@ensures MaxSet(result) == (size-1) @*/</span>;
+<a name="l00207"></a>00207 <span class="preprocessor">#endif</span>
+<a name="l00208"></a>00208 <span class="preprocessor"></span>
+<a name="l00215"></a>00215 <span class="comment">/*@exits@*/</span>
+<a name="l00216"></a>00216 <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a127ce946e56b5a5773781cabe68e38c5" title="Die with an error message.">nrerror</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> message[]);
+<a name="l00217"></a>00217
+<a name="l00225"></a>00225 <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#af2355fa8746f2f30fbe71db65dea3d51" title="Print a warning message.">warn_user</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> message[]);
+<a name="l00226"></a>00226
+<a name="l00230"></a>00230 <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a8aaa6d9be6f803f496d9b97375c371f3" title="Make random number seeds.">init_rand</a>(<span class="keywordtype">void</span>);
+<a name="l00231"></a>00231
+<a name="l00240"></a>00240 <span class="keyword">extern</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="utils_8h.html#af9a866c8417afda7368bbac939ab3c47" title="Current 48 bit random number.">xsubi</a>[3];
+<a name="l00241"></a>00241
+<a name="l00248"></a>00248 <span class="keywordtype">double</span> <a class="code" href="utils_8h.html#aaa328491c84996e445d027fde9800f2e" title="get a random number from [0..1]">urn</a>(<span class="keywordtype">void</span>);
+<a name="l00249"></a>00249
+<a name="l00257"></a>00257 <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#a68ff0849d44f62fe491800378a5ffcb4" title="Generates a pseudo random integer in a specified range.">int_urn</a>(<span class="keywordtype">int</span> from, <span class="keywordtype">int</span> to);
+<a name="l00258"></a>00258
+<a name="l00259"></a>00259 <span class="keywordtype">void</span> filecopy(FILE *from, FILE *to); <span class="comment">/* inefficient `cp' */</span>
+<a name="l00260"></a>00260
+<a name="l00269"></a>00269 <span class="comment">/*@observer@*/</span>
+<a name="l00270"></a>00270 <span class="keywordtype">char</span> *<a class="code" href="utils_8h.html#a7afeb906cb36e9d77379eabc6907ac46" title="Get a timestamp.">time_stamp</a>(<span class="keywordtype">void</span>);
+<a name="l00271"></a>00271
+<a name="l00279"></a>00279 <span class="comment">/*@only@*/</span> <span class="comment">/*@notnull@*/</span>
+<a name="l00280"></a>00280 <span class="keywordtype">char</span> *<a class="code" href="utils_8h.html#a1b95eac365a021572e1c37e5993a89be" title="Create a random string using characters from a specified symbol set.">random_string</a>(<span class="keywordtype">int</span> l, <span class="keyword">const</span> <span class="keywordtype">char</span> symbols[]);
+<a name="l00281"></a>00281
+<a name="l00290"></a>00290 <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#ad9dc7bfc9aa664dc6698f17ce07fc7e7" title="Calculate hamming distance between two sequences.">hamming</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2);
+<a name="l00291"></a>00291
+<a name="l00301"></a>00301 <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#a96d3c36717d624514055ce201cab1542" title="Calculate hamming distance between two sequences up to a specified length.">hamming_bound</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s1, <span class="keyword">const</span> <span class="keywordtype">char</span> *s2, <span class="keywordtype">int</span> n);
+<a name="l00302"></a>00302
+<a name="l00313"></a>00313 <span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span>
+<a name="l00314"></a>00314 <span class="keywordtype">char</span> *<a class="code" href="utils_8h.html#abe51806d14cff0789a8c1df7dbc45b71" title="Read a line of arbitrary length from a stream.">get_line</a>(FILE *fp);
+<a name="l00315"></a>00315
+<a name="l00316"></a>00316 <span class="keywordtype">int</span> skip_comment_lines(<span class="keywordtype">char</span> **line);
+<a name="l00317"></a>00317
+<a name="l00338"></a>00338 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#a8ef1835eb83f542396f59f0b205965e5">get_input_line</a>(<span class="keywordtype">char</span> **<span class="keywordtype">string</span>,
+<a name="l00339"></a>00339 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> options);
+<a name="l00340"></a>00340
+<a name="l00341"></a>00341 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> get_multi_input_line(<span class="keywordtype">char</span> **<span class="keywordtype">string</span>,
+<a name="l00342"></a>00342 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> options);
+<a name="l00343"></a>00343
+<a name="l00396"></a>00396 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="utils_8h.html#afd194a69af9d92b5b0412a7627ac1595" title="Get a data record from stdin.">read_record</a>( <span class="keywordtype">char</span> **header,
+<a name="l00397"></a>00397 <span class="keywordtype">char</span> **sequence,
+<a name="l00398"></a>00398 <span class="keywordtype">char</span> ***rest,
+<a name="l00399"></a>00399 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> options);
+<a name="l00400"></a>00400
+<a name="l00401"></a>00401
+<a name="l00402"></a>00402 <span class="comment">/* \brief Extract a dot-bracket structure string from (multiline)character array</span>
+<a name="l00403"></a>00403 <span class="comment"> *</span>
+<a name="l00404"></a>00404 <span class="comment"> * This function extracts a dot-bracket structure string from the 'rest' array as</span>
+<a name="l00405"></a>00405 <span class="comment"> * returned by read_record() and returns it. All occurences of comments within the</span>
+<a name="l00406"></a>00406 <span class="comment"> * 'lines' array will be skipped as long as they do not break the structure string.</span>
+<a name="l00407"></a>00407 <span class="comment"> * If no structure could be read, this function returns NULL.</span>
+<a name="l00408"></a>00408 <span class="comment"> *</span>
+<a name="l00409"></a>00409 <span class="comment"> * \see read_record()</span>
+<a name="l00410"></a>00410 <span class="comment"> *</span>
+<a name="l00411"></a>00411 <span class="comment"> * \param lines The (multiline) character array to be parsed</span>
+<a name="l00412"></a>00412 <span class="comment"> * \param length The assumed length of the dot-bracket string (passing a value < 1 results in no length limit)</span>
+<a name="l00413"></a>00413 <span class="comment"> * \param option Some options which may be passed to alter the behavior of the function, use 0 for no options</span>
+<a name="l00414"></a>00414 <span class="comment"> * \return The dot-bracket string read from lines or NULL</span>
+<a name="l00415"></a>00415 <span class="comment"> */</span>
+<a name="l00416"></a>00416 <span class="keywordtype">char</span> *extract_record_rest_structure(<span class="keyword">const</span> <span class="keywordtype">char</span> **lines,
+<a name="l00417"></a>00417 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length,
+<a name="l00418"></a>00418 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> option);
+<a name="l00419"></a>00419
+<a name="l00431"></a>00431 <span class="keywordtype">char</span> *<a class="code" href="utils_8h.html#ac6dfa5e22928c087c6e09ff0054a7ced" title="Pack secondary secondary structure, 5:1 compression using base 3 encoding.">pack_structure</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *struc);
+<a name="l00432"></a>00432
+<a name="l00442"></a>00442 <span class="keywordtype">char</span> *<a class="code" href="utils_8h.html#a071c6921efe1eb974f115ee6fefa3c39" title="Unpack secondary structure previously packed with pack_structure().">unpack_structure</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *packed);
+<a name="l00443"></a>00443
+<a name="l00453"></a>00453 <span class="keywordtype">short</span> *<a class="code" href="utils_8h.html#a89c32307ee50a0026f4a3131fac0845a" title="Create a pair table of a secondary structure.">make_pair_table</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *structure);
+<a name="l00454"></a>00454
+<a name="l00455"></a>00455 <span class="keywordtype">short</span> *make_pair_table_pk(<span class="keyword">const</span> <span class="keywordtype">char</span> *structure);
+<a name="l00456"></a>00456
+<a name="l00463"></a>00463 <span class="keywordtype">short</span> *<a class="code" href="utils_8h.html#afeaa6d68eef3a99d0a7aa08aa91c6601" title="Get an exact copy of a pair table.">copy_pair_table</a>(<span class="keyword">const</span> <span class="keywordtype">short</span> *pt);
+<a name="l00464"></a>00464
+<a name="l00470"></a>00470 <span class="keywordtype">short</span> *<a class="code" href="utils_8h.html#a3c81b3967056c3888b8472b65fbb16f5">alimake_pair_table</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *structure);
+<a name="l00471"></a>00471
+<a name="l00477"></a>00477 <span class="keywordtype">short</span> *<a class="code" href="utils_8h.html#a9aa3bf3b4346bb7fb88efc154dd07a79">make_pair_table_snoop</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *structure);
+<a name="l00478"></a>00478
+<a name="l00491"></a>00491 <span class="keywordtype">int</span> *<a class="code" href="utils_8h.html#a4358e89f64cc87a563b7ef3855f75bed" title="Compute the &quot;base pair&quot; distance between two secondary structures s1 and...">make_loop_index_pt</a>(<span class="keywordtype">short</span> *pt);
+<a name="l00492"></a>00492
+<a name="l00493"></a>00493
+<a name="l00494"></a>00494 <span class="keywordtype">int</span> bp_distance(<span class="keyword">const</span> <span class="keywordtype">char</span> *str1,
+<a name="l00495"></a>00495 <span class="keyword">const</span> <span class="keywordtype">char</span> *str2);
+<a name="l00496"></a>00496
+<a name="l00502"></a>00502 <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a6bf778117d31b7fd90db435323f4ef74" title="Print a line to stdout that asks for an input sequence.">print_tty_input_seq</a>(<span class="keywordtype">void</span>);
+<a name="l00503"></a>00503
+<a name="l00512"></a>00512 <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#ae4ef89b662a3e9b5b5f0781d9757aba0" title="Print a line with a user defined string and a ruler to stdout.">print_tty_input_seq_str</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *s);
+<a name="l00513"></a>00513
+<a name="l00519"></a>00519 <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#ae8ae8a34962b9959be3f6c40f0a80ac1" title="Print structure constraint characters to stdout (full constraint support).">print_tty_constraint_full</a>(<span class="keywordtype">void</span>);
+<a name="l00520"></a>00520
+<a name="l00537"></a>00537 <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a4d167deb70bb51723e44374dc981deb2" title="Print structure constraint characters to stdout. (constraint support is specified...">print_tty_constraint</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> option);
+<a name="l00538"></a>00538
+<a name="l00546"></a>00546 <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#ad3f18dd83f958f18b2f26ecb99305208" title="Convert a DNA input sequence to RNA alphabet.">str_DNA2RNA</a>(<span class="keywordtype">char</span> *sequence);
+<a name="l00547"></a>00547
+<a name="l00553"></a>00553 <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a17b796b806f96b70382077fb5bc519bb" title="Convert an input sequence to uppercase.">str_uppercase</a>(<span class="keywordtype">char</span> *sequence);
+<a name="l00554"></a>00554
+<a name="l00568"></a>00568 <span class="keywordtype">int</span> *<a class="code" href="utils_8h.html#a55c0f6b3b07b6adf2ee235ba901fe397" title="Get an index mapper array (iindx) for accessing the energy matrices, e.g. in partition...">get_iindx</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length);
+<a name="l00569"></a>00569
+<a name="l00584"></a>00584 <span class="keywordtype">int</span> *<a class="code" href="utils_8h.html#a4d9ee1572c1bfcd02d3d3f2db8a6530f" title="Get an index mapper array (indx) for accessing the energy matrices, e.g. in MFE related...">get_indx</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length);
+<a name="l00585"></a>00585
+<a name="l00586"></a>00586 <span class="keywordtype">void</span> getConstraint( <span class="keywordtype">char</span> **cstruc,
+<a name="l00587"></a>00587 <span class="keyword">const</span> <span class="keywordtype">char</span> **lines,
+<a name="l00588"></a>00588 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> option);
+<a name="l00589"></a>00589
+<a name="l00601"></a>00601 <span class="keywordtype">void</span> <a class="code" href="utils_8h.html#a36c3a6c3218b041f992052767bc74549" title="Insert constraining pair types according to constraint structure string.">constrain_ptypes</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *constraint,
+<a name="l00602"></a>00602 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length,
+<a name="l00603"></a>00603 <span class="keywordtype">char</span> *ptype,
+<a name="l00604"></a>00604 <span class="keywordtype">int</span> *BP,
+<a name="l00605"></a>00605 <span class="keywordtype">int</span> min_loop_size,
+<a name="l00606"></a>00606 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> idx_type);
+<a name="l00607"></a>00607
+<a name="l00608"></a>00608 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *make_referenceBP_array(<span class="keywordtype">short</span> *reference_pt,
+<a name="l00609"></a>00609 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> turn);
+<a name="l00610"></a>00610
+<a name="l00611"></a>00611 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *compute_BPdifferences( <span class="keywordtype">short</span> *pt1,
+<a name="l00612"></a>00612 <span class="keywordtype">short</span> *pt2,
+<a name="l00613"></a>00613 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> turn);
+<a name="l00614"></a>00614
+<a name="l00615"></a>00615 <span class="preprocessor">#endif</span>
+</pre></div></div>
+<hr size="1"/><address style="text-align: right;"><small>Generated on 11 Apr 2017 for RNAlib-2.1.2 by
+<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>