--- /dev/null
+#ifndef __VIENNA_RNA_PACKAGE_PS_DOT_H__
+#define __VIENNA_RNA_PACKAGE_PS_DOT_H__
+
+#include "data_structures.h"
+#include "plot_layouts.h"
+
+#ifdef __GNUC__
+#define DEPRECATED(func) func __attribute__ ((deprecated))
+#else
+#define DEPRECATED(func) func
+#endif
+
+/**
+ * \file PS_dot.h
+ * \brief Various functions for plotting RNA secondary structures, dot-plots and other
+ * visualizations
+ */
+
+/* write PostScript drawing of structure to file with annotation */
+int PS_rna_plot_snoop_a(char *string,
+ char *structure,
+ char *ssfile,
+ int *relative_access,
+ const char *seqs[]);
+
+/**
+ * \brief 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.
+ *
+ * \param string The RNA sequence
+ * \param structure The secondary structure in dot-bracket notation
+ * \param file The filename of the postscript output
+ * \return 1 on success, 0 otherwise
+ */
+int PS_rna_plot(char *string,
+ char *structure,
+ char *file);
+
+/**
+ * \brief 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.
+ *
+ * \param string The RNA sequence
+ * \param structure The secondary structure in dot-bracket notation
+ * \param file The filename of the postscript output
+ * \param pre PostScript code to appear before the secondary structure plot
+ * \param post PostScript code to appear after the secondary structure plot
+ * \return 1 on success, 0 otherwise
+ */
+int PS_rna_plot_a(char *string,
+ char *structure,
+ char *file,
+ char *pre,
+ char *post);
+
+int PS_rna_plot_a_gquad(char *string,
+ char *structure,
+ char *ssfile,
+ char *pre,
+ char *post);
+
+/**
+ * \brief 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
+ * \a 'X' or \a 'x' the resulting file will coordinates for an initial layout of the graph.
+ *
+ * \param string The RNA sequence
+ * \param structure The secondary structure in dot-bracket notation
+ * \param ssfile The filename of the gml output
+ * \param option The option flag
+ * \return 1 on success, 0 otherwise
+ */
+int gmlRNA( char *string,
+ char *structure,
+ char *ssfile,
+ char option);
+
+/**
+ * \brief Produce a secondary structure graph in SStructView format
+ *
+ * Write coord file for SStructView
+ *
+ * \param string The RNA sequence
+ * \param structure The secondary structure in dot-bracket notation
+ * \param ssfile The filename of the ssv output
+ * \return 1 on success, 0 otherwise
+ */
+int ssv_rna_plot( char *string,
+ char *structure,
+ char *ssfile);
+
+/**
+ * \brief Produce a secondary structure plot in SVG format and write it to a file
+ *
+ * \param string The RNA sequence
+ * \param structure The secondary structure in dot-bracket notation
+ * \param ssfile The filename of the svg output
+ * \return 1 on success, 0 otherwise
+ */
+int svg_rna_plot( char *string,
+ char *structure,
+ char *ssfile);
+
+/**
+ * \brief Produce a secondary structure plot for further editing in XRNA
+ *
+ * \param string The RNA sequence
+ * \param structure The secondary structure in dot-bracket notation
+ * \param ssfile The filename of the xrna output
+ * \return 1 on success, 0 otherwise
+ */
+int xrna_plot(char *string,
+ char *structure,
+ char *ssfile);
+
+int PS_color_dot_plot(char *string,
+ cpair *pi,
+ char *filename);
+
+int PS_color_dot_plot_turn( char *seq,
+ cpair *pi,
+ char *filename,
+ int winSize);
+
+/**
+ * \brief 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'.\n
+ * 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 assign_plist_from_pr(), assign_plist_from_db()
+ *
+ * \param seq The RNA sequence
+ * \param filename A filename for the postscript output
+ * \param pl The base pair probability pairlist
+ * \param mf The mfe secondary structure pairlist
+ * \param comment A comment
+ * \return 1 if postscript was successfully written, 0 otherwise
+ */
+int PS_dot_plot_list( char *seq,
+ char *filename,
+ plist *pl,
+ plist *mf,
+ char *comment);
+
+int PS_dot_plot_turn( char *seq,
+ struct plist *pl,
+ char *filename,
+ int winSize);
+
+int PS_color_aln( const char *structure,
+ const char *filename,
+ const char *seqs[],
+ const char *names[]);
+
+/**
+ * PS_color_aln for duplexes
+*/
+int aliPS_color_aln(const char *structure,
+ const char *filename,
+ const char *seqs[],
+ const char *names[]);
+
+
+/**
+ * Wrapper to PS_dot_plot_list
+ *
+ * \brief Produce postscript dot-plot
+ *
+ * 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 \ref PS_dot_plot_list() instead!
+ */
+DEPRECATED(int PS_dot_plot( char *string,
+ char *file));
+#endif