RNAlib-2.2.0-RC3
Functions for Creating RNA Secondary Structures Plots, Dot-Plots, and More
+ Collaboration diagram for Functions for Creating RNA Secondary Structures Plots, Dot-Plots, and More:

Files

file  naview.h
 
file  plot_layouts.h
 Secondary structure plot layout algorithms.
 
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...
 

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 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_rna_plot (char *string, char *structure, char *file)
 Produce a secondary structure graph in PostScript and write it to 'filename'. More...
 
int PS_rna_plot_a (char *string, char *structure, char *file, char *pre, char *post)
 Produce a secondary structure graph in PostScript including additional annotation macros and write it to 'filename'. More...
 
int gmlRNA (char *string, char *structure, char *ssfile, char option)
 Produce a secondary structure graph in Graph Meta Language (gml) and write it to a file. More...
 
int ssv_rna_plot (char *string, char *structure, char *ssfile)
 Produce a secondary structure graph in SStructView format. More...
 
int svg_rna_plot (char *string, char *structure, char *ssfile)
 Produce a secondary structure plot in SVG format and write it to a file. More...
 
int xrna_plot (char *string, char *structure, char *ssfile)
 Produce a secondary structure plot for further editing in XRNA. 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 aliPS_color_aln (const char *structure, const char *filename, const char *seqs[], const char *names[])
 
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...
 

Detailed Description

Macro Definition Documentation

#define VRNA_PLOT_TYPE_SIMPLE   0

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, PS_rna_plot_a(), PS_rna_plot(), svg_rna_plot(), gmlRNA(), ssv_rna_plot(), xrna_plot()
#define VRNA_PLOT_TYPE_NAVIEW   1

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, PS_rna_plot_a(), PS_rna_plot(), svg_rna_plot(), gmlRNA(), ssv_rna_plot(), xrna_plot()
#define VRNA_PLOT_TYPE_CIRCULAR   2

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, PS_rna_plot_a(), PS_rna_plot(), svg_rna_plot(), gmlRNA(), ssv_rna_plot(), xrna_plot()

Function Documentation

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

Calculate nucleotide coordinates for secondary structure plot the Simple way

See also
make_pair_table(), rna_plot_type, simple_circplot_coordinates(), naview_xy_coordinates(), PS_rna_plot_a(), PS_rna_plot, 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
int simple_circplot_coordinates ( short *  pair_table,
float *  x,
float *  y 
)

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(), PS_rna_plot_a(), PS_rna_plot, 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
int PS_rna_plot ( char *  string,
char *  structure,
char *  file 
)

Produce a secondary structure graph in PostScript and write it to 'filename'.

Note that this function has changed from previous versions and now expects the structure to be plotted in dot-bracket notation as an argument. It does not make use of the global base_pair array anymore.

Parameters
stringThe RNA sequence
structureThe secondary structure in dot-bracket notation
fileThe filename of the postscript output
Returns
1 on success, 0 otherwise
int PS_rna_plot_a ( char *  string,
char *  structure,
char *  file,
char *  pre,
char *  post 
)

Produce a secondary structure graph in PostScript including additional annotation macros and write it to 'filename'.

Same as PS_rna_plot() but adds extra PostScript macros for various annotations (see generated PS code). The 'pre' and 'post' variables contain PostScript code that is verbatim copied in the resulting PS file just before and after the structure plot. If both arguments ('pre' and 'post') are NULL, no additional macros will be printed into the PostScript.

Parameters
stringThe RNA sequence
structureThe secondary structure in dot-bracket notation
fileThe filename of the postscript output
prePostScript code to appear before the secondary structure plot
postPostScript code to appear after the secondary structure plot
Returns
1 on success, 0 otherwise
int gmlRNA ( char *  string,
char *  structure,
char *  ssfile,
char  option 
)

Produce a secondary structure graph in Graph Meta Language (gml) and write it to a file.

If 'option' is an uppercase letter the RNA sequence is used to label nodes, if 'option' equals 'X' or 'x' the resulting file will coordinates for an initial layout of the graph.

Parameters
stringThe RNA sequence
structureThe secondary structure in dot-bracket notation
ssfileThe filename of the gml output
optionThe option flag
Returns
1 on success, 0 otherwise
int ssv_rna_plot ( char *  string,
char *  structure,
char *  ssfile 
)

Produce a secondary structure graph in SStructView format.

Write coord file for SStructView

Parameters
stringThe RNA sequence
structureThe secondary structure in dot-bracket notation
ssfileThe filename of the ssv output
Returns
1 on success, 0 otherwise
int svg_rna_plot ( char *  string,
char *  structure,
char *  ssfile 
)

Produce a secondary structure plot in SVG format and write it to a file.

Parameters
stringThe RNA sequence
structureThe secondary structure in dot-bracket notation
ssfileThe filename of the svg output
Returns
1 on success, 0 otherwise
int xrna_plot ( char *  string,
char *  structure,
char *  ssfile 
)

Produce a secondary structure plot for further editing in XRNA.

Parameters
stringThe RNA sequence
structureThe secondary structure in dot-bracket notation
ssfileThe filename of the xrna output
Returns
1 on success, 0 otherwise
int PS_dot_plot_list ( char *  seq,
char *  filename,
plist pl,
plist mf,
char *  comment 
)

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
int aliPS_color_aln ( const char *  structure,
const char *  filename,
const char *  seqs[],
const char *  names[] 
)

PS_color_aln for duplexes

int PS_dot_plot ( char *  string,
char *  file 
)

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

int rna_plot_type

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 Bruccoleri & Heinrich (1988).

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