RNAlib-2.4.4
Functions for Creating Secondary Structure Plots, Dot-Plots, and More

Detailed Description

+ Collaboration diagram for Functions for Creating Secondary Structure Plots, Dot-Plots, and More:

Modules

 Functions to generate annotations for Secondary Structure Plots, Dot-Plots, and Others
 

Files

file  naview.h
 
file  plot_aln.h
 Various functions for plotting Sequence / Structure Alignments.
 
file  plot_layouts.h
 Secondary structure plot layout algorithms.
 
file  plot_structure.h
 Various functions for plotting RNA secondary structures.
 
file  plot_utils.h
 Various utilities to assist in plotting secondary structures and consensus structures.
 
file  PS_dot.h
 Various functions for plotting RNA secondary structures, dot-plots and other visualizations.
 

Data Structures

struct  COORDINATE
 this is a workarround for the SWIG Perl Wrapper RNA plot function that returns an array of type COORDINATE More...
 
struct  vrna_dotplot_auxdata_t
 

Macros

#define VRNA_PLOT_TYPE_SIMPLE   0
 Definition of Plot type simple More...
 
#define VRNA_PLOT_TYPE_NAVIEW   1
 Definition of Plot type Naview More...
 
#define VRNA_PLOT_TYPE_CIRCULAR   2
 Definition of Plot type Circular More...
 

Functions

int PS_color_aln (const char *structure, const char *filename, const char *seqs[], const char *names[])
 Produce PostScript sequence alignment color-annotated by consensus structure.
 
int aliPS_color_aln (const char *structure, const char *filename, const char *seqs[], const char *names[])
 
int simple_xy_coordinates (short *pair_table, float *X, float *Y)
 Calculate nucleotide coordinates for secondary structure plot the Simple way More...
 
int simple_circplot_coordinates (short *pair_table, float *x, float *y)
 Calculate nucleotide coordinates for Circular Plot More...
 
int PS_dot_plot_list (char *seq, char *filename, plist *pl, plist *mf, char *comment)
 Produce a postscript dot-plot from two pair lists. More...
 
int PS_dot_plot (char *string, char *file)
 Produce postscript dot-plot. More...
 

Variables

int rna_plot_type
 Switch for changing the secondary structure layout algorithm. More...
 

Data Structure Documentation

◆ COORDINATE

struct COORDINATE

this is a workarround for the SWIG Perl Wrapper RNA plot function that returns an array of type COORDINATE

◆ vrna_dotplot_auxdata_t

struct vrna_dotplot_auxdata_t
+ Collaboration diagram for vrna_dotplot_auxdata_t:

Macro Definition Documentation

◆ VRNA_PLOT_TYPE_SIMPLE

#define VRNA_PLOT_TYPE_SIMPLE   0

#include <ViennaRNA/plot_layouts.h>

Definition of Plot type simple

This is the plot type definition for several RNA structure plotting functions telling them to use Simple plotting algorithm

See also
rna_plot_type, vrna_file_PS_rnaplot_a(), vrna_file_PS_rnaplot(), svg_rna_plot(), gmlRNA(), ssv_rna_plot(), xrna_plot()

◆ VRNA_PLOT_TYPE_NAVIEW

#define VRNA_PLOT_TYPE_NAVIEW   1

#include <ViennaRNA/plot_layouts.h>

Definition of Plot type Naview

This is the plot type definition for several RNA structure plotting functions telling them to use Naview plotting algorithm

See also
rna_plot_type, vrna_file_PS_rnaplot_a(), vrna_file_PS_rnaplot(), svg_rna_plot(), gmlRNA(), ssv_rna_plot(), xrna_plot()

◆ VRNA_PLOT_TYPE_CIRCULAR

#define VRNA_PLOT_TYPE_CIRCULAR   2

#include <ViennaRNA/plot_layouts.h>

Definition of Plot type Circular

This is the plot type definition for several RNA structure plotting functions telling them to produce a Circular plot

See also
rna_plot_type, vrna_file_PS_rnaplot_a(), vrna_file_PS_rnaplot(), svg_rna_plot(), gmlRNA(), ssv_rna_plot(), xrna_plot()

Function Documentation

◆ aliPS_color_aln()

int aliPS_color_aln ( const char *  structure,
const char *  filename,
const char *  seqs[],
const char *  names[] 
)

#include <ViennaRNA/plot_aln.h>

PS_color_aln for duplexes

◆ simple_xy_coordinates()

int simple_xy_coordinates ( short *  pair_table,
float *  X,
float *  Y 
)

#include <ViennaRNA/plot_layouts.h>

Calculate nucleotide coordinates for secondary structure plot the Simple way

See also
make_pair_table(), rna_plot_type, simple_circplot_coordinates(), naview_xy_coordinates(), vrna_file_PS_rnaplot_a(), vrna_file_PS_rnaplot, svg_rna_plot()
Parameters
pair_tableThe pair table of the secondary structure
Xa pointer to an array with enough allocated space to hold the x coordinates
Ya pointer to an array with enough allocated space to hold the y coordinates
Returns
length of sequence on success, 0 otherwise

◆ simple_circplot_coordinates()

int simple_circplot_coordinates ( short *  pair_table,
float *  x,
float *  y 
)

#include <ViennaRNA/plot_layouts.h>

Calculate nucleotide coordinates for Circular Plot

This function calculates the coordinates of nucleotides mapped in equal distancies onto a unit circle.

Note
In order to draw nice arcs using quadratic bezier curves that connect base pairs one may calculate a second tangential point $P^t$ in addition to the actual R2 coordinates. the simplest way to do so may be to compute a radius scaling factor $rs$ in the interval $[0,1]$ 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 $P^t$, i.e. $ P^{t}_x[i] = X[i] * rs$ and $P^{t}_y[i] = Y[i] * rs$.
See also
make_pair_table(), rna_plot_type, simple_xy_coordinates(), naview_xy_coordinates(), vrna_file_PS_rnaplot_a(), vrna_file_PS_rnaplot, svg_rna_plot()
Parameters
pair_tableThe pair table of the secondary structure
xa pointer to an array with enough allocated space to hold the x coordinates
ya pointer to an array with enough allocated space to hold the y coordinates
Returns
length of sequence on success, 0 otherwise

◆ PS_dot_plot_list()

int PS_dot_plot_list ( char *  seq,
char *  filename,
plist pl,
plist mf,
char *  comment 
)

#include <ViennaRNA/PS_dot.h>

Produce a postscript dot-plot from two pair lists.

This function reads two plist structures (e.g. base pair probabilities and a secondary structure) as produced by assign_plist_from_pr() and assign_plist_from_db() and produces a postscript "dot plot" that is written to 'filename'.
Using base pair probabilities in the first and mfe structure in the second plist, the resulting "dot plot" represents each base pairing probability by a square of corresponding area in a upper triangle matrix. The lower part of the matrix contains the minimum free energy structure.

See also
assign_plist_from_pr(), assign_plist_from_db()
Parameters
seqThe RNA sequence
filenameA filename for the postscript output
plThe base pair probability pairlist
mfThe mfe secondary structure pairlist
commentA comment
Returns
1 if postscript was successfully written, 0 otherwise

◆ PS_dot_plot()

int PS_dot_plot ( char *  string,
char *  file 
)

#include <ViennaRNA/PS_dot.h>

Produce postscript dot-plot.

Wrapper to PS_dot_plot_list

Reads base pair probabilities produced by pf_fold() from the global array pr and the pair list base_pair produced by fold() and produces a postscript "dot plot" that is written to 'filename'. The "dot plot" represents each base pairing probability by a square of corresponding area in a upper triangle matrix. The lower part of the matrix contains the minimum free energy

Note
DO NOT USE THIS FUNCTION ANYMORE SINCE IT IS NOT THREADSAFE
Deprecated:
This function is deprecated and will be removed soon! Use PS_dot_plot_list() instead!

Variable Documentation

◆ rna_plot_type

int rna_plot_type

#include <ViennaRNA/plot_layouts.h>

Switch for changing the secondary structure layout algorithm.

Current possibility are 0 for a simple radial drawing or 1 for the modified radial drawing taken from the naview program of [3].

Note
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!
See also
VRNA_PLOT_TYPE_SIMPLE, VRNA_PLOT_TYPE_NAVIEW, VRNA_PLOT_TYPE_CIRCULAR