WSTester updated to work plus hopefully all the other changes that need to go into...
[jabaws.git] / binaries / src / ViennaRNA / doc / html / utils_8h_source.html
diff --git a/binaries/src/ViennaRNA/doc/html/utils_8h_source.html b/binaries/src/ViennaRNA/doc/html/utils_8h_source.html
new file mode 100644 (file)
index 0000000..5475b82
--- /dev/null
@@ -0,0 +1,291 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<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>
+<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" />
+</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&#160;Page</span></a></li>
+      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="annotated.html"><span>Data&#160;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&#160;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>&#160;<span class="preprocessor">#ifndef __VIENNA_RNA_PACKAGE_UTILS_H__</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<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>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_ERROR                  1U</span></div>
+<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_QUIT                   2U</span></div>
+<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_MISC                   4U</span></div>
+<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_FASTA_HEADER           8U</span></div>
+<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_SEQUENCE               16U</span></div>
+<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_CONSTRAINT             32U</span></div>
+<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_NO_TRUNCATION          256U</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_NO_REST                512U</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_NO_SPAN                1024U</span></div>
+<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_NOSKIP_BLANK_LINES     2048U</span></div>
+<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_BLANK_LINE             4096U</span></div>
+<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_NOSKIP_COMMENTS        128U</span></div>
+<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_INPUT_COMMENT                8192U</span></div>
+<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
+<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div>
+<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div>
+<div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="utils_8h.html#a4e8d7120619b21df0309af425acbc9a2">   84</a></span>&#160;<span class="preprocessor">#define VRNA_CONSTRAINT_PIPE              1U</span></div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_CONSTRAINT_DOT               2U</span></div>
+<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_CONSTRAINT_X                 4U</span></div>
+<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_CONSTRAINT_ANG_BRACK         8U</span></div>
+<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_CONSTRAINT_RND_BRACK         16U</span></div>
+<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_CONSTRAINT_MULTILINE         32U</span></div>
+<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_CONSTRAINT_NO_HEADER         64U</span></div>
+<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_CONSTRAINT_ALL              128U</span></div>
+<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;<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>&#160;<span class="preprocessor">#define VRNA_CONSTRAINT_G                256U</span></div>
+<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;</div>
+<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div>
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="code" href="utils_8h.html#abec89c09874528c6cb73140a4c3d86d7">  128</a></span>&#160;<span class="preprocessor">#define VRNA_OPTION_MULTILINE             32U</span></div>
+<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
+<div class="line"><a name="l00134"></a><span class="lineno"><a class="code" href="utils_8h.html#ae0b9cd0ce090bd69b951aa73e8fa4f7d">  134</a></span>&#160;<span class="preprocessor">#define MIN2(A, B)      ((A) &lt; (B) ? (A) : (B))</span></div>
+<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;<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>&#160;<span class="preprocessor">#define MAX2(A, B)      ((A) &gt; (B) ? (A) : (B))</span></div>
+<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;</div>
+<div class="line"><a name="l00152"></a><span class="lineno"><a class="code" href="utils_8h.html#a03943706e48069237cd57f2d35ca987e">  152</a></span>&#160;<span class="preprocessor">#define XSTR(s) STR(s)</span></div>
+<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;<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>&#160;<span class="preprocessor">#define STR(s) #s</span></div>
+<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;<span class="preprocessor">#ifndef FILENAME_MAX_LENGTH</span></div>
+<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;<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>&#160;<span class="preprocessor">#define FILENAME_MAX_LENGTH   80</span></div>
+<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;<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>&#160;<span class="preprocessor">#define FILENAME_ID_LENGTH    42</span></div>
+<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div>
+<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="preprocessor">#ifdef HAVE_CONFIG_H</span></div>
+<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;config.h&gt;</span></div>
+<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="preprocessor">#ifndef HAVE_STRDUP</span></div>
+<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<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>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef WITH_DMALLOC</span></div>
+<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;<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>&#160;<span class="preprocessor">#include &quot;dmalloc.h&quot;</span></div>
+<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;<span class="preprocessor">#define space(S) calloc(1,(S))</span></div>
+<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#else</span></div>
+<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="comment">/*@only@*/</span> <span class="comment">/*@notnull@*/</span></div>
+<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;<span class="comment">/*@only@*/</span> <span class="comment">/*@notnull@*/</span></div>
+<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;<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>&#160;                <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>&#160;<span class="preprocessor">#endif</span></div>
+<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="preprocessor"></span></div>
+<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;<span class="comment">/*@exits@*/</span></div>
+<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keywordtype">void</span>   filecopy(FILE *from, FILE *to); <span class="comment">/* inefficient `cp&#39; */</span></div>
+<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;</div>
+<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="comment">/*@observer@*/</span></div>
+<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;<span class="comment">/*@only@*/</span> <span class="comment">/*@notnull@*/</span></div>
+<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="comment">/*@only@*/</span> <span class="comment">/*@null@*/</span></div>
+<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<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>&#160;                            <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> options);</div>
+<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;</div>
+<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<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>&#160;                                  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> options);</div>
+<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;</div>
+<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;<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>&#160;                          <span class="keywordtype">char</span> **sequence,</div>
+<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;                          <span class="keywordtype">char</span>  ***rest,</div>
+<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;                          <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> options);</div>
+<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;</div>
+<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;</div>
+<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;<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>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;<span class="comment"> * This function extracts a dot-bracket structure string from the &#39;rest&#39; array as</span></div>
+<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;<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>&#160;<span class="comment"> * &#39;lines&#39; 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>&#160;<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>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="comment"> * \see read_record()</span></div>
+<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="comment"> *</span></div>
+<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<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>&#160;<span class="comment"> * \param length  The assumed length of the dot-bracket string (passing a value &lt; 1 results in no length limit)</span></div>
+<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;<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>&#160;<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>&#160;<span class="comment"> */</span></div>
+<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;<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>&#160;                                    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length,</div>
+<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;                                    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> option);</div>
+<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;</div>
+<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;<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 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>&#160;</div>
+<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div>
+<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<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>&#160;                <span class="keyword">const</span> <span class="keywordtype">char</span> *str2);</div>
+<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div>
+<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;<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>&#160;</div>
+<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;<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>&#160;                    <span class="keyword">const</span> <span class="keywordtype">char</span> **lines,</div>
+<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;                    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> option);</div>
+<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;</div>
+<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;<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>&#160;                      <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> length,</div>
+<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;                      <span class="keywordtype">char</span> *ptype,</div>
+<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;                      <span class="keywordtype">int</span> *BP,</div>
+<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;                      <span class="keywordtype">int</span> min_loop_size,</div>
+<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;                      <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>&#160;</div>
+<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<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>&#160;                                      <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> turn);</div>
+<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;</div>
+<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;<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>&#160;                                      <span class="keywordtype">short</span> *pt2,</div>
+<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;                                      <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> turn);</div>
+<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;</div>
+<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;<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>
+</body>
+</html>