--- /dev/null
+<!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: Predicting Consensus Structures from Alignment(s)</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 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="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__consensus__fold.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="summary">
+<a href="#groups">Modules</a> |
+<a href="#files">Files</a> |
+<a href="#func-members">Functions</a> |
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">Predicting Consensus Structures from Alignment(s)</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>compute various properties (consensus MFE structures, partition function, Boltzmann distributed stochastic samples, ...) for RNA sequence alignments
+<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 Predicting Consensus Structures from Alignment(s):</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__consensus__fold.png" border="0" alt="" usemap="#group____consensus____fold"/>
+<map name="group____consensus____fold" id="group____consensus____fold">
+<area shape="rect" id="node2" href="group__consensus__pf__fold.html" title="Partition Function\l and Base Pair Probabilities\l for Sequence Alignment(s)" alt="" coords="508,5,705,61"/><area shape="rect" id="node3" href="group__local__consensus__fold.html" title="Local MFE consensus\l structures for Sequence\l Alignments" alt="" coords="517,85,697,141"/><area shape="rect" id="node5" href="group__consensus__stochbt.html" title="Stochastic Backtracking\l of Consensus Structures\l from Sequence Alignment(s)" alt="" coords="501,165,712,221"/><area shape="rect" id="node6" href="group__consensus__mfe__fold.html" title="MFE Consensus Structures\l for Sequence Alignment(s)" alt="" coords="508,245,705,286"/><area shape="rect" id="node4" href="group__folding__routines.html" title="This module contains all functions related to thermodynamic folding of RNAs." alt="" coords="6,133,191,174"/></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__consensus__mfe__fold"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__mfe__fold.html">MFE Consensus Structures for Sequence Alignment(s)</a></td></tr>
+<tr class="memitem:group__consensus__pf__fold"><td class="memItemLeft" align="right" valign="top"> </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__consensus__stochbt"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__stochbt.html">Stochastic Backtracking of Consensus Structures from Sequence Alignment(s)</a></td></tr>
+<tr class="memitem:group__local__consensus__fold"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__local__consensus__fold.html">Local MFE consensus structures for Sequence Alignments</a></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="files"></a>
+Files</h2></td></tr>
+<tr class="memitem:alifold_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="alifold_8h.html">alifold.h</a></td></tr>
+<tr class="memdesc:alifold_8h"><td class="mdescLeft"> </td><td class="mdescRight">compute various properties (consensus MFE structures, partition function, Boltzmann distributed stochastic samples, ...) for RNA sequence alignments <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:gaa2d600be90844094ec145ea14a314d2f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__fold.html#gaa2d600be90844094ec145ea14a314d2f">get_mpi</a> (char *Alseq[], int n_seq, int length, int *mini)</td></tr>
+<tr class="memdesc:gaa2d600be90844094ec145ea14a314d2f"><td class="mdescLeft"> </td><td class="mdescRight">Get the mean pairwise identity in steps from ?to?(ident) <a href="#gaa2d600be90844094ec145ea14a314d2f"></a><br/></td></tr>
+<tr class="memitem:ga5e125c9586fcd4e2e1559fe76f7289cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5e125c9586fcd4e2e1559fe76f7289cc"></a>
+float ** </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__fold.html#ga5e125c9586fcd4e2e1559fe76f7289cc">readribosum</a> (char *name)</td></tr>
+<tr class="memdesc:ga5e125c9586fcd4e2e1559fe76f7289cc"><td class="mdescLeft"> </td><td class="mdescRight">Read a ribosum or other user-defined scoring matrix. <br/></td></tr>
+<tr class="memitem:ga1c48869c03b49a342bf4cbdd61900081"><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__fold.html#ga1c48869c03b49a342bf4cbdd61900081">energy_of_alistruct</a> (const char **sequences, const char *structure, int n_seq, float *energy)</td></tr>
+<tr class="memdesc:ga1c48869c03b49a342bf4cbdd61900081"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the free energy of a consensus structure given a set of aligned sequences. <a href="#ga1c48869c03b49a342bf4cbdd61900081"></a><br/></td></tr>
+<tr class="memitem:gaa3e40277c837d6f7603afe319884c786"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__fold.html#gaa3e40277c837d6f7603afe319884c786">encode_ali_sequence</a> (const char *sequence, short *S, short *s5, short *s3, char *ss, unsigned short *as, int <a class="el" href="fold__vars_8h.html#af9202a1a09f5828dc731e2d9a10fa111">circ</a>)</td></tr>
+<tr class="memdesc:gaa3e40277c837d6f7603afe319884c786"><td class="mdescLeft"> </td><td class="mdescRight">Get arrays with encoded sequence of the alignment. <a href="#gaa3e40277c837d6f7603afe319884c786"></a><br/></td></tr>
+<tr class="memitem:ga8a560930f7f2582cc3967723a86cfdfa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__fold.html#ga8a560930f7f2582cc3967723a86cfdfa">alloc_sequence_arrays</a> (const char **sequences, short ***S, short ***S5, short ***S3, unsigned short ***a2s, char ***Ss, int <a class="el" href="fold__vars_8h.html#af9202a1a09f5828dc731e2d9a10fa111">circ</a>)</td></tr>
+<tr class="memdesc:ga8a560930f7f2582cc3967723a86cfdfa"><td class="mdescLeft"> </td><td class="mdescRight">Allocate memory for sequence array used to deal with aligned sequences. <a href="#ga8a560930f7f2582cc3967723a86cfdfa"></a><br/></td></tr>
+<tr class="memitem:ga298a420a8c879202e2617b3f724fde38"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__fold.html#ga298a420a8c879202e2617b3f724fde38">free_sequence_arrays</a> (unsigned int n_seq, short ***S, short ***S5, short ***S3, unsigned short ***a2s, char ***Ss)</td></tr>
+<tr class="memdesc:ga298a420a8c879202e2617b3f724fde38"><td class="mdescLeft"> </td><td class="mdescRight">Free the memory of the sequence arrays used to deal with aligned sequences. <a href="#ga298a420a8c879202e2617b3f724fde38"></a><br/></td></tr>
+<tr class="memitem:ga0cc49457fd79eeb04d4a7f97c868b09b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__fold.html#ga0cc49457fd79eeb04d4a7f97c868b09b">get_alipf_arrays</a> (short ***S_p, short ***S5_p, short ***S3_p, unsigned short ***a2s_p, char ***Ss_p, double **qb_p, double **qm_p, double **q1k_p, double **qln_p, short **pscore)</td></tr>
+<tr class="memdesc:ga0cc49457fd79eeb04d4a7f97c868b09b"><td class="mdescLeft"> </td><td class="mdescRight">Get pointers to (almost) all relavant arrays used in alifold's partition function computation. <a href="#ga0cc49457fd79eeb04d4a7f97c868b09b"></a><br/></td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:gaf3cbac6ff5d706d6e414677841ddf94c"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__fold.html#gaf3cbac6ff5d706d6e414677841ddf94c">cv_fact</a></td></tr>
+<tr class="memdesc:gaf3cbac6ff5d706d6e414677841ddf94c"><td class="mdescLeft"> </td><td class="mdescRight">This variable controls the weight of the covariance term in the energy function of alignment folding algorithms. <a href="#gaf3cbac6ff5d706d6e414677841ddf94c"></a><br/></td></tr>
+<tr class="memitem:ga502948a122a2af5b914355b1f3ea2f61"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__consensus__fold.html#ga502948a122a2af5b914355b1f3ea2f61">nc_fact</a></td></tr>
+<tr class="memdesc:ga502948a122a2af5b914355b1f3ea2f61"><td class="mdescLeft"> </td><td class="mdescRight">This variable controls the magnitude of the penalty for non-compatible sequences in the covariance term of alignment folding algorithms. <a href="#ga502948a122a2af5b914355b1f3ea2f61"></a><br/></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<p>compute various properties (consensus MFE structures, partition function, Boltzmann distributed stochastic samples, ...) for RNA sequence alignments </p>
+<p>Consensus structures can be predicted by a modified version of the <a class="el" href="group__mfe__fold.html#gaadafcb0f140795ae62e5ca027e335a9b" title="Compute minimum free energy and an appropriate secondary structure of an RNA sequence.">fold()</a> algorithm that takes a set of aligned sequences instead of a single sequence. The energy function consists of the mean energy averaged over the sequences, plus a covariance term that favors pairs with consistent and compensatory mutations and penalizes pairs that cannot be formed by all structures. For details see <a class="el" href="citelist.html#CITEREF_hofacker:2002">[6]</a> and <a class="el" href="citelist.html#CITEREF_bernhart:2008">[2]</a>. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaa2d600be90844094ec145ea14a314d2f"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int get_mpi </td>
+ <td>(</td>
+ <td class="paramtype">char * </td>
+ <td class="paramname"><em>Alseq</em>[], </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>n_seq</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>length</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int * </td>
+ <td class="paramname"><em>mini</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get the mean pairwise identity in steps from ?to?(ident) </p>
+<dl class="params"><dt>Parameters:</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">Alseq</td><td></td></tr>
+ <tr><td class="paramname">n_seq</td><td>The number of sequences in the alignment </td></tr>
+ <tr><td class="paramname">length</td><td>The length of the alignment </td></tr>
+ <tr><td class="paramname">mini</td><td></td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>The mean pairwise identity </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1c48869c03b49a342bf4cbdd61900081"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float energy_of_alistruct </td>
+ <td>(</td>
+ <td class="paramtype">const char ** </td>
+ <td class="paramname"><em>sequences</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>structure</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>n_seq</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">float * </td>
+ <td class="paramname"><em>energy</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Calculate the free energy of a consensus structure given a set of aligned sequences. </p>
+<dl class="params"><dt>Parameters:</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sequences</td><td>The NULL terminated array of sequences </td></tr>
+ <tr><td class="paramname">structure</td><td>The consensus structure </td></tr>
+ <tr><td class="paramname">n_seq</td><td>The number of sequences in the alignment </td></tr>
+ <tr><td class="paramname">energy</td><td>A pointer to an array of at least two floats that will hold the free energies (energy[0] will contain the free energy, energy[1] will be filled with the covariance energy term) </td></tr>
+ </table>
+ </dd>
+</dl>
+<dl class="section return"><dt>Returns:</dt><dd>free energy in kcal/mol </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa3e40277c837d6f7603afe319884c786"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void encode_ali_sequence </td>
+ <td>(</td>
+ <td class="paramtype">const char * </td>
+ <td class="paramname"><em>sequence</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short * </td>
+ <td class="paramname"><em>S</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short * </td>
+ <td class="paramname"><em>s5</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short * </td>
+ <td class="paramname"><em>s3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char * </td>
+ <td class="paramname"><em>ss</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned short * </td>
+ <td class="paramname"><em>as</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>circ</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get arrays with encoded sequence of the alignment. </p>
+<p>this function assumes that in S, S5, s3, ss and as enough space is already allocated (size must be at least sequence length+2)</p>
+<dl class="params"><dt>Parameters:</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sequence</td><td>The gapped sequence from the alignment </td></tr>
+ <tr><td class="paramname">S</td><td>pointer to an array that holds encoded sequence </td></tr>
+ <tr><td class="paramname">s5</td><td>pointer to an array that holds the next base 5' of alignment position i </td></tr>
+ <tr><td class="paramname">s3</td><td>pointer to an array that holds the next base 3' of alignment position i </td></tr>
+ <tr><td class="paramname">ss</td><td></td></tr>
+ <tr><td class="paramname">as</td><td></td></tr>
+ <tr><td class="paramname">circ</td><td>assume the molecules to be circular instead of linear (circ=0) </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8a560930f7f2582cc3967723a86cfdfa"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void alloc_sequence_arrays </td>
+ <td>(</td>
+ <td class="paramtype">const char ** </td>
+ <td class="paramname"><em>sequences</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short *** </td>
+ <td class="paramname"><em>S</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short *** </td>
+ <td class="paramname"><em>S5</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short *** </td>
+ <td class="paramname"><em>S3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned short *** </td>
+ <td class="paramname"><em>a2s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *** </td>
+ <td class="paramname"><em>Ss</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int </td>
+ <td class="paramname"><em>circ</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Allocate memory for sequence array used to deal with aligned sequences. </p>
+<p>Note that these arrays will also be initialized according to the sequence alignment given</p>
+<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__consensus__fold.html#ga298a420a8c879202e2617b3f724fde38" title="Free the memory of the sequence arrays used to deal with aligned sequences.">free_sequence_arrays()</a></dd></dl>
+<dl class="params"><dt>Parameters:</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">sequences</td><td>The aligned sequences </td></tr>
+ <tr><td class="paramname">S</td><td>A pointer to the array of encoded sequences </td></tr>
+ <tr><td class="paramname">S5</td><td>A pointer to the array that contains the next 5' nucleotide of a sequence position </td></tr>
+ <tr><td class="paramname">S3</td><td>A pointer to the array that contains the next 3' nucleotide of a sequence position </td></tr>
+ <tr><td class="paramname">a2s</td><td>A pointer to the array that contains the alignment to sequence position mapping </td></tr>
+ <tr><td class="paramname">Ss</td><td>A pointer to the array that contains the ungapped sequence </td></tr>
+ <tr><td class="paramname">circ</td><td>assume the molecules to be circular instead of linear (circ=0) </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga298a420a8c879202e2617b3f724fde38"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void free_sequence_arrays </td>
+ <td>(</td>
+ <td class="paramtype">unsigned int </td>
+ <td class="paramname"><em>n_seq</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short *** </td>
+ <td class="paramname"><em>S</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short *** </td>
+ <td class="paramname"><em>S5</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short *** </td>
+ <td class="paramname"><em>S3</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned short *** </td>
+ <td class="paramname"><em>a2s</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *** </td>
+ <td class="paramname"><em>Ss</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Free the memory of the sequence arrays used to deal with aligned sequences. </p>
+<p>This function frees the memory previously allocated with <a class="el" href="group__consensus__fold.html#ga8a560930f7f2582cc3967723a86cfdfa" title="Allocate memory for sequence array used to deal with aligned sequences.">alloc_sequence_arrays()</a></p>
+<dl class="section see"><dt>See also:</dt><dd><a class="el" href="group__consensus__fold.html#ga8a560930f7f2582cc3967723a86cfdfa" title="Allocate memory for sequence array used to deal with aligned sequences.">alloc_sequence_arrays()</a></dd></dl>
+<dl class="params"><dt>Parameters:</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">n_seq</td><td>The number of aligned sequences </td></tr>
+ <tr><td class="paramname">S</td><td>A pointer to the array of encoded sequences </td></tr>
+ <tr><td class="paramname">S5</td><td>A pointer to the array that contains the next 5' nucleotide of a sequence position </td></tr>
+ <tr><td class="paramname">S3</td><td>A pointer to the array that contains the next 3' nucleotide of a sequence position </td></tr>
+ <tr><td class="paramname">a2s</td><td>A pointer to the array that contains the alignment to sequence position mapping </td></tr>
+ <tr><td class="paramname">Ss</td><td>A pointer to the array that contains the ungapped sequence </td></tr>
+ </table>
+ </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga0cc49457fd79eeb04d4a7f97c868b09b"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int get_alipf_arrays </td>
+ <td>(</td>
+ <td class="paramtype">short *** </td>
+ <td class="paramname"><em>S_p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short *** </td>
+ <td class="paramname"><em>S5_p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short *** </td>
+ <td class="paramname"><em>S3_p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">unsigned short *** </td>
+ <td class="paramname"><em>a2s_p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">char *** </td>
+ <td class="paramname"><em>Ss_p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double ** </td>
+ <td class="paramname"><em>qb_p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double ** </td>
+ <td class="paramname"><em>qm_p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double ** </td>
+ <td class="paramname"><em>q1k_p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">double ** </td>
+ <td class="paramname"><em>qln_p</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">short ** </td>
+ <td class="paramname"><em>pscore</em> </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>Get pointers to (almost) all relavant arrays used in alifold's partition function computation. </p>
+<dl class="section note"><dt>Note:</dt><dd>To obtain meaningful pointers, call alipf_fold first!</dd></dl>
+<dl class="section see"><dt>See also:</dt><dd>pf_alifold(), <a class="el" href="group__consensus__pf__fold.html#ga6b4dde1d43b79ab3753508c46cf50363">alipf_circ_fold()</a></dd></dl>
+<dl class="params"><dt>Parameters:</dt><dd>
+ <table class="params">
+ <tr><td class="paramname">S_p</td><td>A pointer to the 'S' array (integer representation of nucleotides) </td></tr>
+ <tr><td class="paramname">S5_p</td><td>A pointer to the 'S5' array </td></tr>
+ <tr><td class="paramname">S3_p</td><td>A pointer to the 'S3' array </td></tr>
+ <tr><td class="paramname">a2s_p</td><td>A pointer to the pair type matrix </td></tr>
+ <tr><td class="paramname">Ss_p</td><td>A pointer to the 'Ss' array </td></tr>
+ <tr><td class="paramname">qb_p</td><td>A pointer to the Q<sup>B</sup> matrix </td></tr>
+ <tr><td class="paramname">qm_p</td><td>A pointer to the Q<sup>M</sup> matrix </td></tr>
+ <tr><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="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>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="gaf3cbac6ff5d706d6e414677841ddf94c"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double cv_fact</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>This variable controls the weight of the covariance term in the energy function of alignment folding algorithms. </p>
+<p>Default is 1. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga502948a122a2af5b914355b1f3ea2f61"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">double nc_fact</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+
+<p>This variable controls the magnitude of the penalty for non-compatible sequences in the covariance term of alignment folding algorithms. </p>
+<p>Default is 1. </p>
+
+</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>