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/plot_layouts.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/plot_layouts.h File Reference</h1>
71 <p>Secondary structure plot layout algorithms.
72 <a href="#_details">More...</a></p>
73 <div class="dynheader">
74 Include dependency graph for plot_layouts.h:</div>
75 <div class="dynsection">
76 <div class="center"><img src="plot__layouts_8h__incl.png" border="0" usemap="#_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2plot__layouts_8h_map" alt=""/></div>
77 <map name="_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2plot__layouts_8h_map" id="_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2plot__layouts_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="148,86,271,117"/><area shape="rect" id="node9" href="naview_8h.html" title="naview.h" alt="" coords="295,86,369,117"/><area shape="rect" id="node5" href="energy__const_8h.html" title="energy_const.h" alt="" coords="153,166,265,197"/></map>
80 <div class="dynheader">
81 This graph shows which files directly or indirectly include this file:</div>
82 <div class="dynsection">
83 <div class="center"><img src="plot__layouts_8h__dep__incl.png" border="0" usemap="#_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2plot__layouts_8hdep_map" alt=""/></div>
84 <map name="_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2plot__layouts_8hdep_map" id="_2homes_2fmmarquesmadeira_2Projects_2jabaws_2binaries_2src_2ViennaRNA_2H_2plot__layouts_8hdep">
85 <area shape="rect" id="node3" href="PS__dot_8h.html" title="Various functions for plotting RNA secondary structures, dot-plots and other visualizations..." alt="" coords="19,86,523,117"/></map>
88 <p><a href="plot__layouts_8h_source.html">Go to the source code of this file.</a></p>
89 <table border="0" cellpadding="0" cellspacing="0">
90 <tr><td colspan="2"><h2>Defines</h2></td></tr>
91 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="plot__layouts_8h.html#ae6d17b9f0a53cf5205a9181e0f8422e9">VRNA_PLOT_TYPE_SIMPLE</a> 0</td></tr>
92 <tr><td class="mdescLeft"> </td><td class="mdescRight">Definition of Plot type <em>simple</em>. <a href="#ae6d17b9f0a53cf5205a9181e0f8422e9"></a><br/></td></tr>
93 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="plot__layouts_8h.html#a94d4c863ecac2f220f76658afb92f964">VRNA_PLOT_TYPE_NAVIEW</a> 1</td></tr>
94 <tr><td class="mdescLeft"> </td><td class="mdescRight">Definition of Plot type <em>Naview</em>. <a href="#a94d4c863ecac2f220f76658afb92f964"></a><br/></td></tr>
95 <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="plot__layouts_8h.html#a8c9eac631348da92136c8363ecdd9fb9">VRNA_PLOT_TYPE_CIRCULAR</a> 2</td></tr>
96 <tr><td class="mdescLeft"> </td><td class="mdescRight">Definition of Plot type <em>Circular</em>. <a href="#a8c9eac631348da92136c8363ecdd9fb9"></a><br/></td></tr>
97 <tr><td colspan="2"><h2>Functions</h2></td></tr>
98 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="plot__layouts_8h.html#af4b9173e7d3fd361c3c85e6def194123">simple_xy_coordinates</a> (short *pair_table, float *X, float *Y)</td></tr>
99 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate nucleotide coordinates for secondary structure plot the <em>Simple way</em>. <a href="#af4b9173e7d3fd361c3c85e6def194123"></a><br/></td></tr>
100 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="plot__layouts_8h.html#ac4ea13d35308f09940178d2b05a248c2">simple_circplot_coordinates</a> (short *pair_table, float *x, float *y)</td></tr>
101 <tr><td class="mdescLeft"> </td><td class="mdescRight">Calculate nucleotide coordinates for <em>Circular Plot</em>. <a href="#ac4ea13d35308f09940178d2b05a248c2"></a><br/></td></tr>
102 <tr><td colspan="2"><h2>Variables</h2></td></tr>
103 <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="plot__layouts_8h.html#a5964c4581431b098b80027d6e14dcdd4">rna_plot_type</a></td></tr>
104 <tr><td class="mdescLeft"> </td><td class="mdescRight">Switch for changing the secondary structure layout algorithm. <a href="#a5964c4581431b098b80027d6e14dcdd4"></a><br/></td></tr>
106 <hr/><a name="_details"></a><h2>Detailed Description</h2>
107 <p>Secondary structure plot layout algorithms. </p>
108 <p>c Ronny Lorenz The ViennaRNA Package </p>
109 <hr/><h2>Define Documentation</h2>
110 <a class="anchor" id="ae6d17b9f0a53cf5205a9181e0f8422e9"></a><!-- doxytag: member="plot_layouts.h::VRNA_PLOT_TYPE_SIMPLE" ref="ae6d17b9f0a53cf5205a9181e0f8422e9" args="" -->
111 <div class="memitem">
112 <div class="memproto">
113 <table class="memname">
115 <td class="memname">#define VRNA_PLOT_TYPE_SIMPLE 0</td>
121 <p>Definition of Plot type <em>simple</em>. </p>
122 <p>This is the plot type definition for several RNA structure plotting functions telling them to use <b>Simple</b> plotting algorithm</p>
123 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="plot__layouts_8h.html#a5964c4581431b098b80027d6e14dcdd4" title="Switch for changing the secondary structure layout algorithm.">rna_plot_type</a>, <a class="el" href="PS__dot_8h.html#a47856b2504b566588785597b6ebb8271" title="Produce a secondary structure graph in PostScript including additional annotation...">PS_rna_plot_a()</a>, <a class="el" href="PS__dot_8h.html#a0873c7cc4cd7a11c9a2cea19dde7e9c9" title="Produce a secondary structure graph in PostScript and write it to 'filename'...">PS_rna_plot()</a>, <a class="el" href="PS__dot_8h.html#ae7853539b5df98f294b4af434e979304" title="Produce a secondary structure plot in SVG format and write it to a file.">svg_rna_plot()</a>, <a class="el" href="PS__dot_8h.html#a70834bc8c0aad4fe6824ff76ccb8f329" title="Produce a secondary structure graph in Graph Meta Language (gml) and write it to...">gmlRNA()</a>, <a class="el" href="PS__dot_8h.html#add368528755f9a830727b680243541df" title="Produce a secondary structure graph in SStructView format.">ssv_rna_plot()</a>, <a class="el" href="PS__dot_8h.html#a2f6d5953e6a323df898896b8d6614483" title="Produce a secondary structure plot for further editing in XRNA.">xrna_plot()</a> </dd></dl>
127 <a class="anchor" id="a94d4c863ecac2f220f76658afb92f964"></a><!-- doxytag: member="plot_layouts.h::VRNA_PLOT_TYPE_NAVIEW" ref="a94d4c863ecac2f220f76658afb92f964" args="" -->
128 <div class="memitem">
129 <div class="memproto">
130 <table class="memname">
132 <td class="memname">#define VRNA_PLOT_TYPE_NAVIEW 1</td>
138 <p>Definition of Plot type <em>Naview</em>. </p>
139 <p>This is the plot type definition for several RNA structure plotting functions telling them to use <b>Naview</b> plotting algorithm</p>
140 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="plot__layouts_8h.html#a5964c4581431b098b80027d6e14dcdd4" title="Switch for changing the secondary structure layout algorithm.">rna_plot_type</a>, <a class="el" href="PS__dot_8h.html#a47856b2504b566588785597b6ebb8271" title="Produce a secondary structure graph in PostScript including additional annotation...">PS_rna_plot_a()</a>, <a class="el" href="PS__dot_8h.html#a0873c7cc4cd7a11c9a2cea19dde7e9c9" title="Produce a secondary structure graph in PostScript and write it to 'filename'...">PS_rna_plot()</a>, <a class="el" href="PS__dot_8h.html#ae7853539b5df98f294b4af434e979304" title="Produce a secondary structure plot in SVG format and write it to a file.">svg_rna_plot()</a>, <a class="el" href="PS__dot_8h.html#a70834bc8c0aad4fe6824ff76ccb8f329" title="Produce a secondary structure graph in Graph Meta Language (gml) and write it to...">gmlRNA()</a>, <a class="el" href="PS__dot_8h.html#add368528755f9a830727b680243541df" title="Produce a secondary structure graph in SStructView format.">ssv_rna_plot()</a>, <a class="el" href="PS__dot_8h.html#a2f6d5953e6a323df898896b8d6614483" title="Produce a secondary structure plot for further editing in XRNA.">xrna_plot()</a> </dd></dl>
144 <a class="anchor" id="a8c9eac631348da92136c8363ecdd9fb9"></a><!-- doxytag: member="plot_layouts.h::VRNA_PLOT_TYPE_CIRCULAR" ref="a8c9eac631348da92136c8363ecdd9fb9" args="" -->
145 <div class="memitem">
146 <div class="memproto">
147 <table class="memname">
149 <td class="memname">#define VRNA_PLOT_TYPE_CIRCULAR 2</td>
155 <p>Definition of Plot type <em>Circular</em>. </p>
156 <p>This is the plot type definition for several RNA structure plotting functions telling them to produce a <b>Circular plot</b></p>
157 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="plot__layouts_8h.html#a5964c4581431b098b80027d6e14dcdd4" title="Switch for changing the secondary structure layout algorithm.">rna_plot_type</a>, <a class="el" href="PS__dot_8h.html#a47856b2504b566588785597b6ebb8271" title="Produce a secondary structure graph in PostScript including additional annotation...">PS_rna_plot_a()</a>, <a class="el" href="PS__dot_8h.html#a0873c7cc4cd7a11c9a2cea19dde7e9c9" title="Produce a secondary structure graph in PostScript and write it to 'filename'...">PS_rna_plot()</a>, <a class="el" href="PS__dot_8h.html#ae7853539b5df98f294b4af434e979304" title="Produce a secondary structure plot in SVG format and write it to a file.">svg_rna_plot()</a>, <a class="el" href="PS__dot_8h.html#a70834bc8c0aad4fe6824ff76ccb8f329" title="Produce a secondary structure graph in Graph Meta Language (gml) and write it to...">gmlRNA()</a>, <a class="el" href="PS__dot_8h.html#add368528755f9a830727b680243541df" title="Produce a secondary structure graph in SStructView format.">ssv_rna_plot()</a>, <a class="el" href="PS__dot_8h.html#a2f6d5953e6a323df898896b8d6614483" title="Produce a secondary structure plot for further editing in XRNA.">xrna_plot()</a> </dd></dl>
161 <hr/><h2>Function Documentation</h2>
162 <a class="anchor" id="af4b9173e7d3fd361c3c85e6def194123"></a><!-- doxytag: member="plot_layouts.h::simple_xy_coordinates" ref="af4b9173e7d3fd361c3c85e6def194123" args="(short *pair_table, float *X, float *Y)" -->
163 <div class="memitem">
164 <div class="memproto">
165 <table class="memname">
167 <td class="memname">int simple_xy_coordinates </td>
169 <td class="paramtype">short * </td>
170 <td class="paramname"> <em>pair_table</em>, </td>
173 <td class="paramkey"></td>
175 <td class="paramtype">float * </td>
176 <td class="paramname"> <em>X</em>, </td>
179 <td class="paramkey"></td>
181 <td class="paramtype">float * </td>
182 <td class="paramname"> <em>Y</em></td><td> </td>
187 <td></td><td></td><td></td>
193 <p>Calculate nucleotide coordinates for secondary structure plot the <em>Simple way</em>. </p>
194 <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="plot__layouts_8h.html#a5964c4581431b098b80027d6e14dcdd4" title="Switch for changing the secondary structure layout algorithm.">rna_plot_type</a>, <a class="el" href="plot__layouts_8h.html#ac4ea13d35308f09940178d2b05a248c2" title="Calculate nucleotide coordinates for Circular Plot.">simple_circplot_coordinates()</a>, naview_xy_coordinates(), <a class="el" href="PS__dot_8h.html#a47856b2504b566588785597b6ebb8271" title="Produce a secondary structure graph in PostScript including additional annotation...">PS_rna_plot_a()</a>, <a class="el" href="PS__dot_8h.html#a0873c7cc4cd7a11c9a2cea19dde7e9c9" title="Produce a secondary structure graph in PostScript and write it to 'filename'...">PS_rna_plot</a>, <a class="el" href="PS__dot_8h.html#ae7853539b5df98f294b4af434e979304" title="Produce a secondary structure plot in SVG format and write it to a file.">svg_rna_plot()</a></dd></dl>
195 <dl><dt><b>Parameters:</b></dt><dd>
196 <table border="0" cellspacing="2" cellpadding="0">
197 <tr><td valign="top"></td><td valign="top"><em>pair_table</em> </td><td>The pair table of the secondary structure </td></tr>
198 <tr><td valign="top"></td><td valign="top"><em>X</em> </td><td>a pointer to an array with enough allocated space to hold the x coordinates </td></tr>
199 <tr><td valign="top"></td><td valign="top"><em>Y</em> </td><td>a pointer to an array with enough allocated space to hold the y coordinates </td></tr>
203 <dl class="return"><dt><b>Returns:</b></dt><dd>length of sequence on success, 0 otherwise </dd></dl>
207 <a class="anchor" id="ac4ea13d35308f09940178d2b05a248c2"></a><!-- doxytag: member="plot_layouts.h::simple_circplot_coordinates" ref="ac4ea13d35308f09940178d2b05a248c2" args="(short *pair_table, float *x, float *y)" -->
208 <div class="memitem">
209 <div class="memproto">
210 <table class="memname">
212 <td class="memname">int simple_circplot_coordinates </td>
214 <td class="paramtype">short * </td>
215 <td class="paramname"> <em>pair_table</em>, </td>
218 <td class="paramkey"></td>
220 <td class="paramtype">float * </td>
221 <td class="paramname"> <em>x</em>, </td>
224 <td class="paramkey"></td>
226 <td class="paramtype">float * </td>
227 <td class="paramname"> <em>y</em></td><td> </td>
232 <td></td><td></td><td></td>
238 <p>Calculate nucleotide coordinates for <em>Circular Plot</em>. </p>
239 <p>This function calculates the coordinates of nucleotides mapped in equal distancies onto a unit circle.</p>
240 <dl class="note"><dt><b>Note:</b></dt><dd>In order to draw nice arcs using quadratic bezier curves that connect base pairs one may calculate a second tangential point <img class="formulaInl" alt="$P^t$" src="form_25.png"/> in addition to the actual R<sup>2</sup> coordinates. the simplest way to do so may be to compute a radius scaling factor <img class="formulaInl" alt="$rs$" src="form_26.png"/> in the interval <img class="formulaInl" alt="$[0,1]$" src="form_27.png"/> that weights the proportion of base pair span to the actual length of the sequence. This scaling factor can then be used to calculate the coordinates for <img class="formulaInl" alt="$P^t$" src="form_25.png"/>, i.e. <img class="formulaInl" alt="$ P^{t}_x[i] = X[i] * rs$" src="form_28.png"/> and <img class="formulaInl" alt="$P^{t}_y[i] = Y[i] * rs$" src="form_29.png"/>.</dd></dl>
241 <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="plot__layouts_8h.html#a5964c4581431b098b80027d6e14dcdd4" title="Switch for changing the secondary structure layout algorithm.">rna_plot_type</a>, <a class="el" href="plot__layouts_8h.html#af4b9173e7d3fd361c3c85e6def194123" title="Calculate nucleotide coordinates for secondary structure plot the Simple way.">simple_xy_coordinates()</a>, naview_xy_coordinates(), <a class="el" href="PS__dot_8h.html#a47856b2504b566588785597b6ebb8271" title="Produce a secondary structure graph in PostScript including additional annotation...">PS_rna_plot_a()</a>, <a class="el" href="PS__dot_8h.html#a0873c7cc4cd7a11c9a2cea19dde7e9c9" title="Produce a secondary structure graph in PostScript and write it to 'filename'...">PS_rna_plot</a>, <a class="el" href="PS__dot_8h.html#ae7853539b5df98f294b4af434e979304" title="Produce a secondary structure plot in SVG format and write it to a file.">svg_rna_plot()</a></dd></dl>
242 <dl><dt><b>Parameters:</b></dt><dd>
243 <table border="0" cellspacing="2" cellpadding="0">
244 <tr><td valign="top"></td><td valign="top"><em>pair_table</em> </td><td>The pair table of the secondary structure </td></tr>
245 <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>a pointer to an array with enough allocated space to hold the x coordinates </td></tr>
246 <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>a pointer to an array with enough allocated space to hold the y coordinates </td></tr>
250 <dl class="return"><dt><b>Returns:</b></dt><dd>length of sequence on success, 0 otherwise </dd></dl>
254 <hr/><h2>Variable Documentation</h2>
255 <a class="anchor" id="a5964c4581431b098b80027d6e14dcdd4"></a><!-- doxytag: member="plot_layouts.h::rna_plot_type" ref="a5964c4581431b098b80027d6e14dcdd4" args="" -->
256 <div class="memitem">
257 <div class="memproto">
258 <table class="memname">
260 <td class="memname">int <a class="el" href="plot__layouts_8h.html#a5964c4581431b098b80027d6e14dcdd4">rna_plot_type</a></td>
266 <p>Switch for changing the secondary structure layout algorithm. </p>
267 <p>Current possibility are 0 for a simple radial drawing or 1 for the modified radial drawing taken from the <em>naview</em> program of Bruccoleri & Heinrich (1988).</p>
268 <dl class="note"><dt><b>Note:</b></dt><dd>To provide thread safety please do not rely on this global variable in future implementations but pass a plot type flag directly to the function that decides which layout algorithm it may use!</dd></dl>
269 <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="plot__layouts_8h.html#ae6d17b9f0a53cf5205a9181e0f8422e9" title="Definition of Plot type simple.">VRNA_PLOT_TYPE_SIMPLE</a>, <a class="el" href="plot__layouts_8h.html#a94d4c863ecac2f220f76658afb92f964" title="Definition of Plot type Naview.">VRNA_PLOT_TYPE_NAVIEW</a>, <a class="el" href="plot__layouts_8h.html#a8c9eac631348da92136c8363ecdd9fb9" title="Definition of Plot type Circular.">VRNA_PLOT_TYPE_CIRCULAR</a> </dd></dl>
274 <hr size="1"/><address style="text-align: right;"><small>Generated on 11 Apr 2017 for RNAlib-2.1.2 by
275 <a href="http://www.doxygen.org/index.html">
276 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>