RNAlib-2.4.14
layouts.h
Go to the documentation of this file.
1 #ifndef VIENNA_RNA_PACKAGE_PLOT_LAYOUTS_H
2 #define VIENNA_RNA_PACKAGE_PLOT_LAYOUTS_H
3 
4 #ifdef VRNA_WARN_DEPRECATED
5 # if defined(__clang__)
6 # define DEPRECATED(func, msg) func __attribute__ ((deprecated("", msg)))
7 # elif defined(__GNUC__)
8 # define DEPRECATED(func, msg) func __attribute__ ((deprecated(msg)))
9 # else
10 # define DEPRECATED(func, msg) func
11 # endif
12 #else
13 # define DEPRECATED(func, msg) func
14 #endif
15 
26 
27 
43 
44 
53 #define VRNA_PLOT_TYPE_SIMPLE 0
54 
63 #define VRNA_PLOT_TYPE_NAVIEW 1
64 
73 #define VRNA_PLOT_TYPE_CIRCULAR 2
74 
79 #define VRNA_PLOT_TYPE_TURTLE 3
80 
85 #define VRNA_PLOT_TYPE_PUZZLER 4
86 
87 
89  unsigned int length;
90  float *x;
91  float *y;
92  double *arcs;
93  int bbox[4];
94 };
95 
96 
124 vrna_plot_layout(const char *structure,
125  unsigned int plot_type);
126 
127 
144 vrna_plot_layout_simple(const char *structure);
145 
146 
163 vrna_plot_layout_naview(const char *structure);
164 
165 
182 vrna_plot_layout_circular(const char *structure);
183 
184 
201 vrna_plot_layout_turtle(const char *structure);
202 
203 
220 vrna_plot_layout_puzzler(const char *structure,
221  vrna_plot_options_puzzler_t *options);
222 
223 
233 void
235 
236 
280 int
281 vrna_plot_coords(const char *structure,
282  float **x,
283  float **y,
284  int plot_type);
285 
286 
306 int
307 vrna_plot_coords_pt(const short *pt,
308  float **x,
309  float **y,
310  int plot_type);
311 
312 
345 int
346 vrna_plot_coords_simple(const char *structure,
347  float **x,
348  float **y);
349 
350 
369 int
370 vrna_plot_coords_simple_pt(const short *pt,
371  float **x,
372  float **y);
373 
374 
405 int
406 vrna_plot_coords_circular(const char *structure,
407  float **x,
408  float **y);
409 
410 
429 int
430 vrna_plot_coords_circular_pt(const short *pt,
431  float **x,
432  float **y);
433 
434 
440 #ifndef VRNA_DISABLE_BACKWARD_COMPATIBILITY
441 
452 typedef struct {
453  float X; /* X coords */
454  float Y; /* Y coords */
455 } COORDINATE;
456 
457 
470 extern int rna_plot_type;
471 
472 
486 DEPRECATED(int
487  simple_xy_coordinates(short *pair_table,
488  float *X,
489  float *Y),
490  "Use vrna_plot_coords_simple_pt() instead!");
491 
492 
515 DEPRECATED(int
516  simple_circplot_coordinates(short *pair_table,
517  float *x,
518  float *y),
519  "Use vrna_plot_coords_circular_pt() instead!");
520 
521 
526 #endif
527 
528 
529 #endif
vrna_plot_layout_t * vrna_plot_layout_naview(const char *structure)
Create a layout (coordinates, etc.) for a secondary structure plot using the Naview Algorithm ...
this is a workarround for the SWIG Perl Wrapper RNA plot function that returns an array of type COORD...
Definition: layouts.h:452
int vrna_plot_coords_pt(const short *pt, float **x, float **y, int plot_type)
Compute nucleotide coordinates for secondary structure plot.
Implementation of the RNAturtle RNA secondary structure layout algorithm .
int vrna_plot_coords_simple(const char *structure, float **x, float **y)
Compute nucleotide coordinates for secondary structure plot the Simple way
int vrna_plot_coords_simple_pt(const short *pt, float **x, float **y)
Compute nucleotide coordinates for secondary structure plot the Simple way
Implementation of the RNApuzzler RNA secondary structure layout algorithm .
vrna_plot_layout_t * vrna_plot_layout(const char *structure, unsigned int plot_type)
Create a layout (coordinates, etc.) for a secondary structure plot.
vrna_plot_layout_t * vrna_plot_layout_circular(const char *structure)
Create a layout (coordinates, etc.) for a circular secondary structure plot.
Implementation of the Naview RNA secondary structure layout algorithm .
Various data structures and pre-processor macros.
int vrna_plot_coords_circular(const char *structure, float **x, float **y)
Compute coordinates of nucleotides mapped in equal distancies onto a unit circle. ...
int simple_circplot_coordinates(short *pair_table, float *x, float *y)
Calculate nucleotide coordinates for Circular Plot
vrna_plot_layout_t * vrna_plot_layout_turtle(const char *structure)
Create a layout (coordinates, etc.) for a secondary structure plot using the Turtle Algorithm ...
Definition: layouts.h:88
Options data structure for RNApuzzler algorithm implementation.
Definition: RNApuzzler.h:20
int vrna_plot_coords_circular_pt(const short *pt, float **x, float **y)
Compute nucleotide coordinates for a Circular Plot
int rna_plot_type
Switch for changing the secondary structure layout algorithm.
int simple_xy_coordinates(short *pair_table, float *X, float *Y)
Calculate nucleotide coordinates for secondary structure plot the Simple way
int vrna_plot_coords(const char *structure, float **x, float **y, int plot_type)
Compute nucleotide coordinates for secondary structure plot.
vrna_plot_layout_t * vrna_plot_layout_simple(const char *structure)
Create a layout (coordinates, etc.) for a simple secondary structure plot.
vrna_plot_layout_t * vrna_plot_layout_puzzler(const char *structure, vrna_plot_options_puzzler_t *options)
Create a layout (coordinates, etc.) for a secondary structure plot using the RNApuzzler Algorithm ...
void vrna_plot_layout_free(vrna_plot_layout_t *layout)
Free memory occupied by a figure layout data structure.