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/fold.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/fold.h File Reference</h1>
71 <p>MFE calculations and energy evaluations for single RNA sequences.
72 <a href="#_details">More...</a></p>
73 <div class="dynheader">
74 Include dependency graph for fold.h:</div>
75 <div class="dynsection">
76 <div class="center"><img src="fold_8h__incl.png" border="0" usemap="#_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2fold_8h_map" alt=""/></div>
77 <map name="_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2fold_8h_map" id="_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2fold_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="185,86,308,117"/><area shape="rect" id="node5" href="energy__const_8h.html" title="energy_const.h" alt="" coords="191,166,303,197"/></map>
81 <p><a href="fold_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__mfe__fold.html#gadb973133c241d57c04b253df35e4d34e">fold_par</a> (const char *sequence, char *structure, <a class="el" href="structparamT.html">paramT</a> *parameters, int is_constrained, int is_circular)</td></tr>
85 <tr><td class="mdescLeft"> </td><td class="mdescRight">Compute minimum free energy and an appropriate secondary structure of an RNA sequence. <a href="group__mfe__fold.html#gadb973133c241d57c04b253df35e4d34e"></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__mfe__fold.html#gaadafcb0f140795ae62e5ca027e335a9b">fold</a> (const char *sequence, char *structure)</td></tr>
87 <tr><td class="mdescLeft"> </td><td class="mdescRight">Compute minimum free energy and an appropriate secondary structure of an RNA sequence. <a href="group__mfe__fold.html#gaadafcb0f140795ae62e5ca027e335a9b"></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__mfe__fold.html#ga4ac63ab3e8d9a80ced28b8052d94e423">circfold</a> (const char *sequence, char *structure)</td></tr>
89 <tr><td class="mdescLeft"> </td><td class="mdescRight">Compute minimum free energy and an appropriate secondary structure of a circular RNA sequence. <a href="group__mfe__fold.html#ga4ac63ab3e8d9a80ced28b8052d94e423"></a><br/></td></tr>
90 <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__eval.html#gaf93986cb3cb29770ec9cca69c9fab8cf">energy_of_structure</a> (const char *string, const char *structure, int verbosity_level)</td></tr>
91 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the free energy of an already folded RNA using global model detail settings. <a href="group__eval.html#gaf93986cb3cb29770ec9cca69c9fab8cf"></a><br/></td></tr>
92 <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__eval.html#gab5169ea4f72f250e43811463a33f4e40">energy_of_struct_par</a> (const char *string, const char *structure, <a class="el" href="structparamT.html">paramT</a> *parameters, int verbosity_level)</td></tr>
93 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the free energy of an already folded RNA. <a href="group__eval.html#gab5169ea4f72f250e43811463a33f4e40"></a><br/></td></tr>
94 <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__eval.html#gaeb14f3664aec67fc03268ac75253f0f8">energy_of_circ_structure</a> (const char *string, const char *structure, int verbosity_level)</td></tr>
95 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the free energy of an already folded circular RNA. <a href="group__eval.html#gaeb14f3664aec67fc03268ac75253f0f8"></a><br/></td></tr>
96 <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="group__eval.html#ga75dc765ee4a1177832bc817c94cf88e5">energy_of_circ_struct_par</a> (const char *string, const char *structure, <a class="el" href="structparamT.html">paramT</a> *parameters, int verbosity_level)</td></tr>
97 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the free energy of an already folded circular RNA. <a href="group__eval.html#ga75dc765ee4a1177832bc817c94cf88e5"></a><br/></td></tr>
98 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__eval.html#ga8831445966b761417e713360791299d8">energy_of_structure_pt</a> (const char *string, short *ptable, short *s, short *s1, int verbosity_level)</td></tr>
99 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the free energy of an already folded RNA. <a href="group__eval.html#ga8831445966b761417e713360791299d8"></a><br/></td></tr>
100 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__eval.html#gada4701dd7519b29da75ceac147601f4e">energy_of_struct_pt_par</a> (const char *string, short *ptable, short *s, short *s1, <a class="el" href="structparamT.html">paramT</a> *parameters, int verbosity_level)</td></tr>
101 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate the free energy of an already folded RNA. <a href="group__eval.html#gada4701dd7519b29da75ceac147601f4e"></a><br/></td></tr>
102 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga107fdfe5fd641868156bfd849f6866c7"></a><!-- doxytag: member="fold.h::free_arrays" ref="ga107fdfe5fd641868156bfd849f6866c7" args="(void)" -->
103 void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mfe__fold.html#ga107fdfe5fd641868156bfd849f6866c7">free_arrays</a> (void)</td></tr>
104 <tr><td class="mdescLeft"> </td><td class="mdescRight">Free arrays for mfe folding. <br/></td></tr>
105 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#a87b7869bd1d8dc79c60775c74e009e9b">parenthesis_structure</a> (char *structure, <a class="el" href="structbondT.html">bondT</a> *bp, int length)</td></tr>
106 <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a dot-backet/parenthesis structure from backtracking stack. <a href="#a87b7869bd1d8dc79c60775c74e009e9b"></a><br/></td></tr>
107 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#a325f3835c68f34fe833b2b7a5828857f">parenthesis_zuker</a> (char *structure, <a class="el" href="structbondT.html">bondT</a> *bp, int length)</td></tr>
108 <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a dot-backet/parenthesis structure from backtracking stack obtained by zuker suboptimal calculation in cofold.c. <a href="#a325f3835c68f34fe833b2b7a5828857f"></a><br/></td></tr>
109 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga41bf8f6fa15b94471f7095cad9f0ccf3"></a><!-- doxytag: member="fold.h::update_fold_params" ref="ga41bf8f6fa15b94471f7095cad9f0ccf3" args="(void)" -->
110 void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mfe__fold.html#ga41bf8f6fa15b94471f7095cad9f0ccf3">update_fold_params</a> (void)</td></tr>
111 <tr><td class="mdescLeft"> </td><td class="mdescRight">Recalculate energy parameters. <br/></td></tr>
112 <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#a539ecaed89730f7644c202f304d7529b">energy_of_move</a> (const char *string, const char *structure, int m1, int m2)</td></tr>
113 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate energy of a move (closing or opening of a base pair). <a href="#a539ecaed89730f7644c202f304d7529b"></a><br/></td></tr>
114 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#a49e0ee561be69faf0568213546f6a53f">energy_of_move_pt</a> (short *pt, short *s, short *s1, int m1, int m2)</td></tr>
115 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate energy of a move (closing or opening of a base pair). <a href="#a49e0ee561be69faf0568213546f6a53f"></a><br/></td></tr>
116 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#a507d4fd93f4b398d793ba2402731388d">loop_energy</a> (short *ptable, short *s, short *s1, int i)</td></tr>
117 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate energy of a loop. <a href="#a507d4fd93f4b398d793ba2402731388d"></a><br/></td></tr>
118 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#adaa59b81664e2e36cb9932e891558fae">assign_plist_from_db</a> (<a class="el" href="structplist.html">plist</a> **pl, const char *struc, float <a class="el" href="fold__vars_8h.html#a0f5757427fd5f2f79d6fca0081cd5a52">pr</a>)</td></tr>
119 <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 dot-bracket string. <a href="#adaa59b81664e2e36cb9932e891558fae"></a><br/></td></tr>
120 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#a2163034a25c6115d894b199e97e03f6c">LoopEnergy</a> (int n1, int n2, int type, int type_2, int si1, int sj1, int sp1, int sq1)</td></tr>
121 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#ab327ce11972f5ac069d52c8dedfdb700">HairpinE</a> (int size, int type, int si1, int sj1, const char *string)</td></tr>
122 <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#ac3f0a28d9cb609d388b155445073fd20">initialize_fold</a> (int length)</td></tr>
123 <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#ac2b37fea2145c94d925a3f33378ef87b">energy_of_struct</a> (const char *string, const char *structure)</td></tr>
124 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#a27ce6f68512d43bf1fe14a06c9d76d5c">energy_of_struct_pt</a> (const char *string, short *ptable, short *s, short *s1)</td></tr>
125 <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#a657222e2758c46bf13b416ef3032e417">energy_of_circ_struct</a> (const char *string, const char *structure)</td></tr>
126 <tr><td colspan="2"><h2>Variables</h2></td></tr>
127 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a80c3c5fd35e7479704cc91d2d0367743"></a><!-- doxytag: member="fold.h::logML" ref="a80c3c5fd35e7479704cc91d2d0367743" args="" -->
128 int </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#a80c3c5fd35e7479704cc91d2d0367743">logML</a></td></tr>
129 <tr><td class="mdescLeft"> </td><td class="mdescRight">if nonzero use logarithmic ML energy in energy_of_struct <br/></td></tr>
130 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c5655c8b272e3e6cab74dd0f540294f"></a><!-- doxytag: member="fold.h::uniq_ML" ref="a6c5655c8b272e3e6cab74dd0f540294f" args="" -->
131 int </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#a6c5655c8b272e3e6cab74dd0f540294f">uniq_ML</a></td></tr>
132 <tr><td class="mdescLeft"> </td><td class="mdescRight">do ML decomposition uniquely (for subopt) <br/></td></tr>
133 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9b2c3a37a5516614c06d0ab54b97cda"></a><!-- doxytag: member="fold.h::cut_point" ref="ab9b2c3a37a5516614c06d0ab54b97cda" args="" -->
134 int </td><td class="memItemRight" valign="bottom"><a class="el" href="fold_8h.html#ab9b2c3a37a5516614c06d0ab54b97cda">cut_point</a></td></tr>
135 <tr><td class="mdescLeft"> </td><td class="mdescRight">set to first pos of second seq for cofolding <br/></td></tr>
136 <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga567530678f6260a1a649a5beca5da4c5"></a><!-- doxytag: member="fold.h::eos_debug" ref="ga567530678f6260a1a649a5beca5da4c5" args="" -->
137 int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__eval.html#ga567530678f6260a1a649a5beca5da4c5">eos_debug</a></td></tr>
138 <tr><td class="mdescLeft"> </td><td class="mdescRight">verbose info from energy_of_struct <br/></td></tr>
140 <hr/><a name="_details"></a><h2>Detailed Description</h2>
141 <p>MFE calculations and energy evaluations for single RNA sequences. </p>
142 <p>This file includes (almost) all function declarations within the RNAlib that are related to MFE folding... </p>
143 <hr/><h2>Function Documentation</h2>
144 <a class="anchor" id="a87b7869bd1d8dc79c60775c74e009e9b"></a><!-- doxytag: member="fold.h::parenthesis_structure" ref="a87b7869bd1d8dc79c60775c74e009e9b" args="(char *structure, bondT *bp, int length)" -->
145 <div class="memitem">
146 <div class="memproto">
147 <table class="memname">
149 <td class="memname">void parenthesis_structure </td>
151 <td class="paramtype">char * </td>
152 <td class="paramname"> <em>structure</em>, </td>
155 <td class="paramkey"></td>
157 <td class="paramtype"><a class="el" href="structbondT.html">bondT</a> * </td>
158 <td class="paramname"> <em>bp</em>, </td>
161 <td class="paramkey"></td>
163 <td class="paramtype">int </td>
164 <td class="paramname"> <em>length</em></td><td> </td>
169 <td></td><td></td><td></td>
175 <p>Create a dot-backet/parenthesis structure from backtracking stack. </p>
176 <dl class="note"><dt><b>Note:</b></dt><dd>This function is threadsafe </dd></dl>
180 <a class="anchor" id="a325f3835c68f34fe833b2b7a5828857f"></a><!-- doxytag: member="fold.h::parenthesis_zuker" ref="a325f3835c68f34fe833b2b7a5828857f" args="(char *structure, bondT *bp, int length)" -->
181 <div class="memitem">
182 <div class="memproto">
183 <table class="memname">
185 <td class="memname">void parenthesis_zuker </td>
187 <td class="paramtype">char * </td>
188 <td class="paramname"> <em>structure</em>, </td>
191 <td class="paramkey"></td>
193 <td class="paramtype"><a class="el" href="structbondT.html">bondT</a> * </td>
194 <td class="paramname"> <em>bp</em>, </td>
197 <td class="paramkey"></td>
199 <td class="paramtype">int </td>
200 <td class="paramname"> <em>length</em></td><td> </td>
205 <td></td><td></td><td></td>
211 <p>Create a dot-backet/parenthesis structure from backtracking stack obtained by zuker suboptimal calculation in cofold.c. </p>
212 <dl class="note"><dt><b>Note:</b></dt><dd>This function is threadsafe </dd></dl>
216 <a class="anchor" id="a539ecaed89730f7644c202f304d7529b"></a><!-- doxytag: member="fold.h::energy_of_move" ref="a539ecaed89730f7644c202f304d7529b" args="(const char *string, const char *structure, int m1, int m2)" -->
217 <div class="memitem">
218 <div class="memproto">
219 <table class="memname">
221 <td class="memname">float energy_of_move </td>
223 <td class="paramtype">const char * </td>
224 <td class="paramname"> <em>string</em>, </td>
227 <td class="paramkey"></td>
229 <td class="paramtype">const char * </td>
230 <td class="paramname"> <em>structure</em>, </td>
233 <td class="paramkey"></td>
235 <td class="paramtype">int </td>
236 <td class="paramname"> <em>m1</em>, </td>
239 <td class="paramkey"></td>
241 <td class="paramtype">int </td>
242 <td class="paramname"> <em>m2</em></td><td> </td>
247 <td></td><td></td><td></td>
253 <p>Calculate energy of a move (closing or opening of a base pair). </p>
254 <p>If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).</p>
255 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="utils_8h.html#a89c32307ee50a0026f4a3131fac0845a" title="Create a pair table of a secondary structure.">make_pair_table()</a>, <a class="el" href="fold_8h.html#a539ecaed89730f7644c202f304d7529b" title="Calculate energy of a move (closing or opening of a base pair).">energy_of_move()</a> </dd></dl>
256 <dl><dt><b>Parameters:</b></dt><dd>
257 <table border="0" cellspacing="2" cellpadding="0">
258 <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>RNA sequence </td></tr>
259 <tr><td valign="top"></td><td valign="top"><em>structure</em> </td><td>secondary structure in dot-bracket notation </td></tr>
260 <tr><td valign="top"></td><td valign="top"><em>m1</em> </td><td>first coordinate of base pair </td></tr>
261 <tr><td valign="top"></td><td valign="top"><em>m2</em> </td><td>second coordinate of base pair </td></tr>
265 <dl class="return"><dt><b>Returns:</b></dt><dd>energy change of the move in kcal/mol </dd></dl>
269 <a class="anchor" id="a49e0ee561be69faf0568213546f6a53f"></a><!-- doxytag: member="fold.h::energy_of_move_pt" ref="a49e0ee561be69faf0568213546f6a53f" args="(short *pt, short *s, short *s1, int m1, int m2)" -->
270 <div class="memitem">
271 <div class="memproto">
272 <table class="memname">
274 <td class="memname">int energy_of_move_pt </td>
276 <td class="paramtype">short * </td>
277 <td class="paramname"> <em>pt</em>, </td>
280 <td class="paramkey"></td>
282 <td class="paramtype">short * </td>
283 <td class="paramname"> <em>s</em>, </td>
286 <td class="paramkey"></td>
288 <td class="paramtype">short * </td>
289 <td class="paramname"> <em>s1</em>, </td>
292 <td class="paramkey"></td>
294 <td class="paramtype">int </td>
295 <td class="paramname"> <em>m1</em>, </td>
298 <td class="paramkey"></td>
300 <td class="paramtype">int </td>
301 <td class="paramname"> <em>m2</em></td><td> </td>
306 <td></td><td></td><td></td>
312 <p>Calculate energy of a move (closing or opening of a base pair). </p>
313 <p>If the parameters m1 and m2 are negative, it is deletion (opening) of a base pair, otherwise it is insertion (opening).</p>
314 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="utils_8h.html#a89c32307ee50a0026f4a3131fac0845a" title="Create a pair table of a secondary structure.">make_pair_table()</a>, <a class="el" href="fold_8h.html#a539ecaed89730f7644c202f304d7529b" title="Calculate energy of a move (closing or opening of a base pair).">energy_of_move()</a> </dd></dl>
315 <dl><dt><b>Parameters:</b></dt><dd>
316 <table border="0" cellspacing="2" cellpadding="0">
317 <tr><td valign="top"></td><td valign="top"><em>pt</em> </td><td>the pair table of the secondary structure </td></tr>
318 <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>encoded RNA sequence </td></tr>
319 <tr><td valign="top"></td><td valign="top"><em>s1</em> </td><td>encoded RNA sequence </td></tr>
320 <tr><td valign="top"></td><td valign="top"><em>m1</em> </td><td>first coordinate of base pair </td></tr>
321 <tr><td valign="top"></td><td valign="top"><em>m2</em> </td><td>second coordinate of base pair </td></tr>
325 <dl class="return"><dt><b>Returns:</b></dt><dd>energy change of the move in 10cal/mol </dd></dl>
329 <a class="anchor" id="a507d4fd93f4b398d793ba2402731388d"></a><!-- doxytag: member="fold.h::loop_energy" ref="a507d4fd93f4b398d793ba2402731388d" args="(short *ptable, short *s, short *s1, int i)" -->
330 <div class="memitem">
331 <div class="memproto">
332 <table class="memname">
334 <td class="memname">int loop_energy </td>
336 <td class="paramtype">short * </td>
337 <td class="paramname"> <em>ptable</em>, </td>
340 <td class="paramkey"></td>
342 <td class="paramtype">short * </td>
343 <td class="paramname"> <em>s</em>, </td>
346 <td class="paramkey"></td>
348 <td class="paramtype">short * </td>
349 <td class="paramname"> <em>s1</em>, </td>
352 <td class="paramkey"></td>
354 <td class="paramtype">int </td>
355 <td class="paramname"> <em>i</em></td><td> </td>
360 <td></td><td></td><td></td>
366 <p>Calculate energy of a loop. </p>
367 <dl><dt><b>Parameters:</b></dt><dd>
368 <table border="0" cellspacing="2" cellpadding="0">
369 <tr><td valign="top"></td><td valign="top"><em>ptable</em> </td><td>the pair table of the secondary structure </td></tr>
370 <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>encoded RNA sequence </td></tr>
371 <tr><td valign="top"></td><td valign="top"><em>s1</em> </td><td>encoded RNA sequence </td></tr>
372 <tr><td valign="top"></td><td valign="top"><em>i</em> </td><td>position of covering base pair </td></tr>
376 <dl class="return"><dt><b>Returns:</b></dt><dd>free energy of the loop in 10cal/mol </dd></dl>
380 <a class="anchor" id="adaa59b81664e2e36cb9932e891558fae"></a><!-- doxytag: member="fold.h::assign_plist_from_db" ref="adaa59b81664e2e36cb9932e891558fae" args="(plist **pl, const char *struc, float pr)" -->
381 <div class="memitem">
382 <div class="memproto">
383 <table class="memname">
385 <td class="memname">void assign_plist_from_db </td>
387 <td class="paramtype"><a class="el" href="structplist.html">plist</a> ** </td>
388 <td class="paramname"> <em>pl</em>, </td>
391 <td class="paramkey"></td>
393 <td class="paramtype">const char * </td>
394 <td class="paramname"> <em>struc</em>, </td>
397 <td class="paramkey"></td>
399 <td class="paramtype">float </td>
400 <td class="paramname"> <em>pr</em></td><td> </td>
405 <td></td><td></td><td></td>
411 <p>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 dot-bracket string. </p>
412 <p>The dot-bracket string is parsed and for each base pair an entry in the <a class="el" href="structplist.html" title="this datastructure is used as input parameter in functions of PS_dot.h and others...">plist</a> is created. The probability of each pair in the list is set by a function parameter.</p>
413 <p>The end of the <a class="el" href="structplist.html" title="this datastructure is used as input parameter in functions of PS_dot.h and others...">plist</a> 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>
414 <p>This function is threadsafe</p>
415 <dl><dt><b>Parameters:</b></dt><dd>
416 <table border="0" cellspacing="2" cellpadding="0">
417 <tr><td valign="top"></td><td valign="top"><em>pl</em> </td><td>A pointer to the <a class="el" href="structplist.html" title="this datastructure is used as input parameter in functions of PS_dot.h and others...">plist</a> that is to be created </td></tr>
418 <tr><td valign="top"></td><td valign="top"><em>struc</em> </td><td>The secondary structure in dot-bracket notation </td></tr>
419 <tr><td valign="top"></td><td valign="top"><em>pr</em> </td><td>The probability for each base pair </td></tr>
426 <a class="anchor" id="a2163034a25c6115d894b199e97e03f6c"></a><!-- doxytag: member="fold.h::LoopEnergy" ref="a2163034a25c6115d894b199e97e03f6c" args="(int n1, int n2, int type, int type_2, int si1, int sj1, int sp1, int sq1)" -->
427 <div class="memitem">
428 <div class="memproto">
429 <table class="memname">
431 <td class="memname">int LoopEnergy </td>
433 <td class="paramtype">int </td>
434 <td class="paramname"> <em>n1</em>, </td>
437 <td class="paramkey"></td>
439 <td class="paramtype">int </td>
440 <td class="paramname"> <em>n2</em>, </td>
443 <td class="paramkey"></td>
445 <td class="paramtype">int </td>
446 <td class="paramname"> <em>type</em>, </td>
449 <td class="paramkey"></td>
451 <td class="paramtype">int </td>
452 <td class="paramname"> <em>type_2</em>, </td>
455 <td class="paramkey"></td>
457 <td class="paramtype">int </td>
458 <td class="paramname"> <em>si1</em>, </td>
461 <td class="paramkey"></td>
463 <td class="paramtype">int </td>
464 <td class="paramname"> <em>sj1</em>, </td>
467 <td class="paramkey"></td>
469 <td class="paramtype">int </td>
470 <td class="paramname"> <em>sp1</em>, </td>
473 <td class="paramkey"></td>
475 <td class="paramtype">int </td>
476 <td class="paramname"> <em>sq1</em></td><td> </td>
481 <td></td><td></td><td></td>
486 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>{This function is deprecated and will be removed soon. Use <a class="el" href="loop__energies_8h.html#a3e5ad89f451254b1fe366d77aa8ff7bd">E_IntLoop()</a> instead!} </dd></dl>
490 <a class="anchor" id="ab327ce11972f5ac069d52c8dedfdb700"></a><!-- doxytag: member="fold.h::HairpinE" ref="ab327ce11972f5ac069d52c8dedfdb700" args="(int size, int type, int si1, int sj1, const char *string)" -->
491 <div class="memitem">
492 <div class="memproto">
493 <table class="memname">
495 <td class="memname">int HairpinE </td>
497 <td class="paramtype">int </td>
498 <td class="paramname"> <em>size</em>, </td>
501 <td class="paramkey"></td>
503 <td class="paramtype">int </td>
504 <td class="paramname"> <em>type</em>, </td>
507 <td class="paramkey"></td>
509 <td class="paramtype">int </td>
510 <td class="paramname"> <em>si1</em>, </td>
513 <td class="paramkey"></td>
515 <td class="paramtype">int </td>
516 <td class="paramname"> <em>sj1</em>, </td>
519 <td class="paramkey"></td>
521 <td class="paramtype">const char * </td>
522 <td class="paramname"> <em>string</em></td><td> </td>
527 <td></td><td></td><td></td>
532 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>{This function is deprecated and will be removed soon. Use <a class="el" href="loop__energies_8h.html#aa362183cf6db89a10cdb0f5c4bd180c6">E_Hairpin()</a> instead!} </dd></dl>
536 <a class="anchor" id="ac3f0a28d9cb609d388b155445073fd20"></a><!-- doxytag: member="fold.h::initialize_fold" ref="ac3f0a28d9cb609d388b155445073fd20" args="(int length)" -->
537 <div class="memitem">
538 <div class="memproto">
539 <table class="memname">
541 <td class="memname">void initialize_fold </td>
543 <td class="paramtype">int </td>
544 <td class="paramname"> <em>length</em></td>
545 <td> ) </td>
551 <p>Allocate arrays for folding<br/>
553 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>{This function is deprecated and will be removed soon!}</dd></dl>
557 <a class="anchor" id="ac2b37fea2145c94d925a3f33378ef87b"></a><!-- doxytag: member="fold.h::energy_of_struct" ref="ac2b37fea2145c94d925a3f33378ef87b" args="(const char *string, const char *structure)" -->
558 <div class="memitem">
559 <div class="memproto">
560 <table class="memname">
562 <td class="memname">float energy_of_struct </td>
564 <td class="paramtype">const char * </td>
565 <td class="paramname"> <em>string</em>, </td>
568 <td class="paramkey"></td>
570 <td class="paramtype">const char * </td>
571 <td class="paramname"> <em>structure</em></td><td> </td>
576 <td></td><td></td><td></td>
581 <p>Calculate the free energy of an already folded RNA</p>
582 <dl class="note"><dt><b>Note:</b></dt><dd>This function is not entirely threadsafe! Depending on the state of the global variable <a class="el" href="group__eval.html#ga567530678f6260a1a649a5beca5da4c5">eos_debug</a> it prints energy information to stdout or not...<br/>
584 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000005">Deprecated:</a></b></dt><dd>This function is deprecated and should not be used in future programs! Use <a class="el" href="group__eval.html#gaf93986cb3cb29770ec9cca69c9fab8cf">energy_of_structure()</a> instead!</dd></dl>
585 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__eval.html#gaf93986cb3cb29770ec9cca69c9fab8cf" title="Calculate the free energy of an already folded RNA using global model detail settings...">energy_of_structure</a>, <a class="el" href="fold_8h.html#a657222e2758c46bf13b416ef3032e417">energy_of_circ_struct()</a>, <a class="el" href="fold_8h.html#a27ce6f68512d43bf1fe14a06c9d76d5c">energy_of_struct_pt()</a> </dd></dl>
586 <dl><dt><b>Parameters:</b></dt><dd>
587 <table border="0" cellspacing="2" cellpadding="0">
588 <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>RNA sequence </td></tr>
589 <tr><td valign="top"></td><td valign="top"><em>structure</em> </td><td>secondary structure in dot-bracket notation </td></tr>
593 <dl class="return"><dt><b>Returns:</b></dt><dd>the free energy of the input structure given the input sequence in kcal/mol </dd></dl>
597 <a class="anchor" id="a27ce6f68512d43bf1fe14a06c9d76d5c"></a><!-- doxytag: member="fold.h::energy_of_struct_pt" ref="a27ce6f68512d43bf1fe14a06c9d76d5c" args="(const char *string, short *ptable, short *s, short *s1)" -->
598 <div class="memitem">
599 <div class="memproto">
600 <table class="memname">
602 <td class="memname">int energy_of_struct_pt </td>
604 <td class="paramtype">const char * </td>
605 <td class="paramname"> <em>string</em>, </td>
608 <td class="paramkey"></td>
610 <td class="paramtype">short * </td>
611 <td class="paramname"> <em>ptable</em>, </td>
614 <td class="paramkey"></td>
616 <td class="paramtype">short * </td>
617 <td class="paramname"> <em>s</em>, </td>
620 <td class="paramkey"></td>
622 <td class="paramtype">short * </td>
623 <td class="paramname"> <em>s1</em></td><td> </td>
628 <td></td><td></td><td></td>
633 <p>Calculate the free energy of an already folded RNA</p>
634 <dl class="note"><dt><b>Note:</b></dt><dd>This function is not entirely threadsafe! Depending on the state of the global variable <a class="el" href="group__eval.html#ga567530678f6260a1a649a5beca5da4c5">eos_debug</a> it prints energy information to stdout or not...<br/>
636 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000006">Deprecated:</a></b></dt><dd>This function is deprecated and should not be used in future programs! Use <a class="el" href="group__eval.html#ga8831445966b761417e713360791299d8">energy_of_structure_pt()</a> instead!</dd></dl>
637 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="utils_8h.html#a89c32307ee50a0026f4a3131fac0845a" title="Create a pair table of a secondary structure.">make_pair_table()</a>, <a class="el" href="group__eval.html#gaf93986cb3cb29770ec9cca69c9fab8cf" title="Calculate the free energy of an already folded RNA using global model detail settings...">energy_of_structure()</a> </dd></dl>
638 <dl><dt><b>Parameters:</b></dt><dd>
639 <table border="0" cellspacing="2" cellpadding="0">
640 <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>RNA sequence </td></tr>
641 <tr><td valign="top"></td><td valign="top"><em>ptable</em> </td><td>the pair table of the secondary structure </td></tr>
642 <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>encoded RNA sequence </td></tr>
643 <tr><td valign="top"></td><td valign="top"><em>s1</em> </td><td>encoded RNA sequence </td></tr>
647 <dl class="return"><dt><b>Returns:</b></dt><dd>the free energy of the input structure given the input sequence in 10kcal/mol </dd></dl>
651 <a class="anchor" id="a657222e2758c46bf13b416ef3032e417"></a><!-- doxytag: member="fold.h::energy_of_circ_struct" ref="a657222e2758c46bf13b416ef3032e417" args="(const char *string, const char *structure)" -->
652 <div class="memitem">
653 <div class="memproto">
654 <table class="memname">
656 <td class="memname">float energy_of_circ_struct </td>
658 <td class="paramtype">const char * </td>
659 <td class="paramname"> <em>string</em>, </td>
662 <td class="paramkey"></td>
664 <td class="paramtype">const char * </td>
665 <td class="paramname"> <em>structure</em></td><td> </td>
670 <td></td><td></td><td></td>
675 <p>Calculate the free energy of an already folded circular RNA</p>
676 <dl class="note"><dt><b>Note:</b></dt><dd>This function is not entirely threadsafe! Depending on the state of the global variable <a class="el" href="group__eval.html#ga567530678f6260a1a649a5beca5da4c5">eos_debug</a> it prints energy information to stdout or not...<br/>
678 <dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000007">Deprecated:</a></b></dt><dd>This function is deprecated and should not be used in future programs Use <a class="el" href="group__eval.html#gaeb14f3664aec67fc03268ac75253f0f8">energy_of_circ_structure()</a> instead!</dd></dl>
679 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__eval.html#gaeb14f3664aec67fc03268ac75253f0f8" title="Calculate the free energy of an already folded circular RNA.">energy_of_circ_structure()</a>, <a class="el" href="fold_8h.html#ac2b37fea2145c94d925a3f33378ef87b">energy_of_struct()</a>, <a class="el" href="fold_8h.html#a27ce6f68512d43bf1fe14a06c9d76d5c">energy_of_struct_pt()</a> </dd></dl>
680 <dl><dt><b>Parameters:</b></dt><dd>
681 <table border="0" cellspacing="2" cellpadding="0">
682 <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>RNA sequence </td></tr>
683 <tr><td valign="top"></td><td valign="top"><em>structure</em> </td><td>secondary structure in dot-bracket notation </td></tr>
687 <dl class="return"><dt><b>Returns:</b></dt><dd>the free energy of the input structure given the input sequence in kcal/mol </dd></dl>
692 <hr size="1"/><address style="text-align: right;"><small>Generated on 11 Apr 2017 for RNAlib-2.1.2 by
693 <a href="http://www.doxygen.org/index.html">
694 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>