1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <title>RNAlib-2.1.2: /homes/fmmarquesmadeira/Projects/jabaws/binaries/src/ViennaRNA/H/part_func.h File Reference</title>
6 <link href="tabs.css" rel="stylesheet" type="text/css"/>
7 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
10 <!-- Generated by Doxygen 1.6.1 -->
11 <script type="text/javascript">
13 function changeDisplayState (e){
14 var num=this.id.replace(/[^[0-9]/g,'');
15 var button=this.firstChild;
16 var sectionDiv=document.getElementById('dynsection'+num);
17 if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
18 sectionDiv.style.display='block';
19 button.src='open.gif';
21 sectionDiv.style.display='none';
22 button.src='closed.gif';
25 function initDynSections(){
26 var divs=document.getElementsByTagName('div');
28 for(var i=0;i<divs.length-1;i++){
29 if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
31 var section=divs[i+1];
32 var button=header.firstChild;
34 divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
35 button=document.createElement('img');
36 divs[i].insertBefore(button,divs[i].firstChild);
38 header.style.cursor='pointer';
39 header.onclick=changeDisplayState;
40 header.id='dynheader'+sectionCounter;
41 button.src='closed.gif';
42 section.id='dynsection'+sectionCounter;
43 section.style.display='none';
44 section.style.marginLeft='14px';
49 window.onload = initDynSections;
52 <div class="navigation" id="top">
55 <li><a href="main.html"><span>Main Page</span></a></li>
56 <li><a href="pages.html"><span>Related Pages</span></a></li>
57 <li><a href="modules.html"><span>Modules</span></a></li>
58 <li><a href="annotated.html"><span>Data Structures</span></a></li>
59 <li class="current"><a href="files.html"><span>Files</span></a></li>
64 <li><a href="files.html"><span>File List</span></a></li>
65 <li><a href="globals.html"><span>Globals</span></a></li>
69 <div class="contents">
70 <h1>/homes/fmmarquesmadeira/Projects/jabaws/binaries/src/ViennaRNA/H/part_func.h File Reference</h1>
71 <p>Partition function of single RNA sequences.
72 <a href="#_details">More...</a></p>
73 <div class="dynheader">
74 Include dependency graph for part_func.h:</div>
75 <div class="dynsection">
76 <div class="center"><img src="part__func_8h__incl.png" border="0" usemap="#_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2part__func_8h_map" alt=""/></div>
77 <map name="_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2part__func_8h_map" id="_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2part__func_8h">
78 <area shape="rect" id="node3" href="data__structures_8h.html" title="All datastructures and typedefs shared among the Vienna RNA Package can be found..." alt="" coords="201,86,324,117"/><area shape="rect" id="node5" href="energy__const_8h.html" title="energy_const.h" alt="" coords="207,166,319,197"/></map>
81 <p><a href="part__func_8h_source.html">Go to the source code of this file.</a></p>
82 <table border="0" cellpadding="0" cellspacing="0">
83 <tr><td colspan="2"><h2>Functions</h2></td></tr>
84 <tr><td class="memItemLeft" align="right" valign="top">float </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>
85 <tr><td class="mdescLeft"> </td><td class="mdescRight">Compute the partition function <img class="formulaInl" alt="$Q$" src="form_18.png"/> for a given RNA sequence. <a href="group__pf__fold.html#ga1839c61275760944b3a007c41d5c0823"></a><br/></td></tr>
86 <tr><td class="memItemLeft" align="right" valign="top">float </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>
87 <tr><td class="mdescLeft"> </td><td class="mdescRight">Compute the partition function <img class="formulaInl" alt="$Q$" src="form_18.png"/> of an RNA sequence. <a href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2"></a><br/></td></tr>
88 <tr><td class="memItemLeft" align="right" valign="top">float </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>
89 <tr><td class="mdescLeft"> </td><td class="mdescRight">Compute the partition function of a circular RNA sequence. <a href="group__pf__fold.html#ga819ce5fca8984004ac81c4a3b04cb735"></a><br/></td></tr>
90 <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__subopt__stochbt.html#gac03ca6db186bb3bf0a2a326d7fb3ba03">pbacktrack</a> (char *sequence)</td></tr>
91 <tr><td class="mdescLeft"> </td><td class="mdescRight">Sample a secondary structure from the Boltzmann ensemble according its probability<br/>
92 . <a href="group__subopt__stochbt.html#gac03ca6db186bb3bf0a2a326d7fb3ba03"></a><br/></td></tr>
93 <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__subopt__stochbt.html#ga00474051204ac9ad576b3e45174d03ff">pbacktrack_circ</a> (char *sequence)</td></tr>
94 <tr><td class="mdescLeft"> </td><td class="mdescRight">Sample a secondary structure of a circular RNA from the Boltzmann ensemble according its probability. <a href="group__subopt__stochbt.html#ga00474051204ac9ad576b3e45174d03ff"></a><br/></td></tr>
95 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#gae73db3f49a94f0f72e067ecd12681dbd">free_pf_arrays</a> (void)</td></tr>
96 <tr><td class="mdescLeft"> </td><td class="mdescRight">Free arrays for the partition function recursions. <a href="group__pf__fold.html#gae73db3f49a94f0f72e067ecd12681dbd"></a><br/></td></tr>
97 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga384e927890f9c034ff09fa66da102d28">update_pf_params</a> (int length)</td></tr>
98 <tr><td class="mdescLeft"> </td><td class="mdescRight">Recalculate energy parameters. <a href="group__pf__fold.html#ga384e927890f9c034ff09fa66da102d28"></a><br/></td></tr>
99 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0733527a94de3b79eee3c3c03c99c1bc"></a><!-- doxytag: member="part_func.h::update_pf_params_par" ref="ga0733527a94de3b79eee3c3c03c99c1bc" args="(int length, pf_paramT *parameters)" -->
100 void </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>
101 <tr><td class="mdescLeft"> </td><td class="mdescRight">Recalculate energy parameters. <br/></td></tr>
102 <tr><td class="memItemLeft" align="right" valign="top">double * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115">export_bppm</a> (void)</td></tr>
103 <tr><td class="mdescLeft"> </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="group__pf__fold.html#ga6d463707d5f64bdc4d21515b7dd9b115"></a><br/></td></tr>
104 <tr><td class="memItemLeft" align="right" valign="top">void </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>
105 <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a <a class="el" href="structplist.html" title="this datastructure is used as input parameter in functions of PS_dot.h and others...">plist</a> from a probability matrix. <a href="group__pf__fold.html#ga03e15e831a31b1154855ab47edbdb019"></a><br/></td></tr>
106 <tr><td class="memItemLeft" align="right" valign="top">int </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>
107 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the pointers to (almost) all relavant computation arrays used in partition function computation. <a href="group__pf__fold.html#ga18607e79e106cad827f482eedd2f632e"></a><br/></td></tr>
108 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a189e2a1ec6cc32c53ea72f7543b0441e"></a><!-- doxytag: member="part_func.h::get_subseq_F" ref="a189e2a1ec6cc32c53ea72f7543b0441e" args="(int i, int j)" -->
109 double </td><td class="memItemRight" valign="bottom"><a class="el" href="part__func_8h.html#a189e2a1ec6cc32c53ea72f7543b0441e">get_subseq_F</a> (int i, int j)</td></tr>
110 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the free energy of a subsequence from the q[] array. <br/></td></tr>
111 <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__centroid__fold.html#ga9aba0ba1433a6d259331e0fe9fc4a9a6">get_centroid_struct_pl</a> (int length, double *dist, <a class="el" href="structplist.html">plist</a> *pl)</td></tr>
112 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the centroid structure of the ensemble. <a href="group__centroid__fold.html#ga9aba0ba1433a6d259331e0fe9fc4a9a6"></a><br/></td></tr>
113 <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__centroid__fold.html#gacdabece4aa1e20c9eaa97acb4c4dcc38">get_centroid_struct_pr</a> (int length, double *dist, double *<a class="el" href="fold__vars_8h.html#a0f5757427fd5f2f79d6fca0081cd5a52">pr</a>)</td></tr>
114 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the centroid structure of the ensemble. <a href="group__centroid__fold.html#gacdabece4aa1e20c9eaa97acb4c4dcc38"></a><br/></td></tr>
115 <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pf__fold.html#ga79cbc375af65f11609feb6b055269e7d">mean_bp_distance</a> (int length)</td></tr>
116 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the mean base pair distance of the last partition function computation. <a href="group__pf__fold.html#ga79cbc375af65f11609feb6b055269e7d"></a><br/></td></tr>
117 <tr><td class="memItemLeft" align="right" valign="top">double </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>
118 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the mean base pair distance in the thermodynamic ensemble. <a href="group__pf__fold.html#ga72d84525f0afd3a9d60d830a2f501fa5"></a><br/></td></tr>
119 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f562d463c14d4703d9656056200eb38"></a><!-- doxytag: member="part_func.h::bppm_to_structure" ref="a1f562d463c14d4703d9656056200eb38" args="(char *structure, double *pr, unsigned int length)" -->
120 void </td><td class="memItemRight" valign="bottom"><a class="el" href="part__func_8h.html#a1f562d463c14d4703d9656056200eb38">bppm_to_structure</a> (char *structure, double *<a class="el" href="fold__vars_8h.html#a0f5757427fd5f2f79d6fca0081cd5a52">pr</a>, unsigned int length)</td></tr>
121 <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a dot-bracket like structure string from base pair probability matrix. <br/></td></tr>
122 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a49962ad6242b8c628de6ca16bb831c1d"></a><!-- doxytag: member="part_func.h::bppm_symbol" ref="a49962ad6242b8c628de6ca16bb831c1d" args="(const float *x)" -->
123 char </td><td class="memItemRight" valign="bottom"><a class="el" href="part__func_8h.html#a49962ad6242b8c628de6ca16bb831c1d">bppm_symbol</a> (const float *x)</td></tr>
124 <tr><td class="mdescLeft"> </td><td class="mdescRight">Get a pseudo dot bracket notation for a given probability information. <br/></td></tr>
125 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="part__func_8h.html#a15176e23eceeff8c7d14eabcfec8a2af">init_pf_fold</a> (int length)</td></tr>
126 <tr><td class="mdescLeft"> </td><td class="mdescRight">Allocate space for <a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function of an RNA sequence.">pf_fold()</a>. <a href="#a15176e23eceeff8c7d14eabcfec8a2af"></a><br/></td></tr>
127 <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="part__func_8h.html#ae89a63bd83e75a80b2ba36d20b31ce81">centroid</a> (int length, double *dist)</td></tr>
128 <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="part__func_8h.html#ae9556ba7ded44fe2321b6f67c3fc02a3">mean_bp_dist</a> (int length)</td></tr>
129 <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="part__func_8h.html#a68ba6f3a48e08ca131ab54621ce3a2d7">expLoopEnergy</a> (int u1, int u2, int type, int type2, short si1, short sj1, short sp1, short sq1)</td></tr>
130 <tr><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="part__func_8h.html#a7b6ab474cc80accc48010ccfcc59f96b">expHairpinEnergy</a> (int u, int type, short si1, short sj1, const char *string)</td></tr>
131 <tr><td colspan="2"><h2>Variables</h2></td></tr>
132 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__subopt__stochbt.html#gacd79b1a570e6ad9be24cb11fe8cae30a">st_back</a></td></tr>
133 <tr><td class="mdescLeft"> </td><td class="mdescRight">Flag indicating that auxilary arrays are needed throughout the computations. This is essential for stochastic backtracking. <a href="group__subopt__stochbt.html#gacd79b1a570e6ad9be24cb11fe8cae30a"></a><br/></td></tr>
135 <hr/><a name="_details"></a><h2>Detailed Description</h2>
136 <p>Partition function of single RNA sequences. </p>
137 <p>This file includes (almost) all function declarations within the <b>RNAlib</b> that are related to Partion function folding... </p>
138 <hr/><h2>Function Documentation</h2>
139 <a class="anchor" id="a15176e23eceeff8c7d14eabcfec8a2af"></a><!-- doxytag: member="part_func.h::init_pf_fold" ref="a15176e23eceeff8c7d14eabcfec8a2af" args="(int length)" -->
140 <div class="memitem">
141 <div class="memproto">
142 <table class="memname">
144 <td class="memname">void init_pf_fold </td>
146 <td class="paramtype">int </td>
147 <td class="paramname"> <em>length</em></td>
148 <td> ) </td>
155 <p>Allocate space for <a class="el" href="group__pf__fold.html#gadc3db3d98742427e7001a7fd36ef28c2" title="Compute the partition function of an RNA sequence.">pf_fold()</a>. </p>
156 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000011">Deprecated:</a></b></dt><dd>This function is obsolete and will be removed soon! </dd></dl>
160 <a class="anchor" id="ae89a63bd83e75a80b2ba36d20b31ce81"></a><!-- doxytag: member="part_func.h::centroid" ref="ae89a63bd83e75a80b2ba36d20b31ce81" args="(int length, double *dist)" -->
161 <div class="memitem">
162 <div class="memproto">
163 <table class="memname">
165 <td class="memname">char* centroid </td>
167 <td class="paramtype">int </td>
168 <td class="paramname"> <em>length</em>, </td>
171 <td class="paramkey"></td>
173 <td class="paramtype">double * </td>
174 <td class="paramname"> <em>dist</em></td><td> </td>
179 <td></td><td></td><td></td>
184 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated:</a></b></dt><dd>This function is deprecated and should not be used anymore as it is not threadsafe! </dd></dl>
185 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__centroid__fold.html#ga9aba0ba1433a6d259331e0fe9fc4a9a6" title="Get the centroid structure of the ensemble.">get_centroid_struct_pl()</a>, <a class="el" href="group__centroid__fold.html#gacdabece4aa1e20c9eaa97acb4c4dcc38" title="Get the centroid structure of the ensemble.">get_centroid_struct_pr()</a> </dd></dl>
189 <a class="anchor" id="ae9556ba7ded44fe2321b6f67c3fc02a3"></a><!-- doxytag: member="part_func.h::mean_bp_dist" ref="ae9556ba7ded44fe2321b6f67c3fc02a3" args="(int length)" -->
190 <div class="memitem">
191 <div class="memproto">
192 <table class="memname">
194 <td class="memname">double mean_bp_dist </td>
196 <td class="paramtype">int </td>
197 <td class="paramname"> <em>length</em></td>
198 <td> ) </td>
204 <p>get the mean pair distance of ensemble</p>
205 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000013">Deprecated:</a></b></dt><dd>This function is not threadsafe and should not be used anymore. Use <a class="el" href="group__pf__fold.html#ga79cbc375af65f11609feb6b055269e7d">mean_bp_distance()</a> instead! </dd></dl>
209 <a class="anchor" id="a68ba6f3a48e08ca131ab54621ce3a2d7"></a><!-- doxytag: member="part_func.h::expLoopEnergy" ref="a68ba6f3a48e08ca131ab54621ce3a2d7" args="(int u1, int u2, int type, int type2, short si1, short sj1, short sp1, short sq1)" -->
210 <div class="memitem">
211 <div class="memproto">
212 <table class="memname">
214 <td class="memname">double expLoopEnergy </td>
216 <td class="paramtype">int </td>
217 <td class="paramname"> <em>u1</em>, </td>
220 <td class="paramkey"></td>
222 <td class="paramtype">int </td>
223 <td class="paramname"> <em>u2</em>, </td>
226 <td class="paramkey"></td>
228 <td class="paramtype">int </td>
229 <td class="paramname"> <em>type</em>, </td>
232 <td class="paramkey"></td>
234 <td class="paramtype">int </td>
235 <td class="paramname"> <em>type2</em>, </td>
238 <td class="paramkey"></td>
240 <td class="paramtype">short </td>
241 <td class="paramname"> <em>si1</em>, </td>
244 <td class="paramkey"></td>
246 <td class="paramtype">short </td>
247 <td class="paramname"> <em>sj1</em>, </td>
250 <td class="paramkey"></td>
252 <td class="paramtype">short </td>
253 <td class="paramname"> <em>sp1</em>, </td>
256 <td class="paramkey"></td>
258 <td class="paramtype">short </td>
259 <td class="paramname"> <em>sq1</em></td><td> </td>
264 <td></td><td></td><td></td>
269 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000014">Deprecated:</a></b></dt><dd>Use <a class="el" href="loop__energies_8h.html#aa5e98e524e2a41e290b942b09544bc9e">exp_E_IntLoop()</a> from <a class="el" href="loop__energies_8h.html" title="Energy evaluation for MFE and partition function calculations.">loop_energies.h</a> instead </dd></dl>
273 <a class="anchor" id="a7b6ab474cc80accc48010ccfcc59f96b"></a><!-- doxytag: member="part_func.h::expHairpinEnergy" ref="a7b6ab474cc80accc48010ccfcc59f96b" args="(int u, int type, short si1, short sj1, const char *string)" -->
274 <div class="memitem">
275 <div class="memproto">
276 <table class="memname">
278 <td class="memname">double expHairpinEnergy </td>
280 <td class="paramtype">int </td>
281 <td class="paramname"> <em>u</em>, </td>
284 <td class="paramkey"></td>
286 <td class="paramtype">int </td>
287 <td class="paramname"> <em>type</em>, </td>
290 <td class="paramkey"></td>
292 <td class="paramtype">short </td>
293 <td class="paramname"> <em>si1</em>, </td>
296 <td class="paramkey"></td>
298 <td class="paramtype">short </td>
299 <td class="paramname"> <em>sj1</em>, </td>
302 <td class="paramkey"></td>
304 <td class="paramtype">const char * </td>
305 <td class="paramname"> <em>string</em></td><td> </td>
310 <td></td><td></td><td></td>
315 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000015">Deprecated:</a></b></dt><dd>Use <a class="el" href="loop__energies_8h.html#a0e128184bb097dc2da33706f33b555a6">exp_E_Hairpin()</a> from <a class="el" href="loop__energies_8h.html" title="Energy evaluation for MFE and partition function calculations.">loop_energies.h</a> instead </dd></dl>
320 <hr size="1"/><address style="text-align: right;"><small>Generated on 11 Apr 2017 for RNAlib-2.1.2 by
321 <a href="http://www.doxygen.org/index.html">
322 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>