WSTester updated to work plus hopefully all the other changes that need to go into...
[jabaws.git] / binaries / src / ViennaRNA / doc / html / group__pf__fold.html
diff --git a/binaries/src/ViennaRNA/doc/html/group__pf__fold.html b/binaries/src/ViennaRNA/doc/html/group__pf__fold.html
new file mode 100644 (file)
index 0000000..7af6dce
--- /dev/null
@@ -0,0 +1,552 @@
+<!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: Calculating Partition Functions and Pair Probabilities</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><a href="files.html"><span>Files</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('group__pf__fold.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a> &#124;
+<a href="#files">Files</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Calculating Partition Functions and Pair Probabilities</div>  </div>
+<div class="ingroups"><a class="el" href="group__folding__routines.html">RNA Secondary Structure Folding</a></div></div><!--header-->
+<div class="contents">
+
+<p>This section provides information about all functions and variables related to the calculation of the partition function and base pair probabilities.  
+<a href="#details">More...</a></p>
+<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
+  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Collaboration diagram for Calculating Partition Functions and Pair Probabilities:</div>
+<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
+</div>
+<div id="dynsection-0-content" class="dyncontent" style="display:none;">
+<center><table><tr><td><img src="group__pf__fold.png" border="0" alt="" usemap="#group____pf____fold"/>
+<map name="group____pf____fold" id="group____pf____fold">
+<area shape="rect" id="node1" href="group__consensus__pf__fold.html" title="Partition Function\l and Base Pair Probabilities\l for Sequence Alignment(s)" alt="" coords="512,5,709,61"/><area shape="rect" id="node2" href="group__mea__fold.html" title="Compute the structure\l with maximum expected\l accuracy (MEA)" alt="" coords="519,85,702,141"/><area shape="rect" id="node3" href="group__up__cofold.html" title="Partition Function Cofolding as a stepwise process." alt="" coords="517,166,704,237"/><area shape="rect" id="node5" href="group__kl__neighborhood__pf.html" title="Compute the partition function and stochastically sample secondary structures for a partitioning of t..." alt="" coords="523,261,698,317"/><area shape="rect" id="node6" href="group__centroid__fold.html" title="Compute the centroid\l structure" alt="" coords="529,341,692,382"/><area shape="rect" id="node8" href="group__pf__cofold.html" title="Partition Function Cofolding." alt="" coords="541,405,680,461"/><area shape="rect" id="node9" href="group__local__pf__fold.html" title="Partition functions\l for locally stable\l secondary structures" alt="" coords="530,485,691,541"/><area shape="rect" id="node7" href="group__folding__routines.html" title="This module contains all functions related to thermodynamic folding of RNAs." alt="" coords="6,269,191,310"/></map>
+</td></tr></table></center>
+</div>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr class="memitem:group__mea__fold"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mea__fold.html">Compute the structure with maximum expected accuracy (MEA)</a></td></tr>
+<tr class="memitem:group__centroid__fold"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__centroid__fold.html">Compute the centroid structure</a></td></tr>
+<tr class="memitem:group__pf__cofold"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__cofold.html">Partition Function for two hybridized Sequences</a></td></tr>
+<tr class="memdesc:group__pf__cofold"><td class="mdescLeft">&#160;</td><td class="mdescRight">Partition Function Cofolding. <br/></td></tr>
+<tr class="memitem:group__up__cofold"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__up__cofold.html">Partition Function for two hybridized Sequences as a stepwise Process</a></td></tr>
+<tr class="memdesc:group__up__cofold"><td class="mdescLeft">&#160;</td><td class="mdescRight">Partition Function Cofolding as a stepwise process. <br/></td></tr>
+<tr class="memitem:group__consensus__pf__fold"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__pf__fold.html">Partition Function and Base Pair Probabilities for Sequence Alignment(s)</a></td></tr>
+<tr class="memitem:group__local__pf__fold"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__local__pf__fold.html">Partition functions for locally stable secondary structures</a></td></tr>
+<tr class="memitem:group__kl__neighborhood__pf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__kl__neighborhood__pf.html">Calculate Partition Functions of a Distance Based Partitioning</a></td></tr>
+<tr class="memdesc:group__kl__neighborhood__pf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the partition function and stochastically sample secondary structures for a partitioning of the secondary structure space according to the base pair distance to two fixed reference structures. <br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:part__func_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="part__func_8h.html">part_func.h</a></td></tr>
+<tr class="memdesc:part__func_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Partition function of single RNA sequences. <br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:ga1839c61275760944b3a007c41d5c0823"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823">pf_fold_par</a> (const char *sequence, char *structure, <a class="el" href="structpf__paramT.html">pf_paramT</a> *parameters, int calculate_bppm, int is_constrained, int is_circular)</td></tr>
+<tr class="memdesc:ga1839c61275760944b3a007c41d5c0823"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the partition function <img class="formulaInl" alt="$Q$" src="form_18.png"/> for a given RNA sequence.  <a href="#ga1839c61275760944b3a007c41d5c0823"></a><br/></td></tr>
+<tr class="memitem:gadc3db3d98742427e7001a7fd36ef28c2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2">pf_fold</a> (const char *sequence, char *structure)</td></tr>
+<tr class="memdesc:gadc3db3d98742427e7001a7fd36ef28c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the partition function <img class="formulaInl" alt="$Q$" src="form_18.png"/> of an RNA sequence.  <a href="#gadc3db3d98742427e7001a7fd36ef28c2"></a><br/></td></tr>
+<tr class="memitem:ga819ce5fca8984004ac81c4a3b04cb735"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga819ce5fca8984004ac81c4a3b04cb735">pf_circ_fold</a> (const char *sequence, char *structure)</td></tr>
+<tr class="memdesc:ga819ce5fca8984004ac81c4a3b04cb735"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the partition function of a circular RNA sequence.  <a href="#ga819ce5fca8984004ac81c4a3b04cb735"></a><br/></td></tr>
+<tr class="memitem:gae73db3f49a94f0f72e067ecd12681dbd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#gae73db3f49a94f0f72e067ecd12681dbd">free_pf_arrays</a> (void)</td></tr>
+<tr class="memdesc:gae73db3f49a94f0f72e067ecd12681dbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Free arrays for the partition function recursions.  <a href="#gae73db3f49a94f0f72e067ecd12681dbd"></a><br/></td></tr>
+<tr class="memitem:ga384e927890f9c034ff09fa66da102d28"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga384e927890f9c034ff09fa66da102d28">update_pf_params</a> (int length)</td></tr>
+<tr class="memdesc:ga384e927890f9c034ff09fa66da102d28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recalculate energy parameters.  <a href="#ga384e927890f9c034ff09fa66da102d28"></a><br/></td></tr>
+<tr class="memitem:ga0733527a94de3b79eee3c3c03c99c1bc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0733527a94de3b79eee3c3c03c99c1bc"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga0733527a94de3b79eee3c3c03c99c1bc">update_pf_params_par</a> (int length, <a class="el" href="structpf__paramT.html">pf_paramT</a> *parameters)</td></tr>
+<tr class="memdesc:ga0733527a94de3b79eee3c3c03c99c1bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recalculate energy parameters. <br/></td></tr>
+<tr class="memitem:ga6d463707d5f64bdc4d21515b7dd9b115"><td class="memItemLeft" align="right" valign="top">double *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115">export_bppm</a> (void)</td></tr>
+<tr class="memdesc:ga6d463707d5f64bdc4d21515b7dd9b115"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i,j) is achieved by.  <a href="#ga6d463707d5f64bdc4d21515b7dd9b115"></a><br/></td></tr>
+<tr class="memitem:ga03e15e831a31b1154855ab47edbdb019"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga03e15e831a31b1154855ab47edbdb019">assign_plist_from_pr</a> (<a class="el" href="structplist.html">plist</a> **pl, double *probs, int length, double cutoff)</td></tr>
+<tr class="memdesc:ga03e15e831a31b1154855ab47edbdb019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a plist from a probability matrix.  <a href="#ga03e15e831a31b1154855ab47edbdb019"></a><br/></td></tr>
+<tr class="memitem:ga18607e79e106cad827f482eedd2f632e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga18607e79e106cad827f482eedd2f632e">get_pf_arrays</a> (short **S_p, short **S1_p, char **ptype_p, double **qb_p, double **qm_p, double **q1k_p, double **qln_p)</td></tr>
+<tr class="memdesc:ga18607e79e106cad827f482eedd2f632e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the pointers to (almost) all relavant computation arrays used in partition function computation.  <a href="#ga18607e79e106cad827f482eedd2f632e"></a><br/></td></tr>
+<tr class="memitem:ga79cbc375af65f11609feb6b055269e7d"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga79cbc375af65f11609feb6b055269e7d">mean_bp_distance</a> (int length)</td></tr>
+<tr class="memdesc:ga79cbc375af65f11609feb6b055269e7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the mean base pair distance of the last partition function computation.  <a href="#ga79cbc375af65f11609feb6b055269e7d"></a><br/></td></tr>
+<tr class="memitem:ga72d84525f0afd3a9d60d830a2f501fa5"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga72d84525f0afd3a9d60d830a2f501fa5">mean_bp_distance_pr</a> (int length, double *<a class="el" href="fold__vars_8h.html#a0f5757427fd5f2f79d6fca0081cd5a52">pr</a>)</td></tr>
+<tr class="memdesc:ga72d84525f0afd3a9d60d830a2f501fa5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the mean base pair distance in the thermodynamic ensemble.  <a href="#ga72d84525f0afd3a9d60d830a2f501fa5"></a><br/></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<p>This section provides information about all functions and variables related to the calculation of the partition function and base pair probabilities. </p>
+<p>Instead of the minimum free energy structure the partition function of all possible structures and from that the pairing probability for every possible pair can be calculated, using a dynamic programming algorithm as described in <a class="el" href="citelist.html#CITEREF_mccaskill:1990">[10]</a>. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga1839c61275760944b3a007c41d5c0823"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float pf_fold_par </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>sequence</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&#160;</td>
+          <td class="paramname"><em>structure</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structpf__paramT.html">pf_paramT</a> *&#160;</td>
+          <td class="paramname"><em>parameters</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>calculate_bppm</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>is_constrained</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>is_circular</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Compute the partition function <img class="formulaInl" alt="$Q$" src="form_18.png"/> for a given RNA sequence. </p>
+<p>If <em>structure</em> is not a NULL pointer on input, it contains on return a string consisting of the letters " . , | { } ( ) " denoting bases that are essentially unpaired, weakly paired, strongly paired without preference, weakly upstream (downstream) paired, or strongly up- (down-)stream paired bases, respectively. If <a class="el" href="fold__vars_8h.html#a0afc287c2464866d94858c39175154af" title="Global switch to activate/deactivate folding with structure constraints.">fold_constrained</a> is not 0, the <em>structure</em> string is interpreted on input as a list of constraints for the folding. The character "x" marks bases that must be unpaired, matching brackets " ( ) " denote base pairs, all other characters are ignored. Any pairs conflicting with the constraint will be forbidden. This is usually sufficient to ensure the constraints are honored. If tha parameter calculate_bppm is set to 0 base pairing probabilities will not be computed (saving CPU time), otherwise after calculations took place <a class="el" href="fold__vars_8h.html#a0f5757427fd5f2f79d6fca0081cd5a52" title="A pointer to the base pair probability matrix.">pr</a> will contain the probability that bases <em>i</em> and <em>j</em> pair.</p>
+<dl class="section note"><dt>Note:</dt><dd>The global array <a class="el" href="fold__vars_8h.html#a0f5757427fd5f2f79d6fca0081cd5a52" title="A pointer to the base pair probability matrix.">pr</a> is deprecated and the user who wants the calculated base pair probabilities for further computations is advised to use the function <a class="el" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115" title="Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i...">export_bppm()</a> </dd></dl>
+<dl class="section post"><dt>Postcondition:</dt><dd>After successful run the hidden folding matrices are filled with the appropriate Boltzmann factors. Depending on whether the global variable <a class="el" href="fold__vars_8h.html#ad512b5dd4dbec60faccfe137bb474489" title="do backtracking, i.e. compute secondary structures or base pair probabilities">do_backtrack</a> was set the base pair probabilities are already computed and may be accessed for further usage via the <a class="el" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115" title="Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i...">export_bppm()</a> function. A call of <a class="el" href="group__pf__fold.html#gae73db3f49a94f0f72e067ecd12681dbd" title="Free arrays for the partition function recursions.">free_pf_arrays()</a> will free all memory allocated by this function. Successive calls will first free previously allocated memory before starting the computation. </dd></dl>
+<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function  of an RNA sequence.">pf_fold()</a>, <a class="el" href="group__pf__fold.html#ga819ce5fca8984004ac81c4a3b04cb735" title="Compute the partition function of a circular RNA sequence.">pf_circ_fold()</a>, <a class="el" href="part__func_8h.html#a1f562d463c14d4703d9656056200eb38" title="Create a dot-bracket like structure string from base pair probability matrix.">bppm_to_structure()</a>, <a class="el" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115" title="Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i...">export_bppm()</a>, <a class="el" href="group__energy__parameters.html#ga6fc2f3eef5a3024d44963ac59a42e39d" title="Get precomputed Boltzmann factors of the loop type dependent energy contributions with independent th...">get_boltzmann_factors()</a>, <a class="el" href="group__pf__fold.html#gae73db3f49a94f0f72e067ecd12681dbd" title="Free arrays for the partition function recursions.">free_pf_arrays()</a> </dd></dl>
+<dl class="params"><dt>Parameters:</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sequence</td><td>The RNA sequence input </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">structure</td><td>A pointer to a char array where a base pair probability information can be stored in a pseudo-dot-bracket notation (may be NULL, too) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">parameters</td><td>Data structure containing the precalculated Boltzmann factors </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">calculate_bppm</td><td>Switch to Base pair probability calculations on/off (0==off) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">is_constrained</td><td>Switch to indicate that a structure contraint is passed via the structure argument (0==off) </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">is_circular</td><td>Switch to (de-)activate postprocessing steps in case RNA sequence is circular (0==off) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>The Gibbs free energy of the ensemble ( <img class="formulaInl" alt="$G = -RT \cdot \log(Q) $" src="form_19.png"/>) in kcal/mol </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gadc3db3d98742427e7001a7fd36ef28c2"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float pf_fold </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>sequence</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&#160;</td>
+          <td class="paramname"><em>structure</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Compute the partition function <img class="formulaInl" alt="$Q$" src="form_18.png"/> of an RNA sequence. </p>
+<p>If <em>structure</em> is not a NULL pointer on input, it contains on return a string consisting of the letters " . , | { } ( ) " denoting bases that are essentially unpaired, weakly paired, strongly paired without preference, weakly upstream (downstream) paired, or strongly up- (down-)stream paired bases, respectively. If <a class="el" href="fold__vars_8h.html#a0afc287c2464866d94858c39175154af" title="Global switch to activate/deactivate folding with structure constraints.">fold_constrained</a> is not 0, the <em>structure</em> string is interpreted on input as a list of constraints for the folding. The character "x" marks bases that must be unpaired, matching brackets " ( ) " denote base pairs, all other characters are ignored. Any pairs conflicting with the constraint will be forbidden. This is usually sufficient to ensure the constraints are honored. If <a class="el" href="fold__vars_8h.html#ad512b5dd4dbec60faccfe137bb474489" title="do backtracking, i.e. compute secondary structures or base pair probabilities">do_backtrack</a> has been set to 0 base pairing probabilities will not be computed (saving CPU time), otherwise <a class="el" href="fold__vars_8h.html#a0f5757427fd5f2f79d6fca0081cd5a52" title="A pointer to the base pair probability matrix.">pr</a> will contain the probability that bases <em>i</em> and <em>j</em> pair.</p>
+<dl class="section note"><dt>Note:</dt><dd>The global array <a class="el" href="fold__vars_8h.html#a0f5757427fd5f2f79d6fca0081cd5a52" title="A pointer to the base pair probability matrix.">pr</a> is deprecated and the user who wants the calculated base pair probabilities for further computations is advised to use the function <a class="el" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115" title="Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i...">export_bppm()</a>. </dd>
+<dd>
+<b>OpenMP:</b> This function is not entirely threadsafe. While the recursions are working on their own copies of data the model details for the recursions are determined from the global settings just before entering the recursions. Consider using <a class="el" href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823" title="Compute the partition function  for a given RNA sequence.">pf_fold_par()</a> for a really threadsafe implementation. </dd></dl>
+<dl class="section pre"><dt>Precondition:</dt><dd>This function takes its model details from the global variables provided in <em>RNAlib</em> </dd></dl>
+<dl class="section post"><dt>Postcondition:</dt><dd>After successful run the hidden folding matrices are filled with the appropriate Boltzmann factors. Depending on whether the global variable <a class="el" href="fold__vars_8h.html#ad512b5dd4dbec60faccfe137bb474489" title="do backtracking, i.e. compute secondary structures or base pair probabilities">do_backtrack</a> was set the base pair probabilities are already computed and may be accessed for further usage via the <a class="el" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115" title="Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i...">export_bppm()</a> function. A call of <a class="el" href="group__pf__fold.html#gae73db3f49a94f0f72e067ecd12681dbd" title="Free arrays for the partition function recursions.">free_pf_arrays()</a> will free all memory allocated by this function. Successive calls will first free previously allocated memory before starting the computation. </dd></dl>
+<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823" title="Compute the partition function  for a given RNA sequence.">pf_fold_par()</a>, <a class="el" href="group__pf__fold.html#ga819ce5fca8984004ac81c4a3b04cb735" title="Compute the partition function of a circular RNA sequence.">pf_circ_fold()</a>, <a class="el" href="part__func_8h.html#a1f562d463c14d4703d9656056200eb38" title="Create a dot-bracket like structure string from base pair probability matrix.">bppm_to_structure()</a>, <a class="el" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115" title="Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i...">export_bppm()</a> </dd></dl>
+<dl class="params"><dt>Parameters:</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">sequence</td><td>The RNA sequence input </td></tr>
+    <tr><td class="paramname">structure</td><td>A pointer to a char array where a base pair probability information can be stored in a pseudo-dot-bracket notation (may be NULL, too) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>The Gibbs free energy of the ensemble ( <img class="formulaInl" alt="$G = -RT \cdot \log(Q) $" src="form_19.png"/>) in kcal/mol </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga819ce5fca8984004ac81c4a3b04cb735"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">float pf_circ_fold </td>
+          <td>(</td>
+          <td class="paramtype">const char *&#160;</td>
+          <td class="paramname"><em>sequence</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&#160;</td>
+          <td class="paramname"><em>structure</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Compute the partition function of a circular RNA sequence. </p>
+<dl class="section note"><dt>Note:</dt><dd>The global array <a class="el" href="fold__vars_8h.html#a0f5757427fd5f2f79d6fca0081cd5a52" title="A pointer to the base pair probability matrix.">pr</a> is deprecated and the user who wants the calculated base pair probabilities for further computations is advised to use the function <a class="el" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115" title="Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i...">export_bppm()</a>. </dd>
+<dd>
+<b>OpenMP:</b> This function is not entirely threadsafe. While the recursions are working on their own copies of data the model details for the recursions are determined from the global settings just before entering the recursions. Consider using <a class="el" href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823" title="Compute the partition function  for a given RNA sequence.">pf_fold_par()</a> for a really threadsafe implementation. </dd></dl>
+<dl class="section pre"><dt>Precondition:</dt><dd>This function takes its model details from the global variables provided in <em>RNAlib</em> </dd></dl>
+<dl class="section post"><dt>Postcondition:</dt><dd>After successful run the hidden folding matrices are filled with the appropriate Boltzmann factors. Depending on whether the global variable <a class="el" href="fold__vars_8h.html#ad512b5dd4dbec60faccfe137bb474489" title="do backtracking, i.e. compute secondary structures or base pair probabilities">do_backtrack</a> was set the base pair probabilities are already computed and may be accessed for further usage via the <a class="el" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115" title="Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i...">export_bppm()</a> function. A call of <a class="el" href="group__pf__fold.html#gae73db3f49a94f0f72e067ecd12681dbd" title="Free arrays for the partition function recursions.">free_pf_arrays()</a> will free all memory allocated by this function. Successive calls will first free previously allocated memory before starting the computation. </dd></dl>
+<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823" title="Compute the partition function  for a given RNA sequence.">pf_fold_par()</a>, <a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function  of an RNA sequence.">pf_fold()</a> </dd></dl>
+<dl class="params"><dt>Parameters:</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[in]</td><td class="paramname">sequence</td><td>The RNA sequence input </td></tr>
+    <tr><td class="paramdir">[in,out]</td><td class="paramname">structure</td><td>A pointer to a char array where a base pair probability information can be stored in a pseudo-dot-bracket notation (may be NULL, too) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>The Gibbs free energy of the ensemble ( <img class="formulaInl" alt="$G = -RT \cdot \log(Q) $" src="form_19.png"/>) in kcal/mol </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae73db3f49a94f0f72e067ecd12681dbd"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void free_pf_arrays </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Free arrays for the partition function recursions. </p>
+<p>Call this function if you want to free all allocated memory associated with the partition function forward recursion. </p>
+<dl class="section note"><dt>Note:</dt><dd>Successive calls of <a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function  of an RNA sequence.">pf_fold()</a>, <a class="el" href="group__pf__fold.html#ga819ce5fca8984004ac81c4a3b04cb735" title="Compute the partition function of a circular RNA sequence.">pf_circ_fold()</a> already check if they should free any memory from a previous run. </dd>
+<dd>
+<b>OpenMP notice:</b><br/>
+ This function should be called before leaving a thread in order to avoid leaking memory</dd></dl>
+<dl class="section post"><dt>Postcondition:</dt><dd>All memory allocated by <a class="el" href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823" title="Compute the partition function  for a given RNA sequence.">pf_fold_par()</a>, <a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function  of an RNA sequence.">pf_fold()</a> or <a class="el" href="group__pf__fold.html#ga819ce5fca8984004ac81c4a3b04cb735" title="Compute the partition function of a circular RNA sequence.">pf_circ_fold()</a> will be free'd </dd></dl>
+<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823" title="Compute the partition function  for a given RNA sequence.">pf_fold_par()</a>, <a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function  of an RNA sequence.">pf_fold()</a>, <a class="el" href="group__pf__fold.html#ga819ce5fca8984004ac81c4a3b04cb735" title="Compute the partition function of a circular RNA sequence.">pf_circ_fold()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga384e927890f9c034ff09fa66da102d28"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void update_pf_params </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>length</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Recalculate energy parameters. </p>
+<p>Call this function to recalculate the pair matrix and energy parameters after a change in folding parameters like <a class="el" href="fold__vars_8h.html#ab4b11c8d9c758430960896bc3fe82ead" title="Rescale energy parameters to a temperature in degC.">temperature</a> </p>
+
+</div>
+</div>
+<a class="anchor" id="ga6d463707d5f64bdc4d21515b7dd9b115"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">double* export_bppm </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i,j) is achieved by. </p>
+<div class="fragment"><div class="line">    FLT_OR_DBL *<a class="code" href="fold__vars_8h.html#a0f5757427fd5f2f79d6fca0081cd5a52" title="A pointer to the base pair probability matrix.">pr</a>  = <a class="code" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115" title="Get a pointer to the base pair probability arrayAccessing the base pair probabilities for a pair (i...">export_bppm</a>();</div>
+<div class="line">    pr_ij           = pr[<a class="code" href="fold__vars_8h.html#a92089ae3a51b5d75a14ce9cc29cc8317" title="index array to move through pr.">iindx</a>[i]-j];</div>
+</div><!-- fragment --><dl class="section pre"><dt>Precondition:</dt><dd>Call <a class="el" href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823" title="Compute the partition function  for a given RNA sequence.">pf_fold_par()</a>, <a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function  of an RNA sequence.">pf_fold()</a> or <a class="el" href="group__pf__fold.html#ga819ce5fca8984004ac81c4a3b04cb735" title="Compute the partition function of a circular RNA sequence.">pf_circ_fold()</a> first to fill the base pair probability array</dd></dl>
+<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function  of an RNA sequence.">pf_fold()</a>, <a class="el" href="group__pf__fold.html#ga819ce5fca8984004ac81c4a3b04cb735" title="Compute the partition function of a circular RNA sequence.">pf_circ_fold()</a>, <a class="el" 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></dd></dl>
+<dl class="section return"><dt>Returns:</dt><dd>A pointer to the base pair probability array </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga03e15e831a31b1154855ab47edbdb019"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void assign_plist_from_pr </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="structplist.html">plist</a> **&#160;</td>
+          <td class="paramname"><em>pl</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>probs</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>length</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&#160;</td>
+          <td class="paramname"><em>cutoff</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Create a plist from a probability matrix. </p>
+<p>The probability matrix given is parsed and all pair probabilities above the given threshold are used to create an entry in the plist</p>
+<p>The end of the plist is marked by sequence positions i as well as j equal to 0. This condition should be used to stop looping over its entries</p>
+<dl class="section note"><dt>Note:</dt><dd>This function is threadsafe</dd></dl>
+<dl class="params"><dt>Parameters:</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">pl</td><td>A pointer to the plist that is to be created </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">probs</td><td>The probability matrix used for creting the plist </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the RNA sequence </td></tr>
+    <tr><td class="paramdir">[in]</td><td class="paramname">cutoff</td><td>The cutoff value </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga18607e79e106cad827f482eedd2f632e"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int get_pf_arrays </td>
+          <td>(</td>
+          <td class="paramtype">short **&#160;</td>
+          <td class="paramname"><em>S_p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">short **&#160;</td>
+          <td class="paramname"><em>S1_p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char **&#160;</td>
+          <td class="paramname"><em>ptype_p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double **&#160;</td>
+          <td class="paramname"><em>qb_p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double **&#160;</td>
+          <td class="paramname"><em>qm_p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double **&#160;</td>
+          <td class="paramname"><em>q1k_p</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double **&#160;</td>
+          <td class="paramname"><em>qln_p</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the pointers to (almost) all relavant computation arrays used in partition function computation. </p>
+<dl class="section pre"><dt>Precondition:</dt><dd>In order to assign meaningful pointers, you have to call <a class="el" href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823" title="Compute the partition function  for a given RNA sequence.">pf_fold_par()</a> or <a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function  of an RNA sequence.">pf_fold()</a> first! </dd></dl>
+<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823" title="Compute the partition function  for a given RNA sequence.">pf_fold_par()</a>, <a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function  of an RNA sequence.">pf_fold()</a>, <a class="el" href="group__pf__fold.html#ga819ce5fca8984004ac81c4a3b04cb735" title="Compute the partition function of a circular RNA sequence.">pf_circ_fold()</a> </dd></dl>
+<dl class="params"><dt>Parameters:</dt><dd>
+  <table class="params">
+    <tr><td class="paramdir">[out]</td><td class="paramname">S_p</td><td>A pointer to the 'S' array (integer representation of nucleotides) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">S1_p</td><td>A pointer to the 'S1' array (2nd integer representation of nucleotides) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">ptype_p</td><td>A pointer to the pair type matrix </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">qb_p</td><td>A pointer to the Q<sup>B</sup> matrix </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">qm_p</td><td>A pointer to the Q<sup>M</sup> matrix </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">q1k_p</td><td>A pointer to the 5' slice of the Q matrix ( <img class="formulaInl" alt="$q1k(k) = Q(1, k)$" src="form_0.png"/>) </td></tr>
+    <tr><td class="paramdir">[out]</td><td class="paramname">qln_p</td><td>A pointer to the 3' slice of the Q matrix ( <img class="formulaInl" alt="$qln(l) = Q(l, n)$" src="form_1.png"/>) </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>Non Zero if everything went fine, 0 otherwise </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga79cbc375af65f11609feb6b055269e7d"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">double mean_bp_distance </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>length</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the mean base pair distance of the last partition function computation. </p>
+<dl class="section note"><dt>Note:</dt><dd>To ensure thread-safety, use the function <a class="el" href="group__pf__fold.html#ga72d84525f0afd3a9d60d830a2f501fa5" title="Get the mean base pair distance in the thermodynamic ensemble.">mean_bp_distance_pr()</a> instead!</dd></dl>
+<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__pf__fold.html#ga72d84525f0afd3a9d60d830a2f501fa5" title="Get the mean base pair distance in the thermodynamic ensemble.">mean_bp_distance_pr()</a></dd></dl>
+<dl class="params"><dt>Parameters:</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">length</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>mean base pair distance in thermodynamic ensemble </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga72d84525f0afd3a9d60d830a2f501fa5"></a>
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">double mean_bp_distance_pr </td>
+          <td>(</td>
+          <td class="paramtype">int&#160;</td>
+          <td class="paramname"><em>length</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&#160;</td>
+          <td class="paramname"><em>pr</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Get the mean base pair distance in the thermodynamic ensemble. </p>
+<p>This is a threadsafe implementation of <a class="el" href="part__func_8h.html#ae9556ba7ded44fe2321b6f67c3fc02a3">mean_bp_dist()</a> !</p>
+<p><img class="formulaInl" alt="$<d> = \sum_{a,b} p_a p_b d(S_a,S_b)$" src="form_22.png"/><br/>
+ this can be computed from the pair probs <img class="formulaInl" alt="$p_ij$" src="form_23.png"/> as<br/>
+ <img class="formulaInl" alt="$<d> = \sum_{ij} p_{ij}(1-p_{ij})$" src="form_24.png"/></p>
+<dl class="section note"><dt>Note:</dt><dd>This function is threadsafe</dd></dl>
+<dl class="params"><dt>Parameters:</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">length</td><td>The length of the sequence </td></tr>
+    <tr><td class="paramname">pr</td><td>The matrix containing the base pair probabilities </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>The mean pair distance of the structure ensemble </dd></dl>
+
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Wed Jul 24 2013 13:38:59 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>